From 4b6fdb1615f20d58e44c3e562f43cbd72dd30e0c Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 10:50:44 -0600 Subject: [PATCH 01/11] Issue #1: Restructure role into collection using content_collector. --- .tito/packages/.readme | 3 - .tito/packages/ansible-kubernetes-modules | 1 - .tito/releasers.conf | 30 - .tito/tito.props | 5 - .travis.yml | 34 - LICENSE | 811 ++++++++++++---- README.md | 4 +- ansible-kubernetes-modules.spec | 71 -- defaults/main.yml | 3 - galaxy.yml | 20 + library/k8s_apps_v1beta1_deployment.py | 580 ------------ library/k8s_apps_v1beta1_deployment_list.py | 165 ---- library/k8s_apps_v1beta1_scale.py | 148 --- library/k8s_extensions_v1beta1_deployment.py | 582 ------------ .../k8s_extensions_v1beta1_deployment_list.py | 165 ---- library/k8s_extensions_v1beta1_scale.py | 148 --- library/k8s_v1_binding.py | 175 ---- library/k8s_v1_cluster_role.py | 202 ---- library/k8s_v1_cluster_role_binding.py | 207 ----- library/k8s_v1_cluster_role_binding_list.py | 189 ---- library/k8s_v1_cluster_role_list.py | 197 ---- library/k8s_v1_component_status.py | 162 ---- library/k8s_v1_component_status_list.py | 157 ---- library/k8s_v1_config_map.py | 169 ---- library/k8s_v1_config_map_list.py | 163 ---- library/k8s_v1_endpoints.py | 250 ----- library/k8s_v1_endpoints_list.py | 241 ----- library/k8s_v1_event.py | 261 ------ library/k8s_v1_event_list.py | 195 ---- library/k8s_v1_horizontal_pod_autoscaler.py | 211 ----- .../k8s_v1_horizontal_pod_autoscaler_list.py | 165 ---- library/k8s_v1_job.py | 547 ----------- library/k8s_v1_job_list.py | 165 ---- library/k8s_v1_limit_range.py | 168 ---- library/k8s_v1_limit_range_list.py | 161 ---- library/k8s_v1_local_subject_access_review.py | 218 ----- library/k8s_v1_namespace.py | 224 ----- library/k8s_v1_namespace_list.py | 165 ---- library/k8s_v1_network_policy.py | 217 ----- library/k8s_v1_network_policy_list.py | 161 ---- library/k8s_v1_node.py | 250 ----- library/k8s_v1_node_list.py | 165 ---- library/k8s_v1_persistent_volume.py | 867 ------------------ library/k8s_v1_persistent_volume_claim.py | 222 ----- .../k8s_v1_persistent_volume_claim_list.py | 167 ---- library/k8s_v1_persistent_volume_list.py | 167 ---- library/k8s_v1_pod.py | 466 ---------- library/k8s_v1_pod_list.py | 166 ---- library/k8s_v1_pod_template.py | 484 ---------- library/k8s_v1_pod_template_list.py | 161 ---- library/k8s_v1_replication_controller.py | 517 ----------- library/k8s_v1_replication_controller_list.py | 170 ---- library/k8s_v1_resource_quota.py | 179 ---- library/k8s_v1_resource_quota_list.py | 165 ---- library/k8s_v1_role.py | 202 ---- library/k8s_v1_role_binding.py | 208 ----- library/k8s_v1_role_binding_list.py | 190 ---- library/k8s_v1_role_list.py | 197 ---- library/k8s_v1_scale.py | 148 --- library/k8s_v1_secret.py | 195 ---- library/k8s_v1_secret_list.py | 177 ---- library/k8s_v1_self_subject_access_review.py | 194 ---- library/k8s_v1_self_subject_rules_review.py | 145 --- library/k8s_v1_service.py | 360 -------- library/k8s_v1_service_account.py | 235 ----- library/k8s_v1_service_account_list.py | 217 ----- library/k8s_v1_service_list.py | 166 ---- library/k8s_v1_status.py | 184 ---- library/k8s_v1_storage_class.py | 206 ----- library/k8s_v1_storage_class_list.py | 183 ---- library/k8s_v1_subject_access_review.py | 217 ----- library/k8s_v1_token_review.py | 147 --- library/k8s_v1alpha1_cluster_role.py | 204 ----- library/k8s_v1alpha1_cluster_role_binding.py | 207 ----- .../k8s_v1alpha1_cluster_role_binding_list.py | 189 ---- library/k8s_v1alpha1_cluster_role_list.py | 199 ---- ...1_external_admission_hook_configuration.py | 223 ----- ...ernal_admission_hook_configuration_list.py | 218 ----- .../k8s_v1alpha1_initializer_configuration.py | 212 ----- ...v1alpha1_initializer_configuration_list.py | 207 ----- library/k8s_v1alpha1_pod_preset.py | 200 ---- library/k8s_v1alpha1_pod_preset_list.py | 159 ---- library/k8s_v1alpha1_priority_class.py | 187 ---- library/k8s_v1alpha1_priority_class_list.py | 172 ---- library/k8s_v1alpha1_role.py | 204 ----- library/k8s_v1alpha1_role_binding.py | 208 ----- library/k8s_v1alpha1_role_binding_list.py | 190 ---- library/k8s_v1alpha1_role_list.py | 199 ---- library/k8s_v1beta1_api_service.py | 223 ----- library/k8s_v1beta1_api_service_list.py | 162 ---- ...k8s_v1beta1_certificate_signing_request.py | 197 ---- ...1beta1_certificate_signing_request_list.py | 162 ---- library/k8s_v1beta1_cluster_role.py | 202 ---- library/k8s_v1beta1_cluster_role_binding.py | 207 ----- .../k8s_v1beta1_cluster_role_binding_list.py | 189 ---- library/k8s_v1beta1_cluster_role_list.py | 197 ---- library/k8s_v1beta1_controller_revision.py | 175 ---- .../k8s_v1beta1_controller_revision_list.py | 165 ---- library/k8s_v1beta1_cron_job.py | 616 ------------- library/k8s_v1beta1_cron_job_list.py | 165 ---- .../k8s_v1beta1_custom_resource_definition.py | 283 ------ ...v1beta1_custom_resource_definition_list.py | 163 ---- library/k8s_v1beta1_daemon_set.py | 549 ----------- library/k8s_v1beta1_daemon_set_list.py | 166 ---- library/k8s_v1beta1_eviction.py | 182 ---- library/k8s_v1beta1_ingress.py | 193 ---- library/k8s_v1beta1_ingress_list.py | 165 ---- ...k8s_v1beta1_local_subject_access_review.py | 218 ----- library/k8s_v1beta1_network_policy.py | 216 ----- library/k8s_v1beta1_network_policy_list.py | 161 ---- library/k8s_v1beta1_pod_disruption_budget.py | 199 ---- .../k8s_v1beta1_pod_disruption_budget_list.py | 162 ---- library/k8s_v1beta1_pod_security_policy.py | 317 ------- .../k8s_v1beta1_pod_security_policy_list.py | 161 ---- library/k8s_v1beta1_replica_set.py | 532 ----------- library/k8s_v1beta1_replica_set_list.py | 167 ---- library/k8s_v1beta1_role.py | 202 ---- library/k8s_v1beta1_role_binding.py | 219 ----- library/k8s_v1beta1_role_binding_list.py | 190 ---- library/k8s_v1beta1_role_list.py | 197 ---- .../k8s_v1beta1_self_subject_access_review.py | 194 ---- .../k8s_v1beta1_self_subject_rules_review.py | 145 --- library/k8s_v1beta1_stateful_set.py | 579 ------------ library/k8s_v1beta1_stateful_set_list.py | 163 ---- library/k8s_v1beta1_storage_class.py | 206 ----- library/k8s_v1beta1_storage_class_list.py | 183 ---- library/k8s_v1beta1_subject_access_review.py | 217 ----- library/k8s_v1beta1_token_review.py | 147 --- library/k8s_v1beta2_controller_revision.py | 175 ---- .../k8s_v1beta2_controller_revision_list.py | 165 ---- library/k8s_v1beta2_daemon_set.py | 542 ----------- library/k8s_v1beta2_daemon_set_list.py | 166 ---- library/k8s_v1beta2_deployment.py | 574 ------------ library/k8s_v1beta2_deployment_list.py | 165 ---- library/k8s_v1beta2_replica_set.py | 521 ----------- library/k8s_v1beta2_replica_set_list.py | 167 ---- library/k8s_v1beta2_scale.py | 148 --- library/k8s_v1beta2_stateful_set.py | 564 ------------ library/k8s_v1beta2_stateful_set_list.py | 163 ---- library/k8s_v2alpha1_cron_job.py | 616 ------------- library/k8s_v2alpha1_cron_job_list.py | 165 ---- .../k8s_v2beta1_horizontal_pod_autoscaler.py | 207 ----- ..._v2beta1_horizontal_pod_autoscaler_list.py | 165 ---- ...shift_v1_applied_cluster_resource_quota.py | 177 ---- ..._v1_applied_cluster_resource_quota_list.py | 141 --- .../openshift_v1_broker_template_instance.py | 251 ----- ...nshift_v1_broker_template_instance_list.py | 161 ---- library/openshift_v1_build.py | 673 -------------- library/openshift_v1_build_config.py | 696 -------------- library/openshift_v1_build_config_list.py | 166 ---- library/openshift_v1_build_list.py | 165 ---- library/openshift_v1_build_request.py | 363 -------- library/openshift_v1_cluster_network.py | 214 ----- library/openshift_v1_cluster_network_list.py | 193 ---- .../openshift_v1_cluster_resource_quota.py | 201 ---- ...penshift_v1_cluster_resource_quota_list.py | 165 ---- library/openshift_v1_cluster_role.py | 222 ----- library/openshift_v1_cluster_role_binding.py | 281 ------ .../openshift_v1_cluster_role_binding_list.py | 224 ----- library/openshift_v1_cluster_role_list.py | 210 ----- library/openshift_v1_controller_revision.py | 175 ---- .../openshift_v1_controller_revision_list.py | 165 ---- library/openshift_v1_daemon_set.py | 542 ----------- library/openshift_v1_daemon_set_list.py | 166 ---- library/openshift_v1_deployment.py | 606 ------------ library/openshift_v1_deployment_config.py | 687 -------------- .../openshift_v1_deployment_config_list.py | 165 ---- ...openshift_v1_deployment_config_rollback.py | 200 ---- library/openshift_v1_deployment_list.py | 165 ---- library/openshift_v1_egress_network_policy.py | 168 ---- ...openshift_v1_egress_network_policy_list.py | 161 ---- library/openshift_v1_group.py | 167 ---- library/openshift_v1_group_list.py | 162 ---- library/openshift_v1_host_subnet.py | 193 ---- library/openshift_v1_host_subnet_list.py | 178 ---- library/openshift_v1_identity.py | 223 ----- library/openshift_v1_identity_list.py | 176 ---- library/openshift_v1_image.py | 332 ------- library/openshift_v1_image_list.py | 294 ------ library/openshift_v1_image_signature.py | 268 ------ library/openshift_v1_image_stream.py | 190 ---- library/openshift_v1_image_stream_image.py | 228 ----- library/openshift_v1_image_stream_import.py | 231 ----- library/openshift_v1_image_stream_list.py | 165 ---- library/openshift_v1_image_stream_mapping.py | 235 ----- library/openshift_v1_image_stream_tag.py | 410 --------- library/openshift_v1_image_stream_tag_list.py | 212 ----- library/openshift_v1_net_namespace.py | 191 ---- library/openshift_v1_net_namespace_list.py | 175 ---- library/openshift_v1_o_auth_access_token.py | 229 ----- .../openshift_v1_o_auth_access_token_list.py | 196 ---- .../openshift_v1_o_auth_authorize_token.py | 216 ----- ...penshift_v1_o_auth_authorize_token_list.py | 197 ---- library/openshift_v1_o_auth_client.py | 268 ------ ...penshift_v1_o_auth_client_authorization.py | 190 ---- ...ift_v1_o_auth_client_authorization_list.py | 175 ---- library/openshift_v1_o_auth_client_list.py | 221 ----- ...openshift_v1_pod_security_policy_review.py | 446 --------- ...pod_security_policy_self_subject_review.py | 437 --------- ...t_v1_pod_security_policy_subject_review.py | 451 --------- library/openshift_v1_project.py | 188 ---- library/openshift_v1_project_list.py | 165 ---- library/openshift_v1_replica_set.py | 521 ----------- library/openshift_v1_replica_set_list.py | 167 ---- library/openshift_v1_role.py | 208 ----- library/openshift_v1_role_binding.py | 281 ------ library/openshift_v1_role_binding_list.py | 224 ----- .../openshift_v1_role_binding_restriction.py | 206 ----- ...nshift_v1_role_binding_restriction_list.py | 161 ---- library/openshift_v1_role_list.py | 204 ----- library/openshift_v1_route.py | 304 ------ library/openshift_v1_route_list.py | 165 ---- ...enshift_v1_security_context_constraints.py | 434 --------- ...ft_v1_security_context_constraints_list.py | 280 ------ .../openshift_v1_self_subject_rules_review.py | 122 --- library/openshift_v1_stateful_set.py | 564 ------------ library/openshift_v1_stateful_set_list.py | 163 ---- library/openshift_v1_subject_rules_review.py | 134 --- library/openshift_v1_template.py | 250 ----- library/openshift_v1_template_instance.py | 263 ------ .../openshift_v1_template_instance_list.py | 165 ---- library/openshift_v1_template_list.py | 230 ----- library/openshift_v1_user.py | 187 ---- library/openshift_v1_user_identity_mapping.py | 230 ----- library/openshift_v1_user_list.py | 173 ---- library/openshift_v1beta1_event.py | 341 ------- library/openshift_v1beta1_event_list.py | 223 ----- ..._v1beta1_mutating_webhook_configuration.py | 238 ----- ...ta1_mutating_webhook_configuration_list.py | 234 ----- ...1beta1_validating_webhook_configuration.py | 238 ----- ...1_validating_webhook_configuration_list.py | 234 ----- meta/main.yml | 52 -- module_utils/README.md | 3 - module_utils/k8s_common.py | 313 ------- module_utils/openshift_common.py | 69 -- plugins/modules/__init__.py | 0 plugins/modules/_kubernetes.py | 18 + plugins/modules/k8s.py | 279 ++++++ plugins/modules/k8s_auth.py | 336 +++++++ plugins/modules/k8s_info.py | 179 ++++ plugins/modules/k8s_scale.py | 129 +++ plugins/modules/k8s_service.py | 267 ++++++ requirements.txt | 1 - tasks/main.yml | 10 - test/integration/targets/k8s/k8s/README.md | 23 + test/integration/targets/k8s/k8s/aliases | 2 + .../targets/k8s/k8s/defaults/main.yml | 32 + .../targets/k8s/k8s/files/crd-resource.yml | 20 + .../k8s/k8s/files/kuard-extra-property.yml | 21 + .../k8s/k8s/files/kuard-invalid-type.yml | 20 + .../targets/k8s/k8s/files/setup-crd.yml | 14 + .../integration/targets/k8s/k8s/meta/main.yml | 2 + .../targets/k8s/k8s/tasks/append_hash.yml | 68 ++ .../targets/k8s/k8s/tasks/apply.yml | 191 ++++ .../integration/targets/k8s/k8s/tasks/crd.yml | 71 ++ .../targets/k8s/k8s/tasks/delete.yml | 101 ++ .../targets/k8s/k8s/tasks/full_test.yml | 375 ++++++++ .../targets/k8s/k8s/tasks/lists.yml | 140 +++ .../targets/k8s/k8s/tasks/main.yml | 92 ++ .../k8s/k8s/tasks/older_openshift_fail.yml | 69 ++ .../targets/k8s/k8s/tasks/openshift.yml | 61 ++ .../k8s/k8s/tasks/validate_installed.yml | 125 +++ .../k8s/k8s/tasks/validate_not_installed.yml | 23 + .../targets/k8s/k8s/tasks/waiter.yml | 355 +++++++ tests/ansible.cfg | 4 - tests/inventory | 1 - .../hello-templates/files/deployment.yml | 43 - tests/roles/hello-templates/tasks/main.yml | 60 -- tests/roles/hello-world/tasks/main.yml | 96 -- tests/test.yml | 12 - 270 files changed, 3676 insertions(+), 54531 deletions(-) delete mode 100644 .tito/packages/.readme delete mode 100644 .tito/packages/ansible-kubernetes-modules delete mode 100644 .tito/releasers.conf delete mode 100644 .tito/tito.props delete mode 100644 .travis.yml delete mode 100644 ansible-kubernetes-modules.spec delete mode 100644 defaults/main.yml create mode 100644 galaxy.yml delete mode 100644 library/k8s_apps_v1beta1_deployment.py delete mode 100644 library/k8s_apps_v1beta1_deployment_list.py delete mode 100644 library/k8s_apps_v1beta1_scale.py delete mode 100644 library/k8s_extensions_v1beta1_deployment.py delete mode 100644 library/k8s_extensions_v1beta1_deployment_list.py delete mode 100644 library/k8s_extensions_v1beta1_scale.py delete mode 100644 library/k8s_v1_binding.py delete mode 100644 library/k8s_v1_cluster_role.py delete mode 100644 library/k8s_v1_cluster_role_binding.py delete mode 100644 library/k8s_v1_cluster_role_binding_list.py delete mode 100644 library/k8s_v1_cluster_role_list.py delete mode 100644 library/k8s_v1_component_status.py delete mode 100644 library/k8s_v1_component_status_list.py delete mode 100644 library/k8s_v1_config_map.py delete mode 100644 library/k8s_v1_config_map_list.py delete mode 100644 library/k8s_v1_endpoints.py delete mode 100644 library/k8s_v1_endpoints_list.py delete mode 100644 library/k8s_v1_event.py delete mode 100644 library/k8s_v1_event_list.py delete mode 100644 library/k8s_v1_horizontal_pod_autoscaler.py delete mode 100644 library/k8s_v1_horizontal_pod_autoscaler_list.py delete mode 100644 library/k8s_v1_job.py delete mode 100644 library/k8s_v1_job_list.py delete mode 100644 library/k8s_v1_limit_range.py delete mode 100644 library/k8s_v1_limit_range_list.py delete mode 100644 library/k8s_v1_local_subject_access_review.py delete mode 100644 library/k8s_v1_namespace.py delete mode 100644 library/k8s_v1_namespace_list.py delete mode 100644 library/k8s_v1_network_policy.py delete mode 100644 library/k8s_v1_network_policy_list.py delete mode 100644 library/k8s_v1_node.py delete mode 100644 library/k8s_v1_node_list.py delete mode 100644 library/k8s_v1_persistent_volume.py delete mode 100644 library/k8s_v1_persistent_volume_claim.py delete mode 100644 library/k8s_v1_persistent_volume_claim_list.py delete mode 100644 library/k8s_v1_persistent_volume_list.py delete mode 100644 library/k8s_v1_pod.py delete mode 100644 library/k8s_v1_pod_list.py delete mode 100644 library/k8s_v1_pod_template.py delete mode 100644 library/k8s_v1_pod_template_list.py delete mode 100644 library/k8s_v1_replication_controller.py delete mode 100644 library/k8s_v1_replication_controller_list.py delete mode 100644 library/k8s_v1_resource_quota.py delete mode 100644 library/k8s_v1_resource_quota_list.py delete mode 100644 library/k8s_v1_role.py delete mode 100644 library/k8s_v1_role_binding.py delete mode 100644 library/k8s_v1_role_binding_list.py delete mode 100644 library/k8s_v1_role_list.py delete mode 100644 library/k8s_v1_scale.py delete mode 100644 library/k8s_v1_secret.py delete mode 100644 library/k8s_v1_secret_list.py delete mode 100644 library/k8s_v1_self_subject_access_review.py delete mode 100644 library/k8s_v1_self_subject_rules_review.py delete mode 100644 library/k8s_v1_service.py delete mode 100644 library/k8s_v1_service_account.py delete mode 100644 library/k8s_v1_service_account_list.py delete mode 100644 library/k8s_v1_service_list.py delete mode 100644 library/k8s_v1_status.py delete mode 100644 library/k8s_v1_storage_class.py delete mode 100644 library/k8s_v1_storage_class_list.py delete mode 100644 library/k8s_v1_subject_access_review.py delete mode 100644 library/k8s_v1_token_review.py delete mode 100644 library/k8s_v1alpha1_cluster_role.py delete mode 100644 library/k8s_v1alpha1_cluster_role_binding.py delete mode 100644 library/k8s_v1alpha1_cluster_role_binding_list.py delete mode 100644 library/k8s_v1alpha1_cluster_role_list.py delete mode 100644 library/k8s_v1alpha1_external_admission_hook_configuration.py delete mode 100644 library/k8s_v1alpha1_external_admission_hook_configuration_list.py delete mode 100644 library/k8s_v1alpha1_initializer_configuration.py delete mode 100644 library/k8s_v1alpha1_initializer_configuration_list.py delete mode 100644 library/k8s_v1alpha1_pod_preset.py delete mode 100644 library/k8s_v1alpha1_pod_preset_list.py delete mode 100644 library/k8s_v1alpha1_priority_class.py delete mode 100644 library/k8s_v1alpha1_priority_class_list.py delete mode 100644 library/k8s_v1alpha1_role.py delete mode 100644 library/k8s_v1alpha1_role_binding.py delete mode 100644 library/k8s_v1alpha1_role_binding_list.py delete mode 100644 library/k8s_v1alpha1_role_list.py delete mode 100644 library/k8s_v1beta1_api_service.py delete mode 100644 library/k8s_v1beta1_api_service_list.py delete mode 100644 library/k8s_v1beta1_certificate_signing_request.py delete mode 100644 library/k8s_v1beta1_certificate_signing_request_list.py delete mode 100644 library/k8s_v1beta1_cluster_role.py delete mode 100644 library/k8s_v1beta1_cluster_role_binding.py delete mode 100644 library/k8s_v1beta1_cluster_role_binding_list.py delete mode 100644 library/k8s_v1beta1_cluster_role_list.py delete mode 100644 library/k8s_v1beta1_controller_revision.py delete mode 100644 library/k8s_v1beta1_controller_revision_list.py delete mode 100644 library/k8s_v1beta1_cron_job.py delete mode 100644 library/k8s_v1beta1_cron_job_list.py delete mode 100644 library/k8s_v1beta1_custom_resource_definition.py delete mode 100644 library/k8s_v1beta1_custom_resource_definition_list.py delete mode 100644 library/k8s_v1beta1_daemon_set.py delete mode 100644 library/k8s_v1beta1_daemon_set_list.py delete mode 100644 library/k8s_v1beta1_eviction.py delete mode 100644 library/k8s_v1beta1_ingress.py delete mode 100644 library/k8s_v1beta1_ingress_list.py delete mode 100644 library/k8s_v1beta1_local_subject_access_review.py delete mode 100644 library/k8s_v1beta1_network_policy.py delete mode 100644 library/k8s_v1beta1_network_policy_list.py delete mode 100644 library/k8s_v1beta1_pod_disruption_budget.py delete mode 100644 library/k8s_v1beta1_pod_disruption_budget_list.py delete mode 100644 library/k8s_v1beta1_pod_security_policy.py delete mode 100644 library/k8s_v1beta1_pod_security_policy_list.py delete mode 100644 library/k8s_v1beta1_replica_set.py delete mode 100644 library/k8s_v1beta1_replica_set_list.py delete mode 100644 library/k8s_v1beta1_role.py delete mode 100644 library/k8s_v1beta1_role_binding.py delete mode 100644 library/k8s_v1beta1_role_binding_list.py delete mode 100644 library/k8s_v1beta1_role_list.py delete mode 100644 library/k8s_v1beta1_self_subject_access_review.py delete mode 100644 library/k8s_v1beta1_self_subject_rules_review.py delete mode 100644 library/k8s_v1beta1_stateful_set.py delete mode 100644 library/k8s_v1beta1_stateful_set_list.py delete mode 100644 library/k8s_v1beta1_storage_class.py delete mode 100644 library/k8s_v1beta1_storage_class_list.py delete mode 100644 library/k8s_v1beta1_subject_access_review.py delete mode 100644 library/k8s_v1beta1_token_review.py delete mode 100644 library/k8s_v1beta2_controller_revision.py delete mode 100644 library/k8s_v1beta2_controller_revision_list.py delete mode 100644 library/k8s_v1beta2_daemon_set.py delete mode 100644 library/k8s_v1beta2_daemon_set_list.py delete mode 100644 library/k8s_v1beta2_deployment.py delete mode 100644 library/k8s_v1beta2_deployment_list.py delete mode 100644 library/k8s_v1beta2_replica_set.py delete mode 100644 library/k8s_v1beta2_replica_set_list.py delete mode 100644 library/k8s_v1beta2_scale.py delete mode 100644 library/k8s_v1beta2_stateful_set.py delete mode 100644 library/k8s_v1beta2_stateful_set_list.py delete mode 100644 library/k8s_v2alpha1_cron_job.py delete mode 100644 library/k8s_v2alpha1_cron_job_list.py delete mode 100644 library/k8s_v2beta1_horizontal_pod_autoscaler.py delete mode 100644 library/k8s_v2beta1_horizontal_pod_autoscaler_list.py delete mode 100644 library/openshift_v1_applied_cluster_resource_quota.py delete mode 100644 library/openshift_v1_applied_cluster_resource_quota_list.py delete mode 100644 library/openshift_v1_broker_template_instance.py delete mode 100644 library/openshift_v1_broker_template_instance_list.py delete mode 100644 library/openshift_v1_build.py delete mode 100644 library/openshift_v1_build_config.py delete mode 100644 library/openshift_v1_build_config_list.py delete mode 100644 library/openshift_v1_build_list.py delete mode 100644 library/openshift_v1_build_request.py delete mode 100644 library/openshift_v1_cluster_network.py delete mode 100644 library/openshift_v1_cluster_network_list.py delete mode 100644 library/openshift_v1_cluster_resource_quota.py delete mode 100644 library/openshift_v1_cluster_resource_quota_list.py delete mode 100644 library/openshift_v1_cluster_role.py delete mode 100644 library/openshift_v1_cluster_role_binding.py delete mode 100644 library/openshift_v1_cluster_role_binding_list.py delete mode 100644 library/openshift_v1_cluster_role_list.py delete mode 100644 library/openshift_v1_controller_revision.py delete mode 100644 library/openshift_v1_controller_revision_list.py delete mode 100644 library/openshift_v1_daemon_set.py delete mode 100644 library/openshift_v1_daemon_set_list.py delete mode 100644 library/openshift_v1_deployment.py delete mode 100644 library/openshift_v1_deployment_config.py delete mode 100644 library/openshift_v1_deployment_config_list.py delete mode 100644 library/openshift_v1_deployment_config_rollback.py delete mode 100644 library/openshift_v1_deployment_list.py delete mode 100644 library/openshift_v1_egress_network_policy.py delete mode 100644 library/openshift_v1_egress_network_policy_list.py delete mode 100644 library/openshift_v1_group.py delete mode 100644 library/openshift_v1_group_list.py delete mode 100644 library/openshift_v1_host_subnet.py delete mode 100644 library/openshift_v1_host_subnet_list.py delete mode 100644 library/openshift_v1_identity.py delete mode 100644 library/openshift_v1_identity_list.py delete mode 100644 library/openshift_v1_image.py delete mode 100644 library/openshift_v1_image_list.py delete mode 100644 library/openshift_v1_image_signature.py delete mode 100644 library/openshift_v1_image_stream.py delete mode 100644 library/openshift_v1_image_stream_image.py delete mode 100644 library/openshift_v1_image_stream_import.py delete mode 100644 library/openshift_v1_image_stream_list.py delete mode 100644 library/openshift_v1_image_stream_mapping.py delete mode 100644 library/openshift_v1_image_stream_tag.py delete mode 100644 library/openshift_v1_image_stream_tag_list.py delete mode 100644 library/openshift_v1_net_namespace.py delete mode 100644 library/openshift_v1_net_namespace_list.py delete mode 100644 library/openshift_v1_o_auth_access_token.py delete mode 100644 library/openshift_v1_o_auth_access_token_list.py delete mode 100644 library/openshift_v1_o_auth_authorize_token.py delete mode 100644 library/openshift_v1_o_auth_authorize_token_list.py delete mode 100644 library/openshift_v1_o_auth_client.py delete mode 100644 library/openshift_v1_o_auth_client_authorization.py delete mode 100644 library/openshift_v1_o_auth_client_authorization_list.py delete mode 100644 library/openshift_v1_o_auth_client_list.py delete mode 100644 library/openshift_v1_pod_security_policy_review.py delete mode 100644 library/openshift_v1_pod_security_policy_self_subject_review.py delete mode 100644 library/openshift_v1_pod_security_policy_subject_review.py delete mode 100644 library/openshift_v1_project.py delete mode 100644 library/openshift_v1_project_list.py delete mode 100644 library/openshift_v1_replica_set.py delete mode 100644 library/openshift_v1_replica_set_list.py delete mode 100644 library/openshift_v1_role.py delete mode 100644 library/openshift_v1_role_binding.py delete mode 100644 library/openshift_v1_role_binding_list.py delete mode 100644 library/openshift_v1_role_binding_restriction.py delete mode 100644 library/openshift_v1_role_binding_restriction_list.py delete mode 100644 library/openshift_v1_role_list.py delete mode 100644 library/openshift_v1_route.py delete mode 100644 library/openshift_v1_route_list.py delete mode 100644 library/openshift_v1_security_context_constraints.py delete mode 100644 library/openshift_v1_security_context_constraints_list.py delete mode 100644 library/openshift_v1_self_subject_rules_review.py delete mode 100644 library/openshift_v1_stateful_set.py delete mode 100644 library/openshift_v1_stateful_set_list.py delete mode 100644 library/openshift_v1_subject_rules_review.py delete mode 100644 library/openshift_v1_template.py delete mode 100644 library/openshift_v1_template_instance.py delete mode 100644 library/openshift_v1_template_instance_list.py delete mode 100644 library/openshift_v1_template_list.py delete mode 100644 library/openshift_v1_user.py delete mode 100644 library/openshift_v1_user_identity_mapping.py delete mode 100644 library/openshift_v1_user_list.py delete mode 100644 library/openshift_v1beta1_event.py delete mode 100644 library/openshift_v1beta1_event_list.py delete mode 100644 library/openshift_v1beta1_mutating_webhook_configuration.py delete mode 100644 library/openshift_v1beta1_mutating_webhook_configuration_list.py delete mode 100644 library/openshift_v1beta1_validating_webhook_configuration.py delete mode 100644 library/openshift_v1beta1_validating_webhook_configuration_list.py delete mode 100644 meta/main.yml delete mode 100644 module_utils/README.md delete mode 100644 module_utils/k8s_common.py delete mode 100644 module_utils/openshift_common.py create mode 100644 plugins/modules/__init__.py create mode 100644 plugins/modules/_kubernetes.py create mode 100644 plugins/modules/k8s.py create mode 100644 plugins/modules/k8s_auth.py create mode 100644 plugins/modules/k8s_info.py create mode 100644 plugins/modules/k8s_scale.py create mode 100644 plugins/modules/k8s_service.py delete mode 100644 requirements.txt delete mode 100644 tasks/main.yml create mode 100644 test/integration/targets/k8s/k8s/README.md create mode 100644 test/integration/targets/k8s/k8s/aliases create mode 100644 test/integration/targets/k8s/k8s/defaults/main.yml create mode 100644 test/integration/targets/k8s/k8s/files/crd-resource.yml create mode 100644 test/integration/targets/k8s/k8s/files/kuard-extra-property.yml create mode 100644 test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml create mode 100644 test/integration/targets/k8s/k8s/files/setup-crd.yml create mode 100644 test/integration/targets/k8s/k8s/meta/main.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/append_hash.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/apply.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/crd.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/delete.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/full_test.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/lists.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/main.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/openshift.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/validate_installed.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml create mode 100644 test/integration/targets/k8s/k8s/tasks/waiter.yml delete mode 100644 tests/ansible.cfg delete mode 100644 tests/inventory delete mode 100644 tests/roles/hello-templates/files/deployment.yml delete mode 100644 tests/roles/hello-templates/tasks/main.yml delete mode 100644 tests/roles/hello-world/tasks/main.yml delete mode 100644 tests/test.yml diff --git a/.tito/packages/.readme b/.tito/packages/.readme deleted file mode 100644 index b9411e2d..00000000 --- a/.tito/packages/.readme +++ /dev/null @@ -1,3 +0,0 @@ -the .tito/packages directory contains metadata files -named after their packages. Each file has the latest tagged -version and the project's relative directory. diff --git a/.tito/packages/ansible-kubernetes-modules b/.tito/packages/ansible-kubernetes-modules deleted file mode 100644 index 1f6d26a5..00000000 --- a/.tito/packages/ansible-kubernetes-modules +++ /dev/null @@ -1 +0,0 @@ -0.4.0-8 ./ diff --git a/.tito/releasers.conf b/.tito/releasers.conf deleted file mode 100644 index 66358882..00000000 --- a/.tito/releasers.conf +++ /dev/null @@ -1,30 +0,0 @@ -[asb-copr] -releaser = tito.release.CoprReleaser -project_name = @ansible-service-broker/ansible-service-broker-latest -upload_command = scp -4 %(srpm)s $fas_username@fedorapeople.org:/srv/repos/asb -remote_location = http://repos.fedorapeople.org/asb/ -copr_options = --timeout 600 - -[asb-copr-test] -releaser = tito.release.CoprReleaser -project_name = @ansible-service-broker/ansible-service-broker-nightly -upload_command = scp -4 %(srpm)s $fas_username@fedorapeople.org:/srv/repos/asb -remote_location = http://repos.fedorapeople.org/asb/ -copr_options = --timeout 600 -builder.test = 1 - -[asb-brew-36] -releaser = tito.release.DistGitReleaser -branches = rhaos-3.6-asb-rhel-7 - -[asb-brew-37] -releaser = tito.release.DistGitReleaser -branches = rhaos-3.7-asb-rhel-7 - -[asb-brew-38] -releaser = tito.release.DistGitReleaser -branches = rhaos-3.8-asb-rhel-7 - -[asb-brew-39] -releaser = tito.release.DistGitReleaser -branches = rhaos-3.9-asb-rhel-7 diff --git a/.tito/tito.props b/.tito/tito.props deleted file mode 100644 index 80fe6528..00000000 --- a/.tito/tito.props +++ /dev/null @@ -1,5 +0,0 @@ -[buildconfig] -builder = tito.builder.Builder -tagger = tito.tagger.ReleaseTagger -changelog_do_not_remove_cherrypick = 0 -changelog_format = %s (%ae) diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f8ed9547..00000000 --- a/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -language: python -python: "2.7" - -# Use the new container infrastructure -sudo: false - -# Install ansible -addons: - apt: - packages: - - python-pip - -install: - # Install prereqs - - pip install https://github.com/ansible/ansible/archive/devel.tar.gz - - pip install openshift - - pip list | grep openshift - - # Start OpenShift - - docker run --publish 8443:8443 -d --name openshift openshift/origin:v3.7.1 start master --listen https://0.0.0.0:8443 - - sleep 15 - - # Fetch a copy of the kube config file - - docker exec -it openshift cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig >tests/konfig.json - - - printf '[defaults]\nroles_path=../' >ansible.cfg - - echo "localhost ansible_connection=local ansible_python_interpreter=$(which python)">tests/inventory - -script: - - ansible-playbook -i tests/inventory -vvv tests/test.yml - -notifications: - webhooks: https://galaxy.ansible.com/api/v1/notifications/ diff --git a/LICENSE b/LICENSE index 8dada3ed..e72bfdda 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,674 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. - 1. Definitions. + Preamble - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + The GNU General Public License is a free, copyleft license for +software and other kinds of works. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + The precise terms and conditions for copying, distribution and +modification follow. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + TERMS AND CONDITIONS - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + 0. Definitions. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + "This License" refers to version 3 of the GNU General Public License. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. + A "covered work" means either the unmodified Program or a work based +on the Program. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. + 1. Source Code. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. - END OF TERMS AND CONDITIONS + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. - APPENDIX: How to apply the Apache License to your work. + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. - Copyright {yyyy} {name of copyright owner} + The Corresponding Source for a work in source code form is that +same work. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at + 2. Basic Permissions. - http://www.apache.org/licenses/LICENSE-2.0 + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/README.md b/README.md index 2a808334..4279bf2b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # Kubernetes Collection for Ansible -[![Build Status](https://travis-ci.org/ansible-collections/kubernetes.svg?branch=master)](https://travis-ci.org/ansible-collections/kubernetes) - This repo hosts the `community.kubernetes` Ansible Collection. As this is an independent Collection, it can be released on its own release cadence. @@ -16,4 +14,4 @@ For more information see `#ansible-community` on Freenode IRC, or the [Kubernete GNU General Public License v3.0 or later -See LICENCING to see the full text. +See LICENCE to see the full text. diff --git a/ansible-kubernetes-modules.spec b/ansible-kubernetes-modules.spec deleted file mode 100644 index 1234f0af..00000000 --- a/ansible-kubernetes-modules.spec +++ /dev/null @@ -1,71 +0,0 @@ -Name: ansible-kubernetes-modules -Version: 0.4.0 -Release: 8%{?dist} -Summary: Ansible role containing pre-release K8s modules -License: ASL 2.0 -URL: https://github.com/ansible/%{name} -Source0: https://github.com/ansible/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz - -BuildArch: noarch - -Requires: ansible >= 2.3.0.0 -Requires: python-openshift >= 0.4 - -%description -%{summary} - -%prep -%autosetup -p1 - -%build - -%install -mkdir -p %{buildroot}%{_sysconfdir}/ansible/roles/ansible.kubernetes-modules -mv * %{buildroot}%{_sysconfdir}/ansible/roles/ansible.kubernetes-modules - -%check - -%files -%{_sysconfdir}/ansible/roles/ansible.kubernetes-modules - -%changelog -* Fri Jan 19 2018 David Zager 0.4.0-8 -- when in checkmode _create returns None and cannot have to_dict() called (#27) - (trbs@users.noreply.github.com) -- Show openshift version (chousekn@redhat.com) -- Unpin openshift (chousekn@redhat.com) -- regen modules (fabian@fabianism.us) -- Pin openshift. Trying Origin 3.6.7. (chousekn@redhat.com) - -* Wed Jan 17 2018 David Zager 0.4.0-7 -- Bump package version for 4.x (david.j.zager@gmail.com) -- Update releasers (david.j.zager@gmail.com) -- update generated modules (#26) (fabian@fabianism.us) - -* Mon Oct 16 2017 Jason Montleon 0.3.1-6 -- Update to latest k8s_common (chousekn@redhat.com) - -* Fri Oct 13 2017 Jason Montleon 0.3.1-5 -- increment release - -* Fri Oct 13 2017 Jason Montleon 0.3.1-4 -- Bump version - -* Fri Oct 13 2017 Jason Montleon 0.3.1-3 -- add python-openshift rpm dependency (jmontleo@redhat.com) -- Travis file cleanup (#13) (chousekn@redhat.com) -- Removes -i inventory (chousekn@redhat.com) -- Removes ansible-galaxy install (chousekn@redhat.com) -- Regen modules. Add tests. (chousekn@redhat.com) -- Add Travis button (chousekn@redhat.com) -- Add simple module test (chousekn@redhat.com) -- Adds latest generated modules (chousekn@redhat.com) - -* Fri Oct 06 2017 Jason Montleon 0.3.1-2 -- new package built with tito - -* Fri Oct 06 2017 Jason Montleon -- new package built with tito - -* Fri May 12 2017 Jason Montleon - 0.0.1-1 -- initial package diff --git a/defaults/main.yml b/defaults/main.yml deleted file mode 100644 index b7836bc7..00000000 --- a/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -install_python_requirements: no -virtualenv: diff --git a/galaxy.yml b/galaxy.yml new file mode 100644 index 00000000..31382a5c --- /dev/null +++ b/galaxy.yml @@ -0,0 +1,20 @@ +authors: [] +dependencies: {} +description: Kubernetes Collection for Ansible. +documentation: '' +homepage: '' +issues: https://github.com/ansible-collections/kubernetes/issues +license_file: LICENSE +name: kubernetes +namespace: community +readme: README.md +repository: https://github.com/ansible-collections/kubernetes +tags: + - kubernetes + - k8s + - cloud + - infrastructure + - openshift + - okd + - cluster +version: 0.9.0 diff --git a/library/k8s_apps_v1beta1_deployment.py b/library/k8s_apps_v1beta1_deployment.py deleted file mode 100644 index 2482a9cc..00000000 --- a/library/k8s_apps_v1beta1_deployment.py +++ /dev/null @@ -1,580 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_apps_v1beta1_deployment -short_description: Kubernetes Deployment -description: -- Manage the lifecycle of a deployment object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_paused: - description: - - Indicates that the deployment is paused. - aliases: - - paused - type: bool - spec_progress_deadline_seconds: - description: - - The maximum time in seconds for a deployment to make progress before it is considered - to be failed. The deployment controller will continue to process failed deployments - and a condition with a ProgressDeadlineExceeded reason will be surfaced in the - deployment status. Note that progress will not be estimated during the time - a deployment is paused. Defaults to 600s. - aliases: - - progress_deadline_seconds - type: int - spec_replicas: - description: - - Number of desired pods. This is a pointer to distinguish between explicit zero - and not specified. Defaults to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - The number of old ReplicaSets to retain to allow rollback. This is a pointer - to distinguish between explicit zero and not specified. Defaults to 2. - aliases: - - revision_history_limit - type: int - spec_rollback_to_revision: - description: - - The revision to rollback to. If set to 0, rollback to the last revision. - aliases: - - rollback_to_revision - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_strategy_rolling_update_max_surge: - description: - - 'The maximum number of pods that can be scheduled above the desired number of - pods. Value can be an absolute number (ex: 5) or a percentage of desired pods - (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated - from percentage by rounding up. Defaults to 25%. Example: when this is set to - 30%, the new RC can be scaled up immediately when the rolling update starts, - such that the total number of old and new pods do not exceed 130% of desired - pods. Once old pods have been killed, new RC can be scaled up further, ensuring - that total number of pods running at any time during the update is atmost 130% - of desired pods.' - aliases: - - strategy_rolling_update_max_surge - type: object - spec_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of pods that can be unavailable during the update. Value - can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). - Absolute number is calculated from percentage by rounding down. This can not - be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the - old RC can be scaled down to 70% of desired pods immediately when the rolling - update starts. Once new pods are ready, old RC can be scaled down further, followed - by scaling up the new RC, ensuring that the total number of pods available at - all times during the update is at least 70% of desired pods.' - aliases: - - strategy_rolling_update_max_unavailable - type: object - spec_strategy_type: - description: - - Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. - aliases: - - strategy_type - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment', 'apps_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_apps_v1beta1_deployment_list.py b/library/k8s_apps_v1beta1_deployment_list.py deleted file mode 100644 index 31eb457c..00000000 --- a/library/k8s_apps_v1beta1_deployment_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_apps_v1beta1_deployment_list -short_description: Kubernetes DeploymentList -description: -- Retrieve a list of deployments. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Deployments. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment_list', 'apps_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_apps_v1beta1_scale.py b/library/k8s_apps_v1beta1_scale.py deleted file mode 100644 index 68320514..00000000 --- a/library/k8s_apps_v1beta1_scale.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_apps_v1beta1_scale -short_description: Kubernetes Scale -description: -- Manage the lifecycle of a scale object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_replicas: - description: - - desired number of instances for the scaled object. - aliases: - - replicas - type: int - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -scale: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - spec: - description: - - defines the behavior of the scale. - type: complex - status: - description: - - current status of the scale. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('scale', 'apps_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_extensions_v1beta1_deployment.py b/library/k8s_extensions_v1beta1_deployment.py deleted file mode 100644 index 130d67a8..00000000 --- a/library/k8s_extensions_v1beta1_deployment.py +++ /dev/null @@ -1,582 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_extensions_v1beta1_deployment -short_description: Kubernetes Deployment -description: -- Manage the lifecycle of a deployment object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_paused: - description: - - Indicates that the deployment is paused and will not be processed by the deployment - controller. - aliases: - - paused - type: bool - spec_progress_deadline_seconds: - description: - - The maximum time in seconds for a deployment to make progress before it is considered - to be failed. The deployment controller will continue to process failed deployments - and a condition with a ProgressDeadlineExceeded reason will be surfaced in the - deployment status. Note that progress will not be estimated during the time - a deployment is paused. This is not set by default. - aliases: - - progress_deadline_seconds - type: int - spec_replicas: - description: - - Number of desired pods. This is a pointer to distinguish between explicit zero - and not specified. Defaults to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - The number of old ReplicaSets to retain to allow rollback. This is a pointer - to distinguish between explicit zero and not specified. - aliases: - - revision_history_limit - type: int - spec_rollback_to_revision: - description: - - The revision to rollback to. If set to 0, rollback to the last revision. - aliases: - - rollback_to_revision - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_strategy_rolling_update_max_surge: - description: - - 'The maximum number of pods that can be scheduled above the desired number of - pods. Value can be an absolute number (ex: 5) or a percentage of desired pods - (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated - from percentage by rounding up. By default, a value of 1 is used. Example: when - this is set to 30%, the new RC can be scaled up immediately when the rolling - update starts, such that the total number of old and new pods do not exceed - 130% of desired pods. Once old pods have been killed, new RC can be scaled up - further, ensuring that total number of pods running at any time during the update - is atmost 130% of desired pods.' - aliases: - - strategy_rolling_update_max_surge - type: object - spec_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of pods that can be unavailable during the update. Value - can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). - Absolute number is calculated from percentage by rounding down. This can not - be 0 if MaxSurge is 0. By default, a fixed value of 1 is used. Example: when - this is set to 30%, the old RC can be scaled down to 70% of desired pods immediately - when the rolling update starts. Once new pods are ready, old RC can be scaled - down further, followed by scaling up the new RC, ensuring that the total number - of pods available at all times during the update is at least 70% of desired - pods.' - aliases: - - strategy_rolling_update_max_unavailable - type: object - spec_strategy_type: - description: - - Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. - aliases: - - strategy_type - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment', 'extensions_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_extensions_v1beta1_deployment_list.py b/library/k8s_extensions_v1beta1_deployment_list.py deleted file mode 100644 index 99f56b89..00000000 --- a/library/k8s_extensions_v1beta1_deployment_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_extensions_v1beta1_deployment_list -short_description: Kubernetes DeploymentList -description: -- Retrieve a list of deployments. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Deployments. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment_list', 'extensions_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_extensions_v1beta1_scale.py b/library/k8s_extensions_v1beta1_scale.py deleted file mode 100644 index 910cfdd8..00000000 --- a/library/k8s_extensions_v1beta1_scale.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_extensions_v1beta1_scale -short_description: Kubernetes Scale -description: -- Manage the lifecycle of a scale object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_replicas: - description: - - desired number of instances for the scaled object. - aliases: - - replicas - type: int - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -scale: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - spec: - description: - - defines the behavior of the scale. - type: complex - status: - description: - - current status of the scale. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('scale', 'extensions_v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_binding.py b/library/k8s_v1_binding.py deleted file mode 100644 index dd7fea0b..00000000 --- a/library/k8s_v1_binding.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_binding -short_description: Kubernetes Binding -description: -- Manage the lifecycle of a binding object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - target_api_version: - description: - - API version of the referent. - aliases: - - api_version - target_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - target_kind: - description: - - Kind of the referent. - aliases: - - kind - target_name: - description: - - Name of the referent. - target_namespace: - description: - - Namespace of the referent. - target_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - target_uid: - description: - - UID of the referent. - aliases: - - uid - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -binding: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - target: - description: - - The target object that you want to bind to the standard object. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('binding', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_cluster_role.py b/library/k8s_v1_cluster_role.py deleted file mode 100644 index 92cc733f..00000000 --- a/library/k8s_v1_cluster_role.py +++ /dev/null @@ -1,202 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_cluster_role -short_description: Kubernetes ClusterRole -description: -- Manage the lifecycle of a cluster_role object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable for - ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply - to API resources (such as "pods" or "secrets") or non-resource URL paths - (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_cluster_role_binding.py b/library/k8s_v1_cluster_role_binding.py deleted file mode 100644 index f260e0f4..00000000 --- a/library/k8s_v1_cluster_role_binding.py +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_cluster_role_binding -short_description: Kubernetes ClusterRoleBinding -description: -- Manage the lifecycle of a cluster_role_binding object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef - cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to "" - for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for - User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_cluster_role_binding_list.py b/library/k8s_v1_cluster_role_binding_list.py deleted file mode 100644 index 0e105a81..00000000 --- a/library/k8s_v1_cluster_role_binding_list.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_cluster_role_binding_list -short_description: Kubernetes ClusterRoleBindingList -description: -- Retrieve a list of cluster_role_bindings. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the - RoleRef cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to - "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_cluster_role_list.py b/library/k8s_v1_cluster_role_list.py deleted file mode 100644 index 7e59be6b..00000000 --- a/library/k8s_v1_cluster_role_list.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_cluster_role_list -short_description: Kubernetes ClusterRoleList -description: -- Retrieve a list of cluster_roles. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_component_status.py b/library/k8s_v1_component_status.py deleted file mode 100644 index 0e90b161..00000000 --- a/library/k8s_v1_component_status.py +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_component_status -short_description: Kubernetes ComponentStatus -description: -- Manage the lifecycle of a component_status object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - conditions: - description: - - List of component conditions observed - type: list - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -component_status: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - conditions: - description: - - List of component conditions observed - type: list - contains: - error: - description: - - Condition error code for a component. For example, a health check error - code. - type: str - message: - description: - - Message about the condition for a component. For example, information - about a health check. - type: str - status: - description: - - 'Status of the condition for a component. Valid values for "Healthy": - "True", "False", or "Unknown".' - type: str - type: - description: - - 'Type of condition for a component. Valid value: "Healthy"' - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('component_status', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_component_status_list.py b/library/k8s_v1_component_status_list.py deleted file mode 100644 index 4c0809bf..00000000 --- a/library/k8s_v1_component_status_list.py +++ /dev/null @@ -1,157 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_component_status_list -short_description: Kubernetes ComponentStatusList -description: -- Retrieve a list of component_status. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -component_status_list: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ComponentStatus objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - conditions: - description: - - List of component conditions observed - type: list - contains: - error: - description: - - Condition error code for a component. For example, a health check - error code. - type: str - message: - description: - - Message about the condition for a component. For example, information - about a health check. - type: str - status: - description: - - 'Status of the condition for a component. Valid values for "Healthy": - "True", "False", or "Unknown".' - type: str - type: - description: - - 'Type of condition for a component. Valid value: "Healthy"' - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('component_status_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_config_map.py b/library/k8s_v1_config_map.py deleted file mode 100644 index e9a2d97b..00000000 --- a/library/k8s_v1_config_map.py +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_config_map -short_description: Kubernetes ConfigMap -description: -- Manage the lifecycle of a config_map object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - data: - description: - - Data contains the configuration data. Each key must consist of alphanumeric - characters, '-', '_' or '.'. - type: dict - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -config_map: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - data: - description: - - Data contains the configuration data. Each key must consist of alphanumeric - characters, '-', '_' or '.'. - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('config_map', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_config_map_list.py b/library/k8s_v1_config_map_list.py deleted file mode 100644 index a0a8b18b..00000000 --- a/library/k8s_v1_config_map_list.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_config_map_list -short_description: Kubernetes ConfigMapList -description: -- Retrieve a list of config_maps. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -config_map_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of ConfigMaps. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - data: - description: - - Data contains the configuration data. Each key must consist of alphanumeric - characters, '-', '_' or '.'. - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - '' - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('config_map_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_endpoints.py b/library/k8s_v1_endpoints.py deleted file mode 100644 index ce296dc4..00000000 --- a/library/k8s_v1_endpoints.py +++ /dev/null @@ -1,250 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_endpoints -short_description: Kubernetes Endpoints -description: -- Manage the lifecycle of a endpoints object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subsets: - description: - - The set of all endpoints is the union of all subsets. Addresses are placed into - subsets according to the IPs they share. A single address with multiple ports, - some of which are ready and some of which are not (because they come from different - containers) will result in the address being displayed in different subsets - for the different ports. No address will appear in both Addresses and NotReadyAddresses - in the same subset. Sets of addresses and ports that comprise a service. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -endpoints: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - subsets: - description: - - The set of all endpoints is the union of all subsets. Addresses are placed - into subsets according to the IPs they share. A single address with multiple - ports, some of which are ready and some of which are not (because they come - from different containers) will result in the address being displayed in different - subsets for the different ports. No address will appear in both Addresses - and NotReadyAddresses in the same subset. Sets of addresses and ports that - comprise a service. - type: list - contains: - addresses: - description: - - IP addresses which offer the related ports that are marked as ready. These - endpoints should be considered safe for load balancers and clients to - utilize. - type: list - contains: - hostname: - description: - - The Hostname of this endpoint - type: str - ip: - description: - - The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local - (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is - also accepted but not fully supported on all platforms. Also, certain - kubernetes components, like kube-proxy, are not IPv6 ready. - type: str - node_name: - description: - - 'Optional: Node hosting this endpoint. This can be used to determine - endpoints local to a node.' - type: str - target_ref: - description: - - Reference to object providing the endpoint. - type: complex - not_ready_addresses: - description: - - IP addresses which offer the related ports but are not currently marked - as ready because they have not yet finished starting, have recently failed - a readiness check, or have recently failed a liveness check. - type: list - contains: - hostname: - description: - - The Hostname of this endpoint - type: str - ip: - description: - - The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local - (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is - also accepted but not fully supported on all platforms. Also, certain - kubernetes components, like kube-proxy, are not IPv6 ready. - type: str - node_name: - description: - - 'Optional: Node hosting this endpoint. This can be used to determine - endpoints local to a node.' - type: str - target_ref: - description: - - Reference to object providing the endpoint. - type: complex - ports: - description: - - Port numbers available on the related IP addresses. - type: list - contains: - name: - description: - - The name of this port (corresponds to ServicePort.Name). Must be a - DNS_LABEL. Optional only if one port is defined. - type: str - port: - description: - - The port number of the endpoint. - type: int - protocol: - description: - - The IP protocol for this port. Must be UDP or TCP. Default is TCP. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('endpoints', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_endpoints_list.py b/library/k8s_v1_endpoints_list.py deleted file mode 100644 index 1a032c3a..00000000 --- a/library/k8s_v1_endpoints_list.py +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_endpoints_list -short_description: Kubernetes EndpointsList -description: -- Retrieve a list of endpoints. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -endpoints_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of endpoints. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - subsets: - description: - - The set of all endpoints is the union of all subsets. Addresses are placed - into subsets according to the IPs they share. A single address with multiple - ports, some of which are ready and some of which are not (because they - come from different containers) will result in the address being displayed - in different subsets for the different ports. No address will appear in - both Addresses and NotReadyAddresses in the same subset. Sets of addresses - and ports that comprise a service. - type: list - contains: - addresses: - description: - - IP addresses which offer the related ports that are marked as ready. - These endpoints should be considered safe for load balancers and clients - to utilize. - type: list - contains: - hostname: - description: - - The Hostname of this endpoint - type: str - ip: - description: - - The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local - (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 - is also accepted but not fully supported on all platforms. Also, - certain kubernetes components, like kube-proxy, are not IPv6 ready. - type: str - node_name: - description: - - 'Optional: Node hosting this endpoint. This can be used to determine - endpoints local to a node.' - type: str - target_ref: - description: - - Reference to object providing the endpoint. - type: complex - not_ready_addresses: - description: - - IP addresses which offer the related ports but are not currently marked - as ready because they have not yet finished starting, have recently - failed a readiness check, or have recently failed a liveness check. - type: list - contains: - hostname: - description: - - The Hostname of this endpoint - type: str - ip: - description: - - The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local - (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 - is also accepted but not fully supported on all platforms. Also, - certain kubernetes components, like kube-proxy, are not IPv6 ready. - type: str - node_name: - description: - - 'Optional: Node hosting this endpoint. This can be used to determine - endpoints local to a node.' - type: str - target_ref: - description: - - Reference to object providing the endpoint. - type: complex - ports: - description: - - Port numbers available on the related IP addresses. - type: list - contains: - name: - description: - - The name of this port (corresponds to ServicePort.Name). Must - be a DNS_LABEL. Optional only if one port is defined. - type: str - port: - description: - - The port number of the endpoint. - type: int - protocol: - description: - - The IP protocol for this port. Must be UDP or TCP. Default is - TCP. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('endpoints_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_event.py b/library/k8s_v1_event.py deleted file mode 100644 index 93e5296f..00000000 --- a/library/k8s_v1_event.py +++ /dev/null @@ -1,261 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_event -short_description: Kubernetes Event -description: -- Manage the lifecycle of a event object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - count: - description: - - The number of times this event has occurred. - type: int - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - first_timestamp: - description: - - The time at which the event was first recorded. (Time of server receipt is in - TypeMeta.) - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - involved_object_api_version: - description: - - API version of the referent. - aliases: - - api_version - involved_object_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - involved_object_kind: - description: - - Kind of the referent. - aliases: - - kind - involved_object_name: - description: - - Name of the referent. - involved_object_namespace: - description: - - Namespace of the referent. - involved_object_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - involved_object_uid: - description: - - UID of the referent. - aliases: - - uid - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - last_timestamp: - description: - - The time at which the most recent occurrence of this event was recorded. - message: - description: - - A human-readable description of the status of this operation. - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - reason: - description: - - This should be a short, machine understandable string that gives the reason - for the transition into the object's current status. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - source_component: - description: - - Component from which the event is generated. - aliases: - - component - source_host: - description: - - Node name on which the event is generated. - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - type: - description: - - Type of this event (Normal, Warning), new types could be added in the future - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -event: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - count: - description: - - The number of times this event has occurred. - type: int - first_timestamp: - description: - - The time at which the event was first recorded. (Time of server receipt is - in TypeMeta.) - type: complex - contains: {} - involved_object: - description: - - The object that this event is about. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - last_timestamp: - description: - - The time at which the most recent occurrence of this event was recorded. - type: complex - contains: {} - message: - description: - - A human-readable description of the status of this operation. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - reason: - description: - - This should be a short, machine understandable string that gives the reason - for the transition into the object's current status. - type: str - source: - description: - - The component reporting this event. Should be a short machine understandable - string. - type: complex - type: - description: - - Type of this event (Normal, Warning), new types could be added in the future - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('event', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_event_list.py b/library/k8s_v1_event_list.py deleted file mode 100644 index 717b2033..00000000 --- a/library/k8s_v1_event_list.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_event_list -short_description: Kubernetes EventList -description: -- Retrieve a list of events. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -event_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of events - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - count: - description: - - The number of times this event has occurred. - type: int - first_timestamp: - description: - - The time at which the event was first recorded. (Time of server receipt - is in TypeMeta.) - type: complex - contains: {} - involved_object: - description: - - The object that this event is about. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - last_timestamp: - description: - - The time at which the most recent occurrence of this event was recorded. - type: complex - contains: {} - message: - description: - - A human-readable description of the status of this operation. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - reason: - description: - - This should be a short, machine understandable string that gives the reason - for the transition into the object's current status. - type: str - source: - description: - - The component reporting this event. Should be a short machine understandable - string. - type: complex - type: - description: - - Type of this event (Normal, Warning), new types could be added in the - future - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('event_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_horizontal_pod_autoscaler.py b/library/k8s_v1_horizontal_pod_autoscaler.py deleted file mode 100644 index 32d78042..00000000 --- a/library/k8s_v1_horizontal_pod_autoscaler.py +++ /dev/null @@ -1,211 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_horizontal_pod_autoscaler -short_description: Kubernetes HorizontalPodAutoscaler -description: -- Manage the lifecycle of a horizontal_pod_autoscaler object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_max_replicas: - description: - - upper limit for the number of pods that can be set by the autoscaler; cannot - be smaller than MinReplicas. - aliases: - - max_replicas - type: int - spec_min_replicas: - description: - - lower limit for the number of pods that can be set by the autoscaler, default - 1. - aliases: - - min_replicas - type: int - spec_scale_target_ref_api_version: - description: - - API version of the referent - aliases: - - scale_target_ref_api_version - spec_scale_target_ref_kind: - description: - - Kind of the referent; - aliases: - - scale_target_ref_kind - spec_scale_target_ref_name: - description: - - Name of the referent; - aliases: - - scale_target_ref_name - spec_target_cpu_utilization_percentage: - description: - - target average CPU utilization (represented as a percentage of requested CPU) - over all the pods; if not specified the default autoscaling policy will be used. - aliases: - - target_cpu_utilization_percentage - type: int - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create replica set - k8s_v1_horizontal_pod_autoscaler.yml: - name: test-scaler - namespace: test - state: present - scale_target_ref_kind: ReplicaSet - scale_target_ref_name: test - min_replicas: 2 - max_replicas: 5 -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -horizontal_pod_autoscaler: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - behaviour of autoscaler. - type: complex - status: - description: - - current information about the autoscaler. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('horizontal_pod_autoscaler', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_horizontal_pod_autoscaler_list.py b/library/k8s_v1_horizontal_pod_autoscaler_list.py deleted file mode 100644 index e2264057..00000000 --- a/library/k8s_v1_horizontal_pod_autoscaler_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_horizontal_pod_autoscaler_list -short_description: Kubernetes HorizontalPodAutoscalerList -description: -- Retrieve a list of horizontal_pod_autoscalers. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -horizontal_pod_autoscaler_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - list of horizontal pod autoscaler objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - behaviour of autoscaler. - type: complex - status: - description: - - current information about the autoscaler. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('horizontal_pod_autoscaler_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_job.py b/library/k8s_v1_job.py deleted file mode 100644 index ff6dc77d..00000000 --- a/library/k8s_v1_job.py +++ /dev/null @@ -1,547 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_job -short_description: Kubernetes Job -description: -- Manage the lifecycle of a job object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_active_deadline_seconds: - description: - - Specifies the duration in seconds relative to the startTime that the job may - be active before the system tries to terminate it; value must be positive integer - aliases: - - active_deadline_seconds - type: int - spec_backoff_limit: - description: - - Specifies the number of retries before marking this job failed. Defaults to - 6 - aliases: - - backoff_limit - type: int - spec_completions: - description: - - Specifies the desired number of successfully finished pods the job should be - run with. Setting to nil means that the success of any pod signals the success - of all pods, and allows parallelism to have any positive value. Setting to 1 - means that parallelism is limited to 1 and the success of that pod signals the - success of the job. - aliases: - - completions - type: int - spec_manual_selector: - description: - - manualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` - unset unless you are certain what you are doing. When false or unset, the system - pick labels unique to this job and appends those labels to the pod template. - When true, the user is responsible for picking unique labels and specifying - the selector. Failure to pick a unique label may cause this and other jobs to - not function correctly. However, You may see `manualSelector=true` in jobs that - were created with the old `extensions/v1beta1` API. - aliases: - - manual_selector - type: bool - spec_parallelism: - description: - - Specifies the maximum desired number of pods the job should run at any given - time. The actual number of pods running in steady state will be less than this - number when ((.spec.completions - .status.successful) < .spec.parallelism), - i.e. when the work left to do is less than max parallelism. - aliases: - - parallelism - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -job: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a job. - type: complex - status: - description: - - Current status of a job. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('job', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_job_list.py b/library/k8s_v1_job_list.py deleted file mode 100644 index 7776e7d1..00000000 --- a/library/k8s_v1_job_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_job_list -short_description: Kubernetes JobList -description: -- Retrieve a list of jobs. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -job_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of Jobs. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a job. - type: complex - status: - description: - - Current status of a job. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('job_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_limit_range.py b/library/k8s_v1_limit_range.py deleted file mode 100644 index dbb4a749..00000000 --- a/library/k8s_v1_limit_range.py +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_limit_range -short_description: Kubernetes LimitRange -description: -- Manage the lifecycle of a limit_range object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_limits: - description: - - Limits is the list of LimitRangeItem objects that are enforced. - aliases: - - limits - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -limit_range: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the limits enforced. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('limit_range', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_limit_range_list.py b/library/k8s_v1_limit_range_list.py deleted file mode 100644 index b00e29b5..00000000 --- a/library/k8s_v1_limit_range_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_limit_range_list -short_description: Kubernetes LimitRangeList -description: -- Retrieve a list of limit_ranges. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -limit_range_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of LimitRange objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the limits enforced. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('limit_range_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_local_subject_access_review.py b/library/k8s_v1_local_subject_access_review.py deleted file mode 100644 index c919e650..00000000 --- a/library/k8s_v1_local_subject_access_review.py +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_local_subject_access_review -short_description: Kubernetes LocalSubjectAccessReview -description: -- Manage the lifecycle of a local_subject_access_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_extra: - description: - - Extra corresponds to the user.Info.GetExtra() method from the authenticator. - Since that is input to the authorizer it needs a reflection here. - aliases: - - extra - type: dict - spec_groups: - description: - - Groups is the groups you're testing for. - aliases: - - groups - type: list - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - spec_uid: - description: - - UID information about the requesting user. - aliases: - - uid - spec_user: - description: - - User is the user you're testing for. If you specify "User" but not "Groups", - then is it interpreted as "What if User were not a member of any groups - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -local_subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. spec.namespace must - be equal to the namespace you made the request against. If empty, it is defaulted. - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('local_subject_access_review', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_namespace.py b/library/k8s_v1_namespace.py deleted file mode 100644 index 895760e8..00000000 --- a/library/k8s_v1_namespace.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_namespace -short_description: Kubernetes Namespace -description: -- Manage the lifecycle of a namespace object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_finalizers: - description: - - Finalizers is an opaque list of values that must be empty to permanently remove - object from storage. - aliases: - - finalizers - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create a namespace - k8s_v1_namespace.yml: - name: k8s-namespace - state: present - -- name: Add labels and annotations - k8s_v1_namespace.yml: - name: k8s-namespace - state: present - labels: - app_env: production - app_class: '3' - annotations: - domain: namespace.com.acmecorp - -- name: Update labels and annotations - k8s_v1_namespace.yml: - name: k8s-namespace - state: present - labels: - app_env: production - app_class: '4' - app_group: '2' - annotations: - domain: namespace.app.com.acmecorp - monitoring_group: '1' - -- name: Create a namespace - k8s_v1_namespace.yml: - name: search-namespace - state: present - labels: - app: web - level: '1' - annotations: - company: acme.com - -- name: Replace namespace - k8s_v1_namespace.yml: - name: search-namespace - state: replaced - labels: - app: web_app - level: '3' - annotations: - company: acme.com - -- name: Remove namespace - k8s_v1_namespace.yml: - name: search-namespace - state: absent -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -namespace: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of the Namespace. - type: complex - status: - description: - - Status describes the current status of a Namespace. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('namespace', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_namespace_list.py b/library/k8s_v1_namespace_list.py deleted file mode 100644 index fb05ddb6..00000000 --- a/library/k8s_v1_namespace_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_namespace_list -short_description: Kubernetes NamespaceList -description: -- Retrieve a list of namespaces. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -namespace_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Namespace objects in the list. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of the Namespace. - type: complex - status: - description: - - Status describes the current status of a Namespace. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('namespace_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_network_policy.py b/library/k8s_v1_network_policy.py deleted file mode 100644 index 9bd5f813..00000000 --- a/library/k8s_v1_network_policy.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_network_policy -short_description: Kubernetes NetworkPolicy -description: -- Manage the lifecycle of a network_policy object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_egress: - description: - - List of egress rules to be applied to the selected pods. Outgoing traffic is - allowed if there are no NetworkPolicies selecting the pod (and cluster policy - otherwise allows the traffic), OR if the traffic matches at least one egress - rule across all of the NetworkPolicy objects whose podSelector matches the pod. - If this field is empty then this NetworkPolicy limits all outgoing traffic (and - serves solely to ensure that the pods it selects are isolated by default). This - field is beta-level in 1.8 - aliases: - - egress - type: list - spec_ingress: - description: - - List of ingress rules to be applied to the selected pods. Traffic is allowed - to a pod if there are no NetworkPolicies selecting the pod (and cluster policy - otherwise allows the traffic), OR if the traffic source is the pod's local node, - OR if the traffic matches at least one ingress rule across all of the NetworkPolicy - objects whose podSelector matches the pod. If this field is empty then this - NetworkPolicy does not allow any traffic (and serves solely to ensure that the - pods it selects are isolated by default) - aliases: - - ingress - type: list - spec_pod_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - pod_selector_match_expressions - type: list - spec_pod_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - pod_selector_match_labels - type: dict - spec_policy_types: - description: - - List of rule types that the NetworkPolicy relates to. Valid options are Ingress, - Egress, or Ingress,Egress. If this field is not specified, it will default based - on the existence of Ingress or Egress rules; policies that contain an Egress - section are assumed to affect Egress, and all policies (whether or not they - contain an Ingress section) are assumed to affect Ingress. If you want to write - an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. - Likewise, if you want to write a policy that specifies that no egress is allowed, - you must specify a policyTypes value that include "Egress" (since such a policy - would not include an Egress section and would otherwise default to just [ "Ingress" - ]). This field is beta-level in 1.8 - aliases: - - policy_types - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -network_policy: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior for this NetworkPolicy. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('network_policy', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_network_policy_list.py b/library/k8s_v1_network_policy_list.py deleted file mode 100644 index 70148432..00000000 --- a/library/k8s_v1_network_policy_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_network_policy_list -short_description: Kubernetes NetworkPolicyList -description: -- Retrieve a list of network_policys. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -network_policy_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of schema objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior for this NetworkPolicy. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('network_policy_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_node.py b/library/k8s_v1_node.py deleted file mode 100644 index d54cc265..00000000 --- a/library/k8s_v1_node.py +++ /dev/null @@ -1,250 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_node -short_description: Kubernetes Node -description: -- Manage the lifecycle of a node object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_config_source_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - _source_api_version - spec_config_source_config_map_ref_api_version: - description: - - API version of the referent. - aliases: - - _source__map_ref_api_version - spec_config_source_config_map_ref_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - _source__map_ref_field_path - spec_config_source_config_map_ref_kind: - description: - - Kind of the referent. - aliases: - - _source__map_ref_kind - spec_config_source_config_map_ref_name: - description: - - Name of the referent. - aliases: - - _source__map_ref_name - spec_config_source_config_map_ref_namespace: - description: - - Namespace of the referent. - aliases: - - _source__map_ref_namespace - spec_config_source_config_map_ref_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - _source__map_ref_resource_version - spec_config_source_config_map_ref_uid: - description: - - UID of the referent. - aliases: - - _source__map_ref_uid - spec_config_source_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - _source_kind - spec_external_id: - description: - - External ID of the node assigned by some machine database (e.g. a cloud provider). - Deprecated. - aliases: - - external_id - spec_pod_cidr: - description: - - PodCIDR represents the pod IP range assigned to the node. - aliases: - - pod_cidr - spec_provider_id: - description: - - 'ID of the node assigned by the cloud provider in the format: ://' - aliases: - - provider_id - spec_taints: - description: - - If specified, the node's taints. - aliases: - - taints - type: list - spec_unschedulable: - description: - - Unschedulable controls node schedulability of new pods. By default, node is - schedulable. - aliases: - - unschedulable - type: bool - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -node: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of a node. - type: complex - status: - description: - - Most recently observed status of the node. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('node', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_node_list.py b/library/k8s_v1_node_list.py deleted file mode 100644 index 97d419e0..00000000 --- a/library/k8s_v1_node_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_node_list -short_description: Kubernetes NodeList -description: -- Retrieve a list of nodes. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -node_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of nodes - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of a node. - type: complex - status: - description: - - Most recently observed status of the node. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('node_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_persistent_volume.py b/library/k8s_v1_persistent_volume.py deleted file mode 100644 index 44ad9b37..00000000 --- a/library/k8s_v1_persistent_volume.py +++ /dev/null @@ -1,867 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_persistent_volume -short_description: Kubernetes PersistentVolume -description: -- Manage the lifecycle of a persistent_volume object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_access_modes: - description: - - AccessModes contains all ways the volume can be mounted. - aliases: - - access_modes - type: list - spec_aws_elastic_block_store_fs_type: - description: - - 'Filesystem type of the volume that you want to mount. Tip: Ensure that the - filesystem type is supported by the host operating system. Examples: "ext4", - "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.' - aliases: - - aws_elastic_block_store_fs_type - spec_aws_elastic_block_store_partition: - description: - - 'The partition in the volume that you want to mount. If omitted, the default - is to mount by volume name. Examples: For volume /dev/sda1, you specify the - partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you - can leave the property empty).' - aliases: - - aws_elastic_block_store_partition - type: int - spec_aws_elastic_block_store_read_only: - description: - - Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". - If omitted, the default is "false". - aliases: - - aws_elastic_block_store_read_only - type: bool - spec_aws_elastic_block_store_volume_id: - description: - - Unique ID of the persistent disk resource in AWS (Amazon EBS volume). - aliases: - - aws_elastic_block_store_volume_id - spec_azure_disk_caching_mode: - description: - - 'Host Caching mode: None, Read Only, Read Write.' - aliases: - - azure_disk_caching_mode - spec_azure_disk_disk_name: - description: - - The Name of the data disk in the blob storage - aliases: - - azure_disk_disk_name - spec_azure_disk_disk_uri: - description: - - The URI the data disk in the blob storage - aliases: - - azure_disk_disk_uri - spec_azure_disk_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - azure_disk_fs_type - spec_azure_disk_kind: - description: - - 'Expected values Shared: mulitple blob disks per storage account Dedicated: - single blob disk per storage account Managed: azure managed data disk (only - in managed availability set). defaults to shared' - aliases: - - azure_disk_kind - spec_azure_disk_read_only: - description: - - Defaults to false (read/write). ReadOnly here will force the ReadOnly setting - in VolumeMounts. - aliases: - - azure_disk_read_only - type: bool - spec_azure_file_read_only: - description: - - Defaults to false (read/write). ReadOnly here will force the ReadOnly setting - in VolumeMounts. - aliases: - - azure_file_read_only - type: bool - spec_azure_file_secret_name: - description: - - the name of secret that contains Azure Storage Account Name and Key - aliases: - - azure_file_secret_name - spec_azure_file_secret_namespace: - description: - - the namespace of the secret that contains Azure Storage Account Name and Key - default is the same as the Pod - aliases: - - azure_file_secret_namespace - spec_azure_file_share_name: - description: - - Share Name - aliases: - - azure_file_share_name - spec_capacity: - description: - - A description of the persistent volume's resources and capacity. - aliases: - - capacity - type: dict - spec_cephfs_monitors: - description: - - 'Required: Monitors is a collection of Ceph monitors' - aliases: - - cephfs_monitors - type: list - spec_cephfs_path: - description: - - 'Optional: Used as the mounted root, rather than the full Ceph tree, default - is /' - aliases: - - cephfs_path - spec_cephfs_read_only: - description: - - 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly - setting in VolumeMounts.' - aliases: - - cephfs_read_only - type: bool - spec_cephfs_secret_file: - description: - - 'Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret' - aliases: - - cephfs_secret_file - spec_cephfs_secret_ref_name: - description: - - Name is unique within a namespace to reference a secret resource. - aliases: - - cephfs_secret_ref_name - spec_cephfs_secret_ref_namespace: - description: - - Namespace defines the space within which the secret name must be unique. - aliases: - - cephfs_secret_ref_namespace - spec_cephfs_user: - description: - - 'Optional: User is the rados user name, default is admin' - aliases: - - cephfs_user - spec_cinder_fs_type: - description: - - 'Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if - unspecified.' - aliases: - - cinder_fs_type - spec_cinder_read_only: - description: - - 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly - setting in VolumeMounts.' - aliases: - - cinder_read_only - type: bool - spec_cinder_volume_id: - description: - - volume id used to identify the volume in cinder - aliases: - - cinder_volume_id - spec_claim_ref_api_version: - description: - - API version of the referent. - aliases: - - claim_ref_api_version - spec_claim_ref_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - claim_ref_field_path - spec_claim_ref_kind: - description: - - Kind of the referent. - aliases: - - claim_ref_kind - spec_claim_ref_name: - description: - - Name of the referent. - aliases: - - claim_ref_name - spec_claim_ref_namespace: - description: - - Namespace of the referent. - aliases: - - claim_ref_namespace - spec_claim_ref_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - claim_ref_resource_version - spec_claim_ref_uid: - description: - - UID of the referent. - aliases: - - claim_ref_uid - spec_fc_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - fc_fs_type - spec_fc_lun: - description: - - 'Optional: FC target lun number' - aliases: - - fc_lun - type: int - spec_fc_read_only: - description: - - 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly - setting in VolumeMounts.' - aliases: - - fc_read_only - type: bool - spec_fc_target_ww_ns: - description: - - 'Optional: FC target worldwide names (WWNs)' - aliases: - - fc_target_ww_ns - type: list - spec_fc_wwids: - description: - - 'Optional: FC volume world wide identifiers (wwids) Either wwids or combination - of targetWWNs and lun must be set, but not both simultaneously.' - aliases: - - fc_wwids - type: list - spec_flex_volume_driver: - description: - - Driver is the name of the driver to use for this volume. - aliases: - - flex_volume_driver - spec_flex_volume_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume - script. - aliases: - - flex_volume_fs_type - spec_flex_volume_options: - description: - - 'Optional: Extra command options if any.' - aliases: - - flex_volume_options - type: dict - spec_flex_volume_read_only: - description: - - 'Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly - setting in VolumeMounts.' - aliases: - - flex_volume_read_only - type: bool - spec_flex_volume_secret_ref_name: - description: - - Name of the referent. - aliases: - - flex_volume_secret_ref_name - spec_flocker_dataset_name: - description: - - Name of the dataset stored as metadata -> name on the dataset for Flocker should - be considered as deprecated - aliases: - - flocker_dataset_name - spec_flocker_dataset_uuid: - description: - - UUID of the dataset. This is unique identifier of a Flocker dataset - aliases: - - flocker_dataset_uuid - spec_gce_persistent_disk_fs_type: - description: - - 'Filesystem type of the volume that you want to mount. Tip: Ensure that the - filesystem type is supported by the host operating system. Examples: "ext4", - "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.' - aliases: - - gce_persistent_disk_fs_type - spec_gce_persistent_disk_partition: - description: - - 'The partition in the volume that you want to mount. If omitted, the default - is to mount by volume name. Examples: For volume /dev/sda1, you specify the - partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you - can leave the property empty).' - aliases: - - gce_persistent_disk_partition - type: int - spec_gce_persistent_disk_pd_name: - description: - - Unique name of the PD resource in GCE. Used to identify the disk in GCE. - aliases: - - gce_persistent_disk_pd_name - spec_gce_persistent_disk_read_only: - description: - - ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. - aliases: - - gce_persistent_disk_read_only - type: bool - spec_glusterfs_endpoints: - description: - - EndpointsName is the endpoint name that details Glusterfs topology. - aliases: - - glusterfs_endpoints - spec_glusterfs_path: - description: - - Path is the Glusterfs volume path. - aliases: - - glusterfs_path - spec_glusterfs_read_only: - description: - - ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. - Defaults to false. - aliases: - - glusterfs_read_only - type: bool - spec_host_path_path: - description: - - Path of the directory on the host. If the path is a symlink, it will follow - the link to the real path. - aliases: - - host_path_path - spec_host_path_type: - description: - - Type for HostPath Volume Defaults to "" - aliases: - - host_path_type - spec_iscsi_chap_auth_discovery: - description: - - whether support iSCSI Discovery CHAP authentication - aliases: - - iscsi_chap_auth_discovery - type: bool - spec_iscsi_chap_auth_session: - description: - - whether support iSCSI Session CHAP authentication - aliases: - - iscsi_chap_auth_session - type: bool - spec_iscsi_fs_type: - description: - - 'Filesystem type of the volume that you want to mount. Tip: Ensure that the - filesystem type is supported by the host operating system. Examples: "ext4", - "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.' - aliases: - - iscsi_fs_type - spec_iscsi_initiator_name: - description: - - Custom iSCSI initiator name. If initiatorName is specified with iscsiInterface - simultaneously, new iSCSI interface : will be created - for the connection. - aliases: - - iscsi_initiator_name - spec_iscsi_iqn: - description: - - Target iSCSI Qualified Name. - aliases: - - iscsi_iqn - spec_iscsi_iscsi_interface: - description: - - "Optional: Defaults to 'default' (tcp). iSCSI interface name that uses an iSCSI\ - \ transport." - aliases: - - iscsi_iscsi_interface - spec_iscsi_lun: - description: - - iSCSI target lun number. - aliases: - - iscsi_lun - type: int - spec_iscsi_portals: - description: - - iSCSI target portal List. The portal is either an IP or ip_addr:port if the - port is other than default (typically TCP ports 860 and 3260). - aliases: - - iscsi_portals - type: list - spec_iscsi_read_only: - description: - - ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. - aliases: - - iscsi_read_only - type: bool - spec_iscsi_secret_ref_name: - description: - - Name of the referent. - aliases: - - iscsi_secret_ref_name - spec_iscsi_target_portal: - description: - - iSCSI target portal. The portal is either an IP or ip_addr:port if the port - is other than default (typically TCP ports 860 and 3260). - aliases: - - iscsi_target_portal - spec_local_path: - description: - - The full path to the volume on the node For alpha, this path must be a directory - Once block as a source is supported, then this path can point to a block device - aliases: - - local_path - spec_mount_options: - description: - - A list of mount options, e.g. ["ro", "soft"]. Not validated - mount will simply - fail if one is invalid. - aliases: - - mount_options - type: list - spec_nfs_path: - description: - - Path that is exported by the NFS server. - aliases: - - nfs_path - spec_nfs_read_only: - description: - - ReadOnly here will force the NFS export to be mounted with read-only permissions. - Defaults to false. - aliases: - - nfs_read_only - type: bool - spec_nfs_server: - description: - - Server is the hostname or IP address of the NFS server. - aliases: - - nfs_server - spec_persistent_volume_reclaim_policy: - description: - - What happens to a persistent volume when released from its claim. Valid options - are Retain (default) and Recycle. Recycling must be supported by the volume - plugin underlying this persistent volume. - aliases: - - persistent_volume_reclaim_policy - spec_photon_persistent_disk_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - photon_persistent_disk_fs_type - spec_photon_persistent_disk_pd_id: - description: - - ID that identifies Photon Controller persistent disk - aliases: - - photon_persistent_disk_pd_id - spec_portworx_volume_fs_type: - description: - - FSType represents the filesystem type to mount Must be a filesystem type supported - by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" - if unspecified. - aliases: - - portworx_volume_fs_type - spec_portworx_volume_read_only: - description: - - Defaults to false (read/write). ReadOnly here will force the ReadOnly setting - in VolumeMounts. - aliases: - - portworx_volume_read_only - type: bool - spec_portworx_volume_volume_id: - description: - - VolumeID uniquely identifies a Portworx volume - aliases: - - portworx_volume_volume_id - spec_quobyte_group: - description: - - Group to map volume access to Default is no group - aliases: - - quobyte_group - spec_quobyte_read_only: - description: - - ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. - Defaults to false. - aliases: - - quobyte_read_only - type: bool - spec_quobyte_registry: - description: - - Registry represents a single or multiple Quobyte Registry services specified - as a string as host:port pair (multiple entries are separated with commas) which - acts as the central registry for volumes - aliases: - - quobyte_registry - spec_quobyte_user: - description: - - User to map volume access to Defaults to serivceaccount user - aliases: - - quobyte_user - spec_quobyte_volume: - description: - - Volume is a string that references an already created Quobyte volume by name. - aliases: - - quobyte_volume - spec_rbd_fs_type: - description: - - 'Filesystem type of the volume that you want to mount. Tip: Ensure that the - filesystem type is supported by the host operating system. Examples: "ext4", - "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.' - aliases: - - rbd_fs_type - spec_rbd_image: - description: - - The rados image name. - aliases: - - rbd_image - spec_rbd_keyring: - description: - - Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. - aliases: - - rbd_keyring - spec_rbd_monitors: - description: - - A collection of Ceph monitors. - aliases: - - rbd_monitors - type: list - spec_rbd_pool: - description: - - The rados pool name. Default is rbd. - aliases: - - rbd_pool - spec_rbd_read_only: - description: - - ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. - aliases: - - rbd_read_only - type: bool - spec_rbd_secret_ref_name: - description: - - Name of the referent. - aliases: - - rbd_secret_ref_name - spec_rbd_user: - description: - - The rados user name. Default is admin. - aliases: - - rbd_user - spec_scale_io_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - scale_io_fs_type - spec_scale_io_gateway: - description: - - The host address of the ScaleIO API Gateway. - aliases: - - scale_io_gateway - spec_scale_io_protection_domain: - description: - - The name of the ScaleIO Protection Domain for the configured storage. - aliases: - - scale_io_protection_domain - spec_scale_io_read_only: - description: - - Defaults to false (read/write). ReadOnly here will force the ReadOnly setting - in VolumeMounts. - aliases: - - scale_io_read_only - type: bool - spec_scale_io_secret_ref_name: - description: - - Name is unique within a namespace to reference a secret resource. - aliases: - - scale_io_secret_ref_name - spec_scale_io_secret_ref_namespace: - description: - - Namespace defines the space within which the secret name must be unique. - aliases: - - scale_io_secret_ref_namespace - spec_scale_io_ssl_enabled: - description: - - Flag to enable/disable SSL communication with Gateway, default false - aliases: - - scale_io_ssl_enabled - type: bool - spec_scale_io_storage_mode: - description: - - Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. - aliases: - - scale_io_storage_mode - spec_scale_io_storage_pool: - description: - - The ScaleIO Storage Pool associated with the protection domain. - aliases: - - scale_io_storage_pool - spec_scale_io_system: - description: - - The name of the storage system as configured in ScaleIO. - aliases: - - scale_io_system - spec_scale_io_volume_name: - description: - - The name of a volume already created in the ScaleIO system that is associated - with this volume source. - aliases: - - scale_io_volume_name - spec_storage_class_name: - description: - - Name of StorageClass to which this persistent volume belongs. Empty value means - that this volume does not belong to any StorageClass. - aliases: - - storage_class_name - spec_storageos_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - storageos_fs_type - spec_storageos_read_only: - description: - - Defaults to false (read/write). ReadOnly here will force the ReadOnly setting - in VolumeMounts. - aliases: - - storageos_read_only - type: bool - spec_storageos_secret_ref_api_version: - description: - - API version of the referent. - aliases: - - storageos_secret_ref_api_version - spec_storageos_secret_ref_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - storageos_secret_ref_field_path - spec_storageos_secret_ref_kind: - description: - - Kind of the referent. - aliases: - - storageos_secret_ref_kind - spec_storageos_secret_ref_name: - description: - - Name of the referent. - aliases: - - storageos_secret_ref_name - spec_storageos_secret_ref_namespace: - description: - - Namespace of the referent. - aliases: - - storageos_secret_ref_namespace - spec_storageos_secret_ref_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - storageos_secret_ref_resource_version - spec_storageos_secret_ref_uid: - description: - - UID of the referent. - aliases: - - storageos_secret_ref_uid - spec_storageos_volume_name: - description: - - VolumeName is the human-readable name of the StorageOS volume. Volume names - are only unique within a namespace. - aliases: - - storageos_volume_name - spec_storageos_volume_namespace: - description: - - VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace - is specified then the Pod's namespace will be used. This allows the Kubernetes - name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName - to any name to override the default behaviour. Set to "default" if you are not - using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS - will be created. - aliases: - - storageos_volume_namespace - spec_vsphere_volume_fs_type: - description: - - Filesystem type to mount. Must be a filesystem type supported by the host operating - system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - aliases: - - vsphere_volume_fs_type - spec_vsphere_volume_storage_policy_id: - description: - - Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. - aliases: - - vsphere_volume_storage_policy_id - spec_vsphere_volume_storage_policy_name: - description: - - Storage Policy Based Management (SPBM) profile name. - aliases: - - vsphere_volume_storage_policy_name - spec_vsphere_volume_volume_path: - description: - - Path that identifies vSphere volume vmdk - aliases: - - vsphere_volume_volume_path - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create persitent volume - k8s_v1_persistent_volume.yml: - name: mypv - state: present - capacity: - storage: 1Gi - access_modes: - - ReadWriteOnce - persistent_volume_reclaim_policy: Recycle - host_path_path: /tmp/test_volume -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -persistent_volume: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines a specification of a persistent volume owned by the cluster. - Provisioned by an administrator. - type: complex - status: - description: - - Status represents the current information/status for the persistent volume. - Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('persistent_volume', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_persistent_volume_claim.py b/library/k8s_v1_persistent_volume_claim.py deleted file mode 100644 index 8e415203..00000000 --- a/library/k8s_v1_persistent_volume_claim.py +++ /dev/null @@ -1,222 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_persistent_volume_claim -short_description: Kubernetes PersistentVolumeClaim -description: -- Manage the lifecycle of a persistent_volume_claim object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_access_modes: - description: - - AccessModes contains the desired access modes the volume should have. - aliases: - - access_modes - type: list - spec_resources_limits: - description: - - Limits describes the maximum amount of compute resources allowed. - aliases: - - resources_limits - type: dict - spec_resources_requests: - description: - - Requests describes the minimum amount of compute resources required. If Requests - is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. - aliases: - - resources_requests - type: dict - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_storage_class_name: - description: - - Name of the StorageClass required by the claim. - aliases: - - storage_class_name - spec_volume_name: - description: - - VolumeName is the binding reference to the PersistentVolume backing this claim. - aliases: - - volume_name - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create persitent volume claim - k8s_v1_persistent_volume_claim.yml: - name: mypvc - namespace: demo_project - state: present - access_modes: - - ReadWriteOnce - resources_requests: - storage: 1Gi -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -persistent_volume_claim: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired characteristics of a volume requested by a pod author. - type: complex - status: - description: - - Status represents the current information/status of a persistent volume claim. - Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('persistent_volume_claim', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_persistent_volume_claim_list.py b/library/k8s_v1_persistent_volume_claim_list.py deleted file mode 100644 index 84934639..00000000 --- a/library/k8s_v1_persistent_volume_claim_list.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_persistent_volume_claim_list -short_description: Kubernetes PersistentVolumeClaimList -description: -- Retrieve a list of persistent_volume_claims. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -persistent_volume_claim_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - A list of persistent volume claims. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired characteristics of a volume requested by a pod - author. - type: complex - status: - description: - - Status represents the current information/status of a persistent volume - claim. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('persistent_volume_claim_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_persistent_volume_list.py b/library/k8s_v1_persistent_volume_list.py deleted file mode 100644 index 457de3c5..00000000 --- a/library/k8s_v1_persistent_volume_list.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_persistent_volume_list -short_description: Kubernetes PersistentVolumeList -description: -- Retrieve a list of persistent_volumes. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -persistent_volume_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of persistent volumes. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines a specification of a persistent volume owned by the cluster. - Provisioned by an administrator. - type: complex - status: - description: - - Status represents the current information/status for the persistent volume. - Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('persistent_volume_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_pod.py b/library/k8s_v1_pod.py deleted file mode 100644 index e2b19d52..00000000 --- a/library/k8s_v1_pod.py +++ /dev/null @@ -1,466 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_pod -short_description: Kubernetes Pod -description: -- Manage the lifecycle of a pod object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the pod. - type: complex - status: - description: - - Most recently observed status of the pod. This data may not be up to date. - Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_pod_list.py b/library/k8s_v1_pod_list.py deleted file mode 100644 index 5236efc0..00000000 --- a/library/k8s_v1_pod_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_pod_list -short_description: Kubernetes PodList -description: -- Retrieve a list of pods. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of pods. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the pod. - type: complex - status: - description: - - Most recently observed status of the pod. This data may not be up to date. - Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_pod_template.py b/library/k8s_v1_pod_template.py deleted file mode 100644 index 0e367390..00000000 --- a/library/k8s_v1_pod_template.py +++ /dev/null @@ -1,484 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_pod_template -short_description: Kubernetes PodTemplate -description: -- Manage the lifecycle of a pod_template object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_template: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - template: - description: - - Template defines the pods that will be created from this pod template. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_template', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_pod_template_list.py b/library/k8s_v1_pod_template_list.py deleted file mode 100644 index 38223dc4..00000000 --- a/library/k8s_v1_pod_template_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_pod_template_list -short_description: Kubernetes PodTemplateList -description: -- Retrieve a list of pod_templates. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_template_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of pod templates - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - template: - description: - - Template defines the pods that will be created from this pod template. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_template_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_replication_controller.py b/library/k8s_v1_replication_controller.py deleted file mode 100644 index 5e12b183..00000000 --- a/library/k8s_v1_replication_controller.py +++ /dev/null @@ -1,517 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_replication_controller -short_description: Kubernetes ReplicationController -description: -- Manage the lifecycle of a replication_controller object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_replicas: - description: - - Replicas is the number of desired replicas. This is a pointer to distinguish - between explicit zero and unspecified. Defaults to 1. - aliases: - - replicas - type: int - spec_selector: - description: - - Selector is a label query over pods that should match the Replicas count. If - Selector is empty, it is defaulted to the labels present on the Pod template. - Label keys and values that must match in order to be controlled by this replication - controller, if empty defaulted to labels on Pod template. - aliases: - - selector - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replication_controller: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicationController are empty, they are defaulted to - be the same as the Pod(s) that the replication controller manages. Standard - object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the replication - controller. - type: complex - status: - description: - - Status is the most recently observed status of the replication controller. - This data may be out of date by some window of time. Populated by the system. - Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replication_controller', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_replication_controller_list.py b/library/k8s_v1_replication_controller_list.py deleted file mode 100644 index 33af9445..00000000 --- a/library/k8s_v1_replication_controller_list.py +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_replication_controller_list -short_description: Kubernetes ReplicationControllerList -description: -- Retrieve a list of replication_controllers. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replication_controller_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of replication controllers. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicationController are empty, they are defaulted - to be the same as the Pod(s) that the replication controller manages. - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the replication - controller. - type: complex - status: - description: - - Status is the most recently observed status of the replication controller. - This data may be out of date by some window of time. Populated by the - system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replication_controller_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_resource_quota.py b/library/k8s_v1_resource_quota.py deleted file mode 100644 index fcd7bd53..00000000 --- a/library/k8s_v1_resource_quota.py +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_resource_quota -short_description: Kubernetes ResourceQuota -description: -- Manage the lifecycle of a resource_quota object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_hard: - description: - - Hard is the set of desired hard limits for each named resource. - aliases: - - hard - type: dict - spec_scopes: - description: - - A collection of filters that must match each object tracked by a quota. If not - specified, the quota matches all objects. - aliases: - - scopes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -resource_quota: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota. - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('resource_quota', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_resource_quota_list.py b/library/k8s_v1_resource_quota_list.py deleted file mode 100644 index 099ae40b..00000000 --- a/library/k8s_v1_resource_quota_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_resource_quota_list -short_description: Kubernetes ResourceQuotaList -description: -- Retrieve a list of resource_quotas. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -resource_quota_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ResourceQuota objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota. - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('resource_quota_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_role.py b/library/k8s_v1_role.py deleted file mode 100644 index 5d65dc65..00000000 --- a/library/k8s_v1_role.py +++ /dev/null @@ -1,202 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_role -short_description: Kubernetes Role -description: -- Manage the lifecycle of a role object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable for - ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply - to API resources (such as "pods" or "secrets") or non-resource URL paths - (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_role_binding.py b/library/k8s_v1_role_binding.py deleted file mode 100644 index cade4763..00000000 --- a/library/k8s_v1_role_binding.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_role_binding -short_description: Kubernetes RoleBinding -description: -- Manage the lifecycle of a role_binding object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole in - the global namespace. If the RoleRef cannot be resolved, the Authorizer must - return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to "" - for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for - User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_role_binding_list.py b/library/k8s_v1_role_binding_list.py deleted file mode 100644 index d00d147a..00000000 --- a/library/k8s_v1_role_binding_list.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_role_binding_list -short_description: Kubernetes RoleBindingList -description: -- Retrieve a list of role_bindings. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of RoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole - in the global namespace. If the RoleRef cannot be resolved, the Authorizer - must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to - "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_role_list.py b/library/k8s_v1_role_list.py deleted file mode 100644 index 42bf32da..00000000 --- a/library/k8s_v1_role_list.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_role_list -short_description: Kubernetes RoleList -description: -- Retrieve a list of roles. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of Roles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_scale.py b/library/k8s_v1_scale.py deleted file mode 100644 index f86e4566..00000000 --- a/library/k8s_v1_scale.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_scale -short_description: Kubernetes Scale -description: -- Manage the lifecycle of a scale object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_replicas: - description: - - desired number of instances for the scaled object. - aliases: - - replicas - type: int - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -scale: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - spec: - description: - - defines the behavior of the scale. - type: complex - status: - description: - - current status of the scale. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('scale', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_secret.py b/library/k8s_v1_secret.py deleted file mode 100644 index 57c839e2..00000000 --- a/library/k8s_v1_secret.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_secret -short_description: Kubernetes Secret -description: -- Manage the lifecycle of a secret object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - data: - description: - - Data contains the secret data. Each key must consist of alphanumeric characters, - '-', '_' or '.'. The serialized form of the secret data is a base64 encoded - string, representing the arbitrary (possibly non-string) data value here. Described - in - type: dict - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - string_data: - description: - - stringData allows specifying non-binary secret data in string form. It is provided - as a write-only convenience method. All keys and values are merged into the - data field on write, overwriting any existing values. It is never output when - reading from the API. - type: dict - type: - description: - - Used to facilitate programmatic handling of secret data. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -secret: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - data: - description: - - Data contains the secret data. Each key must consist of alphanumeric characters, - '-', '_' or '.'. The serialized form of the secret data is a base64 encoded - string, representing the arbitrary (possibly non-string) data value here. - Described in - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - string_data: - description: - - stringData allows specifying non-binary secret data in string form. It is - provided as a write-only convenience method. All keys and values are merged - into the data field on write, overwriting any existing values. It is never - output when reading from the API. - type: complex - contains: str, str - type: - description: - - Used to facilitate programmatic handling of secret data. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('secret', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_secret_list.py b/library/k8s_v1_secret_list.py deleted file mode 100644 index 38b12479..00000000 --- a/library/k8s_v1_secret_list.py +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_secret_list -short_description: Kubernetes SecretList -description: -- Retrieve a list of secrets. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -secret_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of secret objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - data: - description: - - Data contains the secret data. Each key must consist of alphanumeric characters, - '-', '_' or '.'. The serialized form of the secret data is a base64 encoded - string, representing the arbitrary (possibly non-string) data value here. - Described in - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - string_data: - description: - - stringData allows specifying non-binary secret data in string form. It - is provided as a write-only convenience method. All keys and values are - merged into the data field on write, overwriting any existing values. - It is never output when reading from the API. - type: complex - contains: str, str - type: - description: - - Used to facilitate programmatic handling of secret data. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('secret_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_self_subject_access_review.py b/library/k8s_v1_self_subject_access_review.py deleted file mode 100644 index 5f3a0a39..00000000 --- a/library/k8s_v1_self_subject_access_review.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_self_subject_access_review -short_description: Kubernetes SelfSubjectAccessReview -description: -- Manage the lifecycle of a self_subject_access_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -self_subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. user and groups - must be empty - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('self_subject_access_review', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_self_subject_rules_review.py b/library/k8s_v1_self_subject_rules_review.py deleted file mode 100644 index db641f62..00000000 --- a/library/k8s_v1_self_subject_rules_review.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_self_subject_rules_review -short_description: Kubernetes SelfSubjectRulesReview -description: -- Manage the lifecycle of a self_subject_rules_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_namespace: - description: - - Namespace to evaluate rules for. Required. - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -self_subject_rules_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. - type: complex - status: - description: - - Status is filled in by the server and indicates the set of actions a user - can perform. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('self_subject_rules_review', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_service.py b/library/k8s_v1_service.py deleted file mode 100644 index 50fe5662..00000000 --- a/library/k8s_v1_service.py +++ /dev/null @@ -1,360 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_service -short_description: Kubernetes Service -description: -- Manage the lifecycle of a service object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_cluster_ip: - description: - - clusterIP is the IP address of the service and is usually assigned randomly - by the master. If an address is specified manually and is not in use by others, - it will be allocated to the service; otherwise, creation of the service will - fail. This field can not be changed through updates. Valid values are "None", - empty string (""), or a valid IP address. "None" can be specified for headless - services when proxying is not required. Only applies to types ClusterIP, NodePort, - and LoadBalancer. Ignored if type is ExternalName. - aliases: - - cluster_ip - spec_external_i_ps: - description: - - externalIPs is a list of IP addresses for which nodes in the cluster will also - accept traffic for this service. These IPs are not managed by Kubernetes. The - user is responsible for ensuring that traffic arrives at a node with this IP. - A common example is external load-balancers that are not part of the Kubernetes - system. - aliases: - - external_i_ps - type: list - spec_external_name: - description: - - externalName is the external reference that kubedns or equivalent will return - as a CNAME record for this service. No proxying will be involved. Must be a - valid DNS name and requires Type to be ExternalName. - aliases: - - external_name - spec_external_traffic_policy: - description: - - externalTrafficPolicy denotes if this Service desires to route external traffic - to node-local or cluster-wide endpoints. "Local" preserves the client source - IP and avoids a second hop for LoadBalancer and Nodeport type services, but - risks potentially imbalanced traffic spreading. "Cluster" obscures the client - source IP and may cause a second hop to another node, but should have good overall - load-spreading. - aliases: - - external_traffic_policy - spec_health_check_node_port: - description: - - healthCheckNodePort specifies the healthcheck nodePort for the service. If not - specified, HealthCheckNodePort is created by the service api backend with the - allocated nodePort. Will use user-specified nodePort value if specified by the - client. Only effects when Type is set to LoadBalancer and ExternalTrafficPolicy - is set to Local. - aliases: - - health_check_node_port - type: int - spec_load_balancer_ip: - description: - - 'Only applies to Service Type: LoadBalancer LoadBalancer will get created with - the IP specified in this field. This feature depends on whether the underlying - cloud-provider supports specifying the loadBalancerIP when a load balancer is - created. This field will be ignored if the cloud-provider does not support the - feature.' - aliases: - - load_balancer_ip - spec_load_balancer_source_ranges: - description: - - If specified and supported by the platform, this will restrict traffic through - the cloud-provider load-balancer will be restricted to the specified client - IPs. This field will be ignored if the cloud-provider does not support the feature." - aliases: - - load_balancer_source_ranges - type: list - spec_ports: - description: - - The list of ports that are exposed by this service. - aliases: - - ports - type: list - spec_publish_not_ready_addresses: - description: - - publishNotReadyAddresses, when set to true, indicates that DNS implementations - must publish the notReadyAddresses of subsets for the Endpoints associated with - the Service. The default value is false. The primary use case for setting this - field is to use a StatefulSet's Headless Service to propagate SRV records for - its Pods without respect to their readiness for purpose of peer discovery. This - field will replace the service.alpha.kubernetes.io/tolerate-unready-endpoints - when that annotation is deprecated and all clients have been converted to use - this field. - aliases: - - publish_not_ready_addresses - type: bool - spec_selector: - description: - - Route service traffic to pods with label keys and values matching this selector. - If empty or not present, the service is assumed to have an external process - managing its endpoints, which Kubernetes will not modify. Only applies to types - ClusterIP, NodePort, and LoadBalancer. Ignored if type is ExternalName. - aliases: - - selector - type: dict - spec_session_affinity: - description: - - Supports "ClientIP" and "None". Used to maintain session affinity. Enable client - IP based session affinity. Must be ClientIP or None. Defaults to None. - aliases: - - session_affinity - spec_session_affinity_config_client_ip_timeout_seconds: - description: - - timeoutSeconds specifies the seconds of ClientIP type session sticky time. The - value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP". Default - value is 10800(for 3 hours). - aliases: - - session_affinity__clientip_timeout_seconds - type: int - spec_type: - description: - - type determines how the Service is exposed. Defaults to ClusterIP. Valid options - are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ExternalName" maps - to the specified externalName. "ClusterIP" allocates a cluster-internal IP address - for load-balancing to endpoints. Endpoints are determined by the selector or - if that is not specified, by manual construction of an Endpoints object. If - clusterIP is "None", no virtual IP is allocated and the endpoints are published - as a set of endpoints rather than a stable IP. "NodePort" builds on ClusterIP - and allocates a port on every node which routes to the clusterIP. "LoadBalancer" - builds on NodePort and creates an external load-balancer (if supported in the - current cloud) which routes to the clusterIP. - aliases: - - type - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create service - k8s_v1_service.yml: - name: myservice - namespace: k8s-project - state: present - selector: - app: django - ports: - - port: 8765 - target_port: 8000 - name: http-port - type: ClusterIP - -- name: Patch service - k8s_v1_service.yml: - name: myservice - namespace: k8s-project - state: present - selector: - app: django - env: production - ports: - - port: 8765 - target_port: 8010 - name: http-port - - port: 8788 - target_port: 8080 - name: socket-port - type: ClusterIP - -- name: Create service - k8s_v1_service.yml: - name: myservice01 - namespace: k8s-project - state: present - selector: - app_name: service_testing - app_env: production - ports: - - port: 8888 - target_port: 8010 - name: http - type: ClusterIP - -- name: Patch service - k8s_v1_service.yml: - name: myservice01 - namespace: k8s-project - state: present - ports: - - port: 9443 - target_port: 9443 - name: https - - port: 8888 - target_port: 8015 - name: http - -- name: Repace service - k8s_v1_service.yml: - name: myservice01 - namespace: k8s-project - state: replaced - selector: - app_name: web_site - app_env: testing - ports: - - port: 9999 - target_port: 9999 - name: https - - port: 8080 - target_port: 8080 - name: http - type: NodePort -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -service: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of a service. - type: complex - status: - description: - - Most recently observed status of the service. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('service', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_service_account.py b/library/k8s_v1_service_account.py deleted file mode 100644 index 6c397c4e..00000000 --- a/library/k8s_v1_service_account.py +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_service_account -short_description: Kubernetes ServiceAccount -description: -- Manage the lifecycle of a service_account object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether pods running as this service - account should have an API token automatically mounted. Can be overridden at - the pod level. - type: bool - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - image_pull_secrets: - description: - - ImagePullSecrets is a list of references to secrets in the same namespace to - use for pulling any images in pods that reference this ServiceAccount. ImagePullSecrets - are distinct from Secrets because Secrets can be mounted in the pod, but ImagePullSecrets - are only accessed by the kubelet. - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - secrets: - description: - - Secrets is the list of secrets allowed to be used by pods running using this - ServiceAccount. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -service_account: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether pods running as this service - account should have an API token automatically mounted. Can be overridden - at the pod level. - type: bool - image_pull_secrets: - description: - - ImagePullSecrets is a list of references to secrets in the same namespace - to use for pulling any images in pods that reference this ServiceAccount. - ImagePullSecrets are distinct from Secrets because Secrets can be mounted - in the pod, but ImagePullSecrets are only accessed by the kubelet. - type: list - contains: - name: - description: - - Name of the referent. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - secrets: - description: - - Secrets is the list of secrets allowed to be used by pods running using this - ServiceAccount. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this - string should contain a valid JSON/Go field access statement, such as - desiredState.manifest.containers[2]. For example, if the object reference - is to a container within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered the event) - or if no container name is specified "spec.containers[2]" (container with - index 2 in this pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('service_account', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_service_account_list.py b/library/k8s_v1_service_account_list.py deleted file mode 100644 index ee94c7bc..00000000 --- a/library/k8s_v1_service_account_list.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_service_account_list -short_description: Kubernetes ServiceAccountList -description: -- Retrieve a list of service_accounts. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -service_account_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ServiceAccounts. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether pods running as this service - account should have an API token automatically mounted. Can be overridden - at the pod level. - type: bool - image_pull_secrets: - description: - - ImagePullSecrets is a list of references to secrets in the same namespace - to use for pulling any images in pods that reference this ServiceAccount. - ImagePullSecrets are distinct from Secrets because Secrets can be mounted - in the pod, but ImagePullSecrets are only accessed by the kubelet. - type: list - contains: - name: - description: - - Name of the referent. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - secrets: - description: - - Secrets is the list of secrets allowed to be used by pods running using - this ServiceAccount. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, - this string should contain a valid JSON/Go field access statement, - such as desiredState.manifest.containers[2]. For example, if the object - reference is to a container within a pod, this would take on a value - like: "spec.containers{name}" (where "name" refers to the name of - the container that triggered the event) or if no container name is - specified "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way of referencing - a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('service_account_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_service_list.py b/library/k8s_v1_service_list.py deleted file mode 100644 index 4f09cef2..00000000 --- a/library/k8s_v1_service_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_service_list -short_description: Kubernetes ServiceList -description: -- Retrieve a list of services. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -service_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of services - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of a service. - type: complex - status: - description: - - Most recently observed status of the service. Populated by the system. - Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('service_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_status.py b/library/k8s_v1_status.py deleted file mode 100644 index 23e07b74..00000000 --- a/library/k8s_v1_status.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_status -short_description: Kubernetes Status -description: -- Manage the lifecycle of a status object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - code: - description: - - Suggested HTTP return code for this status, 0 if not set. - type: int - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - details_causes: - description: - - The Causes array includes more details associated with the StatusReason failure. - Not all StatusReasons may provide detailed causes. - aliases: - - causes - type: list - details_group: - description: - - The group attribute of the resource associated with the status StatusReason. - aliases: - - group - details_kind: - description: - - The kind attribute of the resource associated with the status StatusReason. - On some operations may differ from the requested resource Kind. - aliases: - - kind - details_name: - description: - - The name attribute of the resource associated with the status StatusReason (when - there is a single name which can be described). - aliases: - - name - details_retry_after_seconds: - description: - - If specified, the time in seconds before the operation should be retried. Some - errors may indicate the client must take an alternate action - for those errors - this field may indicate how long to wait before taking the alternate action. - aliases: - - retry_after_seconds - type: int - details_uid: - description: - - UID of the resource. (when there is a single resource which can be described). - aliases: - - uid - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - message: - description: - - A human-readable description of the status of this operation. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - reason: - description: - - A machine-readable description of why this operation is in the "Failure" status. - If this value is empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -status: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - code: - description: - - Suggested HTTP return code for this status, 0 if not set. - type: int - details: - description: - - Extended data associated with the reason. Each reason may define its own extended - details. This field is optional and the data returned is not guaranteed to - conform to any schema except that defined by the reason type. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - message: - description: - - A human-readable description of the status of this operation. - type: str - metadata: - description: - - Standard list metadata. - type: complex - reason: - description: - - A machine-readable description of why this operation is in the "Failure" status. - If this value is empty there is no information available. A Reason clarifies - an HTTP status code but does not override it. - type: str - status: - description: - - 'Status of the operation. One of: "Success" or "Failure".' - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('status', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_storage_class.py b/library/k8s_v1_storage_class.py deleted file mode 100644 index 53bd2356..00000000 --- a/library/k8s_v1_storage_class.py +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_storage_class -short_description: Kubernetes StorageClass -description: -- Manage the lifecycle of a storage_class object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs - will simply fail if one is invalid. - type: list - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - parameters: - description: - - Parameters holds the parameters for the provisioner that should create volumes - of this storage class. - type: dict - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - provisioner: - description: - - Provisioner indicates the type of the provisioner. - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -storage_class: - type: complex - returned: when I(state) = C(present) - contains: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the - PVs will simply fail if one is invalid. - type: list - contains: str - parameters: - description: - - Parameters holds the parameters for the provisioner that should create volumes - of this storage class. - type: complex - contains: str, str - provisioner: - description: - - Provisioner indicates the type of the provisioner. - type: str - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('storage_class', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_storage_class_list.py b/library/k8s_v1_storage_class_list.py deleted file mode 100644 index fe04f2cb..00000000 --- a/library/k8s_v1_storage_class_list.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_storage_class_list -short_description: Kubernetes StorageClassList -description: -- Retrieve a list of storage_class. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -storage_class_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of StorageClasses - type: list - contains: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of - the PVs will simply fail if one is invalid. - type: list - contains: str - parameters: - description: - - Parameters holds the parameters for the provisioner that should create - volumes of this storage class. - type: complex - contains: str, str - provisioner: - description: - - Provisioner indicates the type of the provisioner. - type: str - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('storage_class_list', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_subject_access_review.py b/library/k8s_v1_subject_access_review.py deleted file mode 100644 index fbd98eb4..00000000 --- a/library/k8s_v1_subject_access_review.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_subject_access_review -short_description: Kubernetes SubjectAccessReview -description: -- Manage the lifecycle of a subject_access_review object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_extra: - description: - - Extra corresponds to the user.Info.GetExtra() method from the authenticator. - Since that is input to the authorizer it needs a reflection here. - aliases: - - extra - type: dict - spec_groups: - description: - - Groups is the groups you're testing for. - aliases: - - groups - type: list - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - spec_uid: - description: - - UID information about the requesting user. - aliases: - - uid - spec_user: - description: - - User is the user you're testing for. If you specify "User" but not "Groups", - then is it interpreted as "What if User were not a member of any groups - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('subject_access_review', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1_token_review.py b/library/k8s_v1_token_review.py deleted file mode 100644 index 50eec535..00000000 --- a/library/k8s_v1_token_review.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1_token_review -short_description: Kubernetes TokenReview -description: -- Manage the lifecycle of a token_review object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_token: - description: - - Token is the opaque bearer token. - aliases: - - token - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -token_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request can be - authenticated. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('token_review', 'v1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_cluster_role.py b/library/k8s_v1alpha1_cluster_role.py deleted file mode 100644 index 13d15be4..00000000 --- a/library/k8s_v1alpha1_cluster_role.py +++ /dev/null @@ -1,204 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_cluster_role -short_description: Kubernetes ClusterRole -description: -- Manage the lifecycle of a cluster_role object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path This - name is intentionally different than the internal type so that the DefaultConvert - works nicely and because the ordering may be different. Since non-resource - URLs are not namespaced, this field is only applicable for ClusterRoles - referenced from a ClusterRoleBinding. Rules can either apply to API resources - (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), - but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_cluster_role_binding.py b/library/k8s_v1alpha1_cluster_role_binding.py deleted file mode 100644 index bba2faba..00000000 --- a/library/k8s_v1alpha1_cluster_role_binding.py +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_cluster_role_binding -short_description: Kubernetes ClusterRoleBinding -description: -- Manage the lifecycle of a cluster_role_binding object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef - cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_version: - description: - - APIVersion holds the API group and version of the referenced subject. - Defaults to "v1" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io/v1alpha1" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_cluster_role_binding_list.py b/library/k8s_v1alpha1_cluster_role_binding_list.py deleted file mode 100644 index 173e8a4b..00000000 --- a/library/k8s_v1alpha1_cluster_role_binding_list.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_cluster_role_binding_list -short_description: Kubernetes ClusterRoleBindingList -description: -- Retrieve a list of cluster_role_bindings. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the - RoleRef cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_version: - description: - - APIVersion holds the API group and version of the referenced subject. - Defaults to "v1" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io/v1alpha1" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_cluster_role_list.py b/library/k8s_v1alpha1_cluster_role_list.py deleted file mode 100644 index 3226a42a..00000000 --- a/library/k8s_v1alpha1_cluster_role_list.py +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_cluster_role_list -short_description: Kubernetes ClusterRoleList -description: -- Retrieve a list of cluster_roles. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path This - name is intentionally different than the internal type so that the - DefaultConvert works nicely and because the ordering may be different. - Since non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_external_admission_hook_configuration.py b/library/k8s_v1alpha1_external_admission_hook_configuration.py deleted file mode 100644 index 92f218ef..00000000 --- a/library/k8s_v1alpha1_external_admission_hook_configuration.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_external_admission_hook_configuration -short_description: Kubernetes ExternalAdmissionHookConfiguration -description: -- Manage the lifecycle of a external_admission_hook_configuration object. Supports - check mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - external_admission_hooks: - description: - - ExternalAdmissionHooks is a list of external admission webhooks and the affected - resources and operations. - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -external_admission_hook_configuration: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - external_admission_hooks: - description: - - ExternalAdmissionHooks is a list of external admission webhooks and the affected - resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the external admission webhook. Name should be fully qualified, - e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of the - webhook, and kubernetes.io is the name of the organization. Required. - type: str - rules: - description: - - Rules describes what operations on what resources/subresources the webhook - cares about. The webhook cares about an operation if it matches _any_ - Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all groups. - If '*' is present, the length of the slice must be one. Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is all - versions. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - CREATE, - UPDATE, or * for all operations. If '*' is present, the length of - the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means all\ - \ subresources of pods. '*/scale' means all scale subresources. '*/*'\ - \ means all resources and their subresources. If wildcard is present,\ - \ the validation rule will ensure resources do not overlap with each\ - \ other. Depending on the enclosing object, subresources might not\ - \ be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('external_admission_hook_configuration', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_external_admission_hook_configuration_list.py b/library/k8s_v1alpha1_external_admission_hook_configuration_list.py deleted file mode 100644 index dc9291f5..00000000 --- a/library/k8s_v1alpha1_external_admission_hook_configuration_list.py +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_external_admission_hook_configuration_list -short_description: Kubernetes ExternalAdmissionHookConfigurationList -description: -- Retrieve a list of external_admission_hook_configurations. List operations provide - a snapshot read of the underlying objects, returning a resource_version representing - a consistent version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -external_admission_hook_configuration_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ExternalAdmissionHookConfiguration. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - external_admission_hooks: - description: - - ExternalAdmissionHooks is a list of external admission webhooks and the - affected resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the external admission webhook. Name should be fully qualified, - e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of - the webhook, and kubernetes.io is the name of the organization. Required. - type: str - rules: - description: - - Rules describes what operations on what resources/subresources the - webhook cares about. The webhook cares about an operation if it matches - _any_ Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all - groups. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is - all versions. If '*' is present, the length of the slice must - be one. Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - - CREATE, UPDATE, or * for all operations. If '*' is present, the - length of the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means\ - \ all subresources of pods. '*/scale' means all scale subresources.\ - \ '*/*' means all resources and their subresources. If wildcard\ - \ is present, the validation rule will ensure resources do not\ - \ overlap with each other. Depending on the enclosing object,\ - \ subresources might not be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('external_admission_hook_configuration_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_initializer_configuration.py b/library/k8s_v1alpha1_initializer_configuration.py deleted file mode 100644 index 85e89f47..00000000 --- a/library/k8s_v1alpha1_initializer_configuration.py +++ /dev/null @@ -1,212 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_initializer_configuration -short_description: Kubernetes InitializerConfiguration -description: -- Manage the lifecycle of a initializer_configuration object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - initializers: - description: - - Initializers is a list of resources and their default initializers Order-sensitive. - When merging multiple InitializerConfigurations, we sort the initializers from - different InitializerConfigurations by the name of the InitializerConfigurations; - the order of the initializers from the same InitializerConfiguration is preserved. - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -initializer_configuration: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - initializers: - description: - - Initializers is a list of resources and their default initializers Order-sensitive. - When merging multiple InitializerConfigurations, we sort the initializers - from different InitializerConfigurations by the name of the InitializerConfigurations; - the order of the initializers from the same InitializerConfiguration is preserved. - type: list - contains: - name: - description: - - Name is the identifier of the initializer. It will be added to the object - that needs to be initialized. Name should be fully qualified, e.g., alwayspullimages.kubernetes.io, - where "alwayspullimages" is the name of the webhook, and kubernetes.io - is the name of the organization. Required - type: str - rules: - description: - - Rules describes what resources/subresources the initializer cares about. - The initializer cares about an operation if it matches _any_ Rule. Rule.Resources - must not include subresources. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all groups. - If '*' is present, the length of the slice must be one. Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is all - versions. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means all\ - \ subresources of pods. '*/scale' means all scale subresources. '*/*'\ - \ means all resources and their subresources. If wildcard is present,\ - \ the validation rule will ensure resources do not overlap with each\ - \ other. Depending on the enclosing object, subresources might not\ - \ be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('initializer_configuration', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_initializer_configuration_list.py b/library/k8s_v1alpha1_initializer_configuration_list.py deleted file mode 100644 index 1e3b1d1d..00000000 --- a/library/k8s_v1alpha1_initializer_configuration_list.py +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_initializer_configuration_list -short_description: Kubernetes InitializerConfigurationList -description: -- Retrieve a list of initializer_configurations. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -initializer_configuration_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of InitializerConfiguration. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - initializers: - description: - - Initializers is a list of resources and their default initializers Order-sensitive. - When merging multiple InitializerConfigurations, we sort the initializers - from different InitializerConfigurations by the name of the InitializerConfigurations; - the order of the initializers from the same InitializerConfiguration is - preserved. - type: list - contains: - name: - description: - - Name is the identifier of the initializer. It will be added to the - object that needs to be initialized. Name should be fully qualified, - e.g., alwayspullimages.kubernetes.io, where "alwayspullimages" is - the name of the webhook, and kubernetes.io is the name of the organization. - Required - type: str - rules: - description: - - Rules describes what resources/subresources the initializer cares - about. The initializer cares about an operation if it matches _any_ - Rule. Rule.Resources must not include subresources. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all - groups. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is - all versions. If '*' is present, the length of the slice must - be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means\ - \ all subresources of pods. '*/scale' means all scale subresources.\ - \ '*/*' means all resources and their subresources. If wildcard\ - \ is present, the validation rule will ensure resources do not\ - \ overlap with each other. Depending on the enclosing object,\ - \ subresources might not be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('initializer_configuration_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_pod_preset.py b/library/k8s_v1alpha1_pod_preset.py deleted file mode 100644 index 26524fa7..00000000 --- a/library/k8s_v1alpha1_pod_preset.py +++ /dev/null @@ -1,200 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_pod_preset -short_description: Kubernetes PodPreset -description: -- Manage the lifecycle of a pod_preset object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_env: - description: - - Env defines the collection of EnvVar to inject into containers. - aliases: - - env - type: list - spec_env_from: - description: - - EnvFrom defines the collection of EnvFromSource to inject into containers. - aliases: - - env_from - type: list - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_volume_mounts: - description: - - VolumeMounts defines the collection of VolumeMount to inject into containers. - aliases: - - volume_mounts - type: list - spec_volumes: - description: - - Volumes defines the collection of Volume to inject into the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_preset: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_preset', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_pod_preset_list.py b/library/k8s_v1alpha1_pod_preset_list.py deleted file mode 100644 index 871ac61a..00000000 --- a/library/k8s_v1alpha1_pod_preset_list.py +++ /dev/null @@ -1,159 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_pod_preset_list -short_description: Kubernetes PodPresetList -description: -- Retrieve a list of pod_presets. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_preset_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of schema objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: [] - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_preset_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_priority_class.py b/library/k8s_v1alpha1_priority_class.py deleted file mode 100644 index d0ba5d01..00000000 --- a/library/k8s_v1alpha1_priority_class.py +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_priority_class -short_description: Kubernetes PriorityClass -description: -- Manage the lifecycle of a priority_class object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - description: - description: - - description is an arbitrary string that usually provides guidelines on when - this priority class should be used. - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - global_default: - description: - - globalDefault specifies whether this PriorityClass should be considered as the - default priority for pods that do not have any priority class. - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - value: - description: - - The value of this priority class. This is the actual priority that pods receive - when they have the name of this class in their pod spec. - type: int - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -priority_class: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - description: - description: - - description is an arbitrary string that usually provides guidelines on when - this priority class should be used. - type: str - global_default: - description: - - globalDefault specifies whether this PriorityClass should be considered as - the default priority for pods that do not have any priority class. - type: bool - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - value: - description: - - The value of this priority class. This is the actual priority that pods receive - when they have the name of this class in their pod spec. - type: int -''' - - -def main(): - try: - module = KubernetesAnsibleModule('priority_class', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_priority_class_list.py b/library/k8s_v1alpha1_priority_class_list.py deleted file mode 100644 index d46baa5a..00000000 --- a/library/k8s_v1alpha1_priority_class_list.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_priority_class_list -short_description: Kubernetes PriorityClassList -description: -- Retrieve a list of priority_class. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -priority_class_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of PriorityClasses - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - description: - description: - - description is an arbitrary string that usually provides guidelines on - when this priority class should be used. - type: str - global_default: - description: - - globalDefault specifies whether this PriorityClass should be considered - as the default priority for pods that do not have any priority class. - type: bool - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - value: - description: - - The value of this priority class. This is the actual priority that pods - receive when they have the name of this class in their pod spec. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('priority_class_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_role.py b/library/k8s_v1alpha1_role.py deleted file mode 100644 index 51b8f7f0..00000000 --- a/library/k8s_v1alpha1_role.py +++ /dev/null @@ -1,204 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_role -short_description: Kubernetes Role -description: -- Manage the lifecycle of a role object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path This - name is intentionally different than the internal type so that the DefaultConvert - works nicely and because the ordering may be different. Since non-resource - URLs are not namespaced, this field is only applicable for ClusterRoles - referenced from a ClusterRoleBinding. Rules can either apply to API resources - (such as "pods" or "secrets") or non-resource URL paths (such as "/api"), - but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_role_binding.py b/library/k8s_v1alpha1_role_binding.py deleted file mode 100644 index 0bdd8e34..00000000 --- a/library/k8s_v1alpha1_role_binding.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_role_binding -short_description: Kubernetes RoleBinding -description: -- Manage the lifecycle of a role_binding object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole in - the global namespace. If the RoleRef cannot be resolved, the Authorizer must - return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_version: - description: - - APIVersion holds the API group and version of the referenced subject. - Defaults to "v1" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io/v1alpha1" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_role_binding_list.py b/library/k8s_v1alpha1_role_binding_list.py deleted file mode 100644 index f15c87b2..00000000 --- a/library/k8s_v1alpha1_role_binding_list.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_role_binding_list -short_description: Kubernetes RoleBindingList -description: -- Retrieve a list of role_bindings. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of RoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole - in the global namespace. If the RoleRef cannot be resolved, the Authorizer - must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_version: - description: - - APIVersion holds the API group and version of the referenced subject. - Defaults to "v1" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io/v1alpha1" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1alpha1_role_list.py b/library/k8s_v1alpha1_role_list.py deleted file mode 100644 index f2f1f1a5..00000000 --- a/library/k8s_v1alpha1_role_list.py +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1alpha1_role_list -short_description: Kubernetes RoleList -description: -- Retrieve a list of roles. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of Roles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path This - name is intentionally different than the internal type so that the - DefaultConvert works nicely and because the ordering may be different. - Since non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_list', 'v1alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_api_service.py b/library/k8s_v1beta1_api_service.py deleted file mode 100644 index 3e302bf8..00000000 --- a/library/k8s_v1beta1_api_service.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_api_service -short_description: Kubernetes APIService -description: -- Manage the lifecycle of a api_service object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_ca_bundle: - description: - - CABundle is a PEM encoded CA bundle which will be used to validate an API server's - serving certificate. - aliases: - - ca_bundle - spec_group: - description: - - Group is the API group name this server hosts - aliases: - - group - spec_group_priority_minimum: - description: - - "GroupPriorityMininum is the priority this group should have at least. Higher\ - \ priority means that the group is prefered by clients over lower priority ones.\ - \ Note that other versions of this group might specify even higher GroupPriorityMininum\ - \ values such that the whole group gets a higher priority. The primary sort\ - \ is based on GroupPriorityMinimum, ordered highest number to lowest (20 before\ - \ 10). The secondary sort is based on the alphabetical comparison of the name\ - \ of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io\ - \ (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended\ - \ to be in the 2000s" - aliases: - - group_priority_minimum - type: int - spec_insecure_skip_tls_verify: - description: - - InsecureSkipTLSVerify disables TLS certificate verification when communicating - with this server. This is strongly discouraged. You should use the CABundle - instead. - aliases: - - insecure_skip_tls_verify - type: bool - spec_service_name: - description: - - Name is the name of the service - aliases: - - service_name - spec_service_namespace: - description: - - Namespace is the namespace of the service - aliases: - - service_namespace - spec_version: - description: - - Version is the API version this server hosts. For example, "v1" - aliases: - - version - spec_version_priority: - description: - - VersionPriority controls the ordering of this API version inside of its group. - Must be greater than zero. The primary sort is based on VersionPriority, ordered - highest to lowest (20 before 10). The secondary sort is based on the alphabetical - comparison of the name of the object. (v1.bar before v1.foo) Since it's inside - of a group, the number can be small, probably in the 10s. - aliases: - - version_priority - type: int - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -api_service: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec contains information for locating and communicating with a server - type: complex - status: - description: - - Status contains derived information about an API server - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('api_service', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_api_service_list.py b/library/k8s_v1beta1_api_service_list.py deleted file mode 100644 index 2b426717..00000000 --- a/library/k8s_v1beta1_api_service_list.py +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_api_service_list -short_description: Kubernetes APIServiceList -description: -- Retrieve a list of api_services. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -api_service_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec contains information for locating and communicating with a server - type: complex - status: - description: - - Status contains derived information about an API server - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('api_service_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_certificate_signing_request.py b/library/k8s_v1beta1_certificate_signing_request.py deleted file mode 100644 index 15a62c89..00000000 --- a/library/k8s_v1beta1_certificate_signing_request.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_certificate_signing_request -short_description: Kubernetes CertificateSigningRequest -description: -- Manage the lifecycle of a certificate_signing_request object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_extra: - description: - - Extra information about the requesting user. See user.Info interface for details. - aliases: - - extra - type: dict - spec_groups: - description: - - Group information about the requesting user. See user.Info interface for details. - aliases: - - groups - type: list - spec_request: - description: - - Base64-encoded PKCS - aliases: - - request - spec_uid: - description: - - UID information about the requesting user. See user.Info interface for details. - aliases: - - uid - spec_usages: - description: - - 'allowedUsages specifies a set of usage contexts the key will be valid for. - See:' - aliases: - - usages - type: list - spec_username: - description: - - Information about the requesting user. See user.Info interface for details. - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -certificate_signing_request: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - The certificate request itself and any additional information. - type: complex - status: - description: - - Derived information about the request. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('certificate_signing_request', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_certificate_signing_request_list.py b/library/k8s_v1beta1_certificate_signing_request_list.py deleted file mode 100644 index 4f93ac9d..00000000 --- a/library/k8s_v1beta1_certificate_signing_request_list.py +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_certificate_signing_request_list -short_description: Kubernetes CertificateSigningRequestList -description: -- Retrieve a list of certificate_signing_requests. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -certificate_signing_request_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - The certificate request itself and any additional information. - type: complex - status: - description: - - Derived information about the request. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('certificate_signing_request_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cluster_role.py b/library/k8s_v1beta1_cluster_role.py deleted file mode 100644 index 8957ee63..00000000 --- a/library/k8s_v1beta1_cluster_role.py +++ /dev/null @@ -1,202 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cluster_role -short_description: Kubernetes ClusterRole -description: -- Manage the lifecycle of a cluster_role object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable for - ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply - to API resources (such as "pods" or "secrets") or non-resource URL paths - (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cluster_role_binding.py b/library/k8s_v1beta1_cluster_role_binding.py deleted file mode 100644 index d2e14a41..00000000 --- a/library/k8s_v1beta1_cluster_role_binding.py +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cluster_role_binding -short_description: Kubernetes ClusterRoleBinding -description: -- Manage the lifecycle of a cluster_role_binding object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the RoleRef - cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to "" - for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for - User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cluster_role_binding_list.py b/library/k8s_v1beta1_cluster_role_binding_list.py deleted file mode 100644 index 685c771d..00000000 --- a/library/k8s_v1beta1_cluster_role_binding_list.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cluster_role_binding_list -short_description: Kubernetes ClusterRoleBindingList -description: -- Retrieve a list of cluster_role_bindings. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference a ClusterRole in the global namespace. If the - RoleRef cannot be resolved, the Authorizer must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to - "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_binding_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cluster_role_list.py b/library/k8s_v1beta1_cluster_role_list.py deleted file mode 100644 index 04b88d28..00000000 --- a/library/k8s_v1beta1_cluster_role_list.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cluster_role_list -short_description: Kubernetes ClusterRoleList -description: -- Retrieve a list of cluster_roles. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cluster_role_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_controller_revision.py b/library/k8s_v1beta1_controller_revision.py deleted file mode 100644 index e90cb2df..00000000 --- a/library/k8s_v1beta1_controller_revision.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_controller_revision -short_description: Kubernetes ControllerRevision -description: -- Manage the lifecycle of a controller_revision object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - data_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - raw - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int -''' - - -def main(): - try: - module = KubernetesAnsibleModule('controller_revision', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_controller_revision_list.py b/library/k8s_v1beta1_controller_revision_list.py deleted file mode 100644 index 89534754..00000000 --- a/library/k8s_v1beta1_controller_revision_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_controller_revision_list -short_description: Kubernetes ControllerRevisionList -description: -- Retrieve a list of controller_revisions. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of ControllerRevisions - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - '' - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('controller_revision_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cron_job.py b/library/k8s_v1beta1_cron_job.py deleted file mode 100644 index be509e01..00000000 --- a/library/k8s_v1beta1_cron_job.py +++ /dev/null @@ -1,616 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cron_job -short_description: Kubernetes CronJob -description: -- Manage the lifecycle of a cron_job object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_concurrency_policy: - description: - - Specifies how to treat concurrent executions of a Job. Defaults to Allow. - aliases: - - concurrency_policy - spec_failed_jobs_history_limit: - description: - - The number of failed finished jobs to retain. This is a pointer to distinguish - between explicit zero and not specified. Defaults to 1. - aliases: - - failed_jobs_history_limit - type: int - spec_job_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - aliases: - - job__metadata_annotations - type: dict - spec_job_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - aliases: - - job__metadata_labels - type: dict - spec_job_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - aliases: - - job__metadata_name - spec_job_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - aliases: - - job__metadata_namespace - spec_job_template_spec_active_deadline_seconds: - description: - - Specifies the duration in seconds relative to the startTime that the job may - be active before the system tries to terminate it; value must be positive integer - aliases: - - job__active_deadline_seconds - type: int - spec_job_template_spec_backoff_limit: - description: - - Specifies the number of retries before marking this job failed. Defaults to - 6 - aliases: - - job__backoff_limit - type: int - spec_job_template_spec_completions: - description: - - Specifies the desired number of successfully finished pods the job should be - run with. Setting to nil means that the success of any pod signals the success - of all pods, and allows parallelism to have any positive value. Setting to 1 - means that parallelism is limited to 1 and the success of that pod signals the - success of the job. - aliases: - - job__completions - type: int - spec_job_template_spec_manual_selector: - description: - - manualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` - unset unless you are certain what you are doing. When false or unset, the system - pick labels unique to this job and appends those labels to the pod template. - When true, the user is responsible for picking unique labels and specifying - the selector. Failure to pick a unique label may cause this and other jobs to - not function correctly. However, You may see `manualSelector=true` in jobs that - were created with the old `extensions/v1beta1` API. - aliases: - - job__manual_selector - type: bool - spec_job_template_spec_parallelism: - description: - - Specifies the maximum desired number of pods the job should run at any given - time. The actual number of pods running in steady state will be less than this - number when ((.spec.completions - .status.successful) < .spec.parallelism), - i.e. when the work left to do is less than max parallelism. - aliases: - - job__parallelism - type: int - spec_job_template_spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - job__selector_match_expressions - type: list - spec_job_template_spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - job__selector_match_labels - type: dict - spec_job_template_spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_job_template_spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_job_template_spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_job_template_spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_job_template_spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - type: int - spec_job_template_spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - ? spec_job_template_spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - : description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - job__affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_job_template_spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - job__affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - job__affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - job__automount_service_account_token - type: bool - spec_job_template_spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - job__containers - type: list - spec_job_template_spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - job__dns_policy - spec_job_template_spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - job__host_aliases - type: list - spec_job_template_spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - job__host_ipc - type: bool - spec_job_template_spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - job__host_network - type: bool - spec_job_template_spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - job__host_pid - type: bool - spec_job_template_spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - job__hostname - spec_job_template_spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - job__image_pull_secrets - type: list - spec_job_template_spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - job__init_containers - type: list - spec_job_template_spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - job__node_name - spec_job_template_spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - job__node_selector - type: dict - spec_job_template_spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - job__priority - type: int - spec_job_template_spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - job__priority_class_name - spec_job_template_spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - job__restart_policy - spec_job_template_spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - job__scheduler_name - spec_job_template_spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - job__securitycontext_fs_group - type: int - spec_job_template_spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - job__securitycontext_run_as_non_root - type: bool - spec_job_template_spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - job__securitycontext_run_as_user - type: int - spec_job_template_spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_level - spec_job_template_spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_role - spec_job_template_spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_type - spec_job_template_spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_user - spec_job_template_spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - job__securitycontext_supplemental_groups - type: list - spec_job_template_spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - job__service_account - spec_job_template_spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - job__service_account_name - spec_job_template_spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - job__subdomain - spec_job_template_spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - job__termination_grace_period_seconds - type: int - spec_job_template_spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - job__tolerations - type: list - spec_job_template_spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - job__volumes - type: list - spec_schedule: - description: - - The schedule in Cron format, see - aliases: - - schedule - spec_starting_deadline_seconds: - description: - - Optional deadline in seconds for starting the job if it misses scheduled time - for any reason. Missed jobs executions will be counted as failed ones. - aliases: - - starting_deadline_seconds - type: int - spec_successful_jobs_history_limit: - description: - - The number of successful finished jobs to retain. This is a pointer to distinguish - between explicit zero and not specified. Defaults to 3. - aliases: - - successful_jobs_history_limit - type: int - spec_suspend: - description: - - This flag tells the controller to suspend subsequent executions, it does not - apply to already started executions. Defaults to false. - aliases: - - suspend - type: bool - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cron_job: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a cron job, including the schedule. - type: complex - status: - description: - - Current status of a cron job. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cron_job', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_cron_job_list.py b/library/k8s_v1beta1_cron_job_list.py deleted file mode 100644 index bf33d8fc..00000000 --- a/library/k8s_v1beta1_cron_job_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_cron_job_list -short_description: Kubernetes CronJobList -description: -- Retrieve a list of cron_jobs. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cron_job_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of CronJobs. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a cron job, including the schedule. - type: complex - status: - description: - - Current status of a cron job. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cron_job_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_custom_resource_definition.py b/library/k8s_v1beta1_custom_resource_definition.py deleted file mode 100644 index 04e49eca..00000000 --- a/library/k8s_v1beta1_custom_resource_definition.py +++ /dev/null @@ -1,283 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_custom_resource_definition -short_description: Kubernetes CustomResourceDefinition -description: -- Manage the lifecycle of a custom_resource_definition object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_group: - description: - - Group is the group this resource belongs in - aliases: - - group - spec_names_kind: - description: - - Kind is the serialized kind of the resource. It is normally CamelCase and singular. - aliases: - - names_kind - spec_names_list_kind: - description: - - ListKind is the serialized kind of the list for this resource. Defaults to List. - aliases: - - names_list_kind - spec_names_plural: - description: - - 'Plural is the plural name of the resource to serve. It must match the name - of the CustomResourceDefinition-registration too: plural.group and it must be - all lowercase.' - aliases: - - names_plural - spec_names_short_names: - description: - - ShortNames are short names for the resource. It must be all lowercase. - aliases: - - names_short_names - type: list - spec_names_singular: - description: - - Singular is the singular name of the resource. It must be all lowercase Defaults - to lowercased - aliases: - - names_singular - spec_scope: - description: - - Scope indicates whether this resource is cluster or namespace scoped. Default - is namespaced - aliases: - - scope - spec_validation_open_apiv3_schema_additional_items_allows: - aliases: - - validation_open_apiv3_schema_additional_items_allows - type: bool - spec_validation_open_apiv3_schema_additional_properties_allows: - aliases: - - validation_open_apiv3_schema_additional_properties_allows - type: bool - spec_validation_open_apiv3_schema_all_of: - aliases: - - validation_open_apiv3_schema_all_of - type: list - spec_validation_open_apiv3_schema_any_of: - aliases: - - validation_open_apiv3_schema_any_of - type: list - spec_validation_open_apiv3_schema_description: - aliases: - - validation_open_apiv3_schema_description - spec_validation_open_apiv3_schema_enum: - aliases: - - validation_open_apiv3_schema_enum - type: list - spec_validation_open_apiv3_schema_format: - aliases: - - validation_open_apiv3_schema_format - spec_validation_open_apiv3_schema_id: - aliases: - - validation_open_apiv3_schema_id - spec_validation_open_apiv3_schema_max_length: - aliases: - - validation_open_apiv3_schema_max_length - type: int - spec_validation_open_apiv3_schema_max_properties: - aliases: - - validation_open_apiv3_schema_max_properties - type: int - spec_validation_open_apiv3_schema_min_items: - aliases: - - validation_open_apiv3_schema_min_items - type: int - spec_validation_open_apiv3_schema_min_properties: - aliases: - - validation_open_apiv3_schema_min_properties - type: int - spec_validation_open_apiv3_schema_minimum: - aliases: - - validation_open_apiv3_schema_minimum - type: float - spec_validation_open_apiv3_schema_multiple_of: - aliases: - - validation_open_apiv3_schema_multiple_of - type: float - spec_validation_open_apiv3_schema_pattern: - aliases: - - validation_open_apiv3_schema_pattern - spec_validation_open_apiv3_schema_pattern_properties: - aliases: - - validation_open_apiv3_schema_pattern_properties - type: dict - spec_validation_open_apiv3_schema_schema: - aliases: - - validation_open_apiv3_schema_schema - spec_validation_open_apiv3_schema_title: - aliases: - - validation_open_apiv3_schema_title - spec_validation_open_apiv3_schema_type: - aliases: - - validation_open_apiv3_schema_type - spec_validation_open_apiv3_schema_unique_items: - aliases: - - validation_open_apiv3_schema_unique_items - type: bool - spec_version: - description: - - Version is the version this resource belongs in - aliases: - - version - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -custom_resource_definition: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec describes how the user wants the resources to appear - type: complex - status: - description: - - Status indicates the actual state of the CustomResourceDefinition - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('custom_resource_definition', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_custom_resource_definition_list.py b/library/k8s_v1beta1_custom_resource_definition_list.py deleted file mode 100644 index 05ea978d..00000000 --- a/library/k8s_v1beta1_custom_resource_definition_list.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_custom_resource_definition_list -short_description: Kubernetes CustomResourceDefinitionList -description: -- Retrieve a list of custom_resource_definitions. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -custom_resource_definition_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items individual CustomResourceDefinitions - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec describes how the user wants the resources to appear - type: complex - status: - description: - - Status indicates the actual state of the CustomResourceDefinition - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('custom_resource_definition_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_daemon_set.py b/library/k8s_v1beta1_daemon_set.py deleted file mode 100644 index 00dda966..00000000 --- a/library/k8s_v1beta1_daemon_set.py +++ /dev/null @@ -1,549 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_daemon_set -short_description: Kubernetes DaemonSet -description: -- Manage the lifecycle of a daemon_set object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - The minimum number of seconds for which a newly created DaemonSet pod should - be ready without any of its container crashing, for it to be considered available. - Defaults to 0 (pod will be considered available as soon as it is ready). - aliases: - - min_ready_seconds - type: int - spec_revision_history_limit: - description: - - The number of old history to retain to allow rollback. This is a pointer to - distinguish between explicit zero and not specified. Defaults to 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_generation: - description: - - DEPRECATED. A sequence number representing a specific generation of the template. - Populated by the system. It can be set only during the creation. - aliases: - - template_generation - type: int - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of DaemonSet pods that can be unavailable during the update. - Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet - pods at the start of the update (ex: 10%). Absolute number is calculated from - percentage by rounding up. This cannot be 0. Default value is 1. Example: when - this is set to 30%, at most 30% of the total number of nodes that should be - running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods - stopped for an update at any given time. The update starts by stopping at most - 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. - Once the new pods are available, it then proceeds onto other DaemonSet pods, - thus ensuring that at least 70% of original number of DaemonSet pods are available - at all times during the update.' - aliases: - - update_strategy_rolling_update_max_unavailable - type: object - spec_update_strategy_type: - description: - - Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is - OnDelete. - aliases: - - update_strategy_type - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by some - window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('daemon_set', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_daemon_set_list.py b/library/k8s_v1beta1_daemon_set_list.py deleted file mode 100644 index c10a1b44..00000000 --- a/library/k8s_v1beta1_daemon_set_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_daemon_set_list -short_description: Kubernetes DaemonSetList -description: -- Retrieve a list of daemon_sets. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - A list of daemon sets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by - some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('daemon_set_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_eviction.py b/library/k8s_v1beta1_eviction.py deleted file mode 100644 index 173f181e..00000000 --- a/library/k8s_v1beta1_eviction.py +++ /dev/null @@ -1,182 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_eviction -short_description: Kubernetes Eviction -description: -- Manage the lifecycle of a eviction object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - delete_options_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - api_version - delete_options_grace_period_seconds: - description: - - The duration in seconds before the object should be deleted. Value must be non-negative - integer. The value zero indicates delete immediately. If this value is nil, - the default grace period for the specified type will be used. Defaults to a - per object value if not specified. zero means delete immediately. - aliases: - - grace_period_seconds - type: int - delete_options_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - kind - delete_options_orphan_dependents: - description: - - "Deprecated: please use the PropagationPolicy, this field will be deprecated\ - \ in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\"\ - \ finalizer will be added to/removed from the object's finalizers list. Either\ - \ this field or PropagationPolicy may be set, but not both." - aliases: - - orphan_dependents - type: bool - delete_options_preconditions_uid: - description: - - Specifies the target UID. - aliases: - - uid - delete_options_propagation_policy: - description: - - Whether and how garbage collection will be performed. Either this field or OrphanDependents - may be set, but not both. The default policy is decided by the existing finalizer - set in the metadata.finalizers and the resource-specific default policy. - aliases: - - propagation_policy - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -eviction: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - delete_options: - description: - - DeleteOptions may be provided - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - ObjectMeta describes the pod that is being evicted. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('eviction', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_ingress.py b/library/k8s_v1beta1_ingress.py deleted file mode 100644 index 5692f319..00000000 --- a/library/k8s_v1beta1_ingress.py +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_ingress -short_description: Kubernetes Ingress -description: -- Manage the lifecycle of a ingress object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_backend_service_name: - description: - - Specifies the name of the referenced service. - aliases: - - backend_service_name - spec_backend_service_port: - description: - - Specifies the port of the referenced service. - aliases: - - backend_service_port - type: object - spec_rules: - description: - - A list of host rules used to configure the Ingress. If unspecified, or no rule - matches, all traffic is sent to the default backend. - aliases: - - rules - type: list - spec_tls: - description: - - TLS configuration. Currently the Ingress only supports a single TLS port, 443. - If multiple members of this list specify different hosts, they will be multiplexed - on the same port according to the hostname specified through the SNI TLS extension, - if the ingress controller fulfilling the ingress supports SNI. - aliases: - - tls - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -ingress: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec is the desired state of the Ingress. - type: complex - status: - description: - - Status is the current state of the Ingress. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('ingress', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_ingress_list.py b/library/k8s_v1beta1_ingress_list.py deleted file mode 100644 index e2a420c6..00000000 --- a/library/k8s_v1beta1_ingress_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_ingress_list -short_description: Kubernetes IngressList -description: -- Retrieve a list of ingress. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -ingress_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Ingress. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec is the desired state of the Ingress. - type: complex - status: - description: - - Status is the current state of the Ingress. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('ingress_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_local_subject_access_review.py b/library/k8s_v1beta1_local_subject_access_review.py deleted file mode 100644 index 28a3079f..00000000 --- a/library/k8s_v1beta1_local_subject_access_review.py +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_local_subject_access_review -short_description: Kubernetes LocalSubjectAccessReview -description: -- Manage the lifecycle of a local_subject_access_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_extra: - description: - - Extra corresponds to the user.Info.GetExtra() method from the authenticator. - Since that is input to the authorizer it needs a reflection here. - aliases: - - extra - type: dict - spec_group: - description: - - Groups is the groups you're testing for. - aliases: - - group - type: list - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - spec_uid: - description: - - UID information about the requesting user. - aliases: - - uid - spec_user: - description: - - User is the user you're testing for. If you specify "User" but not "Group", - then is it interpreted as "What if User were not a member of any groups - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -local_subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. spec.namespace must - be equal to the namespace you made the request against. If empty, it is defaulted. - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('local_subject_access_review', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_network_policy.py b/library/k8s_v1beta1_network_policy.py deleted file mode 100644 index 6ed55a1a..00000000 --- a/library/k8s_v1beta1_network_policy.py +++ /dev/null @@ -1,216 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_network_policy -short_description: Kubernetes NetworkPolicy -description: -- Manage the lifecycle of a network_policy object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_egress: - description: - - List of egress rules to be applied to the selected pods. Outgoing traffic is - allowed if there are no NetworkPolicies selecting the pod (and cluster policy - otherwise allows the traffic), OR if the traffic matches at least one egress - rule across all of the NetworkPolicy objects whose podSelector matches the pod. - If this field is empty then this NetworkPolicy limits all outgoing traffic (and - serves solely to ensure that the pods it selects are isolated by default). This - field is beta-level in 1.8 - aliases: - - egress - type: list - spec_ingress: - description: - - List of ingress rules to be applied to the selected pods. Traffic is allowed - to a pod if there are no NetworkPolicies selecting the pod OR if the traffic - source is the pod's local node, OR if the traffic matches at least one ingress - rule across all of the NetworkPolicy objects whose podSelector matches the pod. - If this field is empty then this NetworkPolicy does not allow any traffic (and - serves solely to ensure that the pods it selects are isolated by default). - aliases: - - ingress - type: list - spec_pod_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - pod_selector_match_expressions - type: list - spec_pod_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - pod_selector_match_labels - type: dict - spec_policy_types: - description: - - List of rule types that the NetworkPolicy relates to. Valid options are Ingress, - Egress, or Ingress,Egress. If this field is not specified, it will default based - on the existence of Ingress or Egress rules; policies that contain an Egress - section are assumed to affect Egress, and all policies (whether or not they - contain an Ingress section) are assumed to affect Ingress. If you want to write - an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. - Likewise, if you want to write a policy that specifies that no egress is allowed, - you must specify a policyTypes value that include "Egress" (since such a policy - would not include an Egress section and would otherwise default to just [ "Ingress" - ]). This field is beta-level in 1.8 - aliases: - - policy_types - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -network_policy: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior for this NetworkPolicy. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('network_policy', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_network_policy_list.py b/library/k8s_v1beta1_network_policy_list.py deleted file mode 100644 index a9d7cc21..00000000 --- a/library/k8s_v1beta1_network_policy_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_network_policy_list -short_description: Kubernetes NetworkPolicyList -description: -- Retrieve a list of network_policys. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -network_policy_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of schema objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior for this NetworkPolicy. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('network_policy_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_pod_disruption_budget.py b/library/k8s_v1beta1_pod_disruption_budget.py deleted file mode 100644 index 692b3fa4..00000000 --- a/library/k8s_v1beta1_pod_disruption_budget.py +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_pod_disruption_budget -short_description: Kubernetes PodDisruptionBudget -description: -- Manage the lifecycle of a pod_disruption_budget object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_max_unavailable: - description: - - An eviction is allowed if at most "maxUnavailable" pods selected by "selector" - are unavailable after the eviction, i.e. even in absence of the evicted pod. - For example, one can prevent all voluntary evictions by specifying 0. This is - a mutually exclusive setting with "minAvailable". - aliases: - - max_unavailable - type: object - spec_min_available: - description: - - An eviction is allowed if at least "minAvailable" pods selected by "selector" - will still be available after the eviction, i.e. even in the absence of the - evicted pod. So for example you can prevent all voluntary evictions by specifying - "100%". - aliases: - - min_available - type: object - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_disruption_budget: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Specification of the desired behavior of the PodDisruptionBudget. - type: complex - status: - description: - - Most recently observed status of the PodDisruptionBudget. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_disruption_budget', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_pod_disruption_budget_list.py b/library/k8s_v1beta1_pod_disruption_budget_list.py deleted file mode 100644 index 3bf838e1..00000000 --- a/library/k8s_v1beta1_pod_disruption_budget_list.py +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_pod_disruption_budget_list -short_description: Kubernetes PodDisruptionBudgetList -description: -- Retrieve a list of pod_disruption_budgets. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_disruption_budget_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Specification of the desired behavior of the PodDisruptionBudget. - type: complex - status: - description: - - Most recently observed status of the PodDisruptionBudget. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_disruption_budget_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_pod_security_policy.py b/library/k8s_v1beta1_pod_security_policy.py deleted file mode 100644 index 74a396b9..00000000 --- a/library/k8s_v1beta1_pod_security_policy.py +++ /dev/null @@ -1,317 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_pod_security_policy -short_description: Kubernetes PodSecurityPolicy -description: -- Manage the lifecycle of a pod_security_policy object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_allow_privilege_escalation: - description: - - AllowPrivilegeEscalation determines if a pod can request to allow privilege - escalation. If unspecified, defaults to true. - aliases: - - allow_privilege_escalation - type: bool - spec_allowed_capabilities: - description: - - AllowedCapabilities is a list of capabilities that can be requested to add to - the container. Capabilities in this field may be added at the pod author's discretion. - You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. - aliases: - - allowed_capabilities - type: list - spec_allowed_host_paths: - description: - - is a white list of allowed host paths. Empty indicates that all host paths may - be used. - aliases: - - allowed_host_paths - type: list - spec_default_add_capabilities: - description: - - DefaultAddCapabilities is the default set of capabilities that will be added - to the container unless the pod spec specifically drops the capability. You - may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities. - aliases: - - default_add_capabilities - type: list - spec_default_allow_privilege_escalation: - description: - - DefaultAllowPrivilegeEscalation controls the default setting for whether a process - can gain more privileges than its parent process. - aliases: - - default_allow_privilege_escalation - type: bool - spec_fs_group_ranges: - description: - - Ranges are the allowed ranges of fs groups. If you would like to force a single - fs group then supply a single range with the same start and end. - aliases: - - fs_group_ranges - type: list - spec_fs_group_rule: - description: - - Rule is the strategy that will dictate what FSGroup is used in the SecurityContext. - aliases: - - fs_group_rule - spec_host_ipc: - description: - - hostIPC determines if the policy allows the use of HostIPC in the pod spec. - aliases: - - host_ipc - type: bool - spec_host_network: - description: - - hostNetwork determines if the policy allows the use of HostNetwork in the pod - spec. - aliases: - - host_network - type: bool - spec_host_pid: - description: - - hostPID determines if the policy allows the use of HostPID in the pod spec. - aliases: - - host_pid - type: bool - spec_host_ports: - description: - - hostPorts determines which host port ranges are allowed to be exposed. - aliases: - - host_ports - type: list - spec_privileged: - description: - - privileged determines if a pod can request to be run as privileged. - aliases: - - privileged - type: bool - spec_read_only_root_filesystem: - description: - - ReadOnlyRootFilesystem when set to true will force containers to run with a - read only root file system. If the container specifically requests to run with - a non-read only root file system the PSP should deny the pod. If set to false - the container may run with a read only root file system if it wishes but it - will not be forced to. - aliases: - - read_only_root_filesystem - type: bool - spec_required_drop_capabilities: - description: - - RequiredDropCapabilities are the capabilities that will be dropped from the - container. These are required to be dropped and cannot be added. - aliases: - - required_drop_capabilities - type: list - spec_run_as_user_ranges: - description: - - Ranges are the allowed ranges of uids that may be used. - aliases: - - run_as_user_ranges - type: list - spec_run_as_user_rule: - description: - - Rule is the strategy that will dictate the allowable RunAsUser values that may - be set. - aliases: - - run_as_user_rule - spec_se_linux_rule: - description: - - type is the strategy that will dictate the allowable labels that may be set. - aliases: - - se_linux_rule - spec_se_linux_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - se_linux_se_options_level - spec_se_linux_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - se_linux_se_options_role - spec_se_linux_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - se_linux_se_options_type - spec_se_linux_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - se_linux_se_options_user - spec_supplemental_groups_ranges: - description: - - Ranges are the allowed ranges of supplemental groups. If you would like to force - a single supplemental group then supply a single range with the same start and - end. - aliases: - - supplemental_groups_ranges - type: list - spec_supplemental_groups_rule: - description: - - Rule is the strategy that will dictate what supplemental groups is used in the - SecurityContext. - aliases: - - supplemental_groups_rule - spec_volumes: - description: - - volumes is a white list of allowed volume plugins. Empty indicates that all - plugins may be used. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_security_policy: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - spec defines the policy enforced. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_security_policy', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_pod_security_policy_list.py b/library/k8s_v1beta1_pod_security_policy_list.py deleted file mode 100644 index 206e7c26..00000000 --- a/library/k8s_v1beta1_pod_security_policy_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_pod_security_policy_list -short_description: Kubernetes PodSecurityPolicyList -description: -- Retrieve a list of pod_security_policys. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_security_policy_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of schema objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - spec defines the policy enforced. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('pod_security_policy_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_replica_set.py b/library/k8s_v1beta1_replica_set.py deleted file mode 100644 index d8bac220..00000000 --- a/library/k8s_v1beta1_replica_set.py +++ /dev/null @@ -1,532 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_replica_set -short_description: Kubernetes ReplicaSet -description: -- Manage the lifecycle of a replica_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_replicas: - description: - - Replicas is the number of desired replicas. This is a pointer to distinguish - between explicit zero and unspecified. Defaults to 1. - aliases: - - replicas - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create replica set - k8s_v1beta1_replica_set.yml: - name: myreplicaset - namespace: test - state: present - replicas: 3 - spec_template_metadata_labels: - name: myreplicaset - containers: - - name: myreplicaset - image: openshift/origin-ruby-sample:v1.0 -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the same - as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data may - be out of date by some window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replica_set', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_replica_set_list.py b/library/k8s_v1beta1_replica_set_list.py deleted file mode 100644 index 959d0fda..00000000 --- a/library/k8s_v1beta1_replica_set_list.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_replica_set_list -short_description: Kubernetes ReplicaSetList -description: -- Retrieve a list of replica_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ReplicaSets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the - same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data - may be out of date by some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replica_set_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_role.py b/library/k8s_v1beta1_role.py deleted file mode 100644 index 816ba514..00000000 --- a/library/k8s_v1beta1_role.py +++ /dev/null @@ -1,202 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_role -short_description: Kubernetes Role -description: -- Manage the lifecycle of a role object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - multiple API groups are specified, any action requested against one of - the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable for - ClusterRoles referenced from a ClusterRoleBinding. Rules can either apply - to API resources (such as "pods" or "secrets") or non-resource URL paths - (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_role_binding.py b/library/k8s_v1beta1_role_binding.py deleted file mode 100644 index f2d67b67..00000000 --- a/library/k8s_v1beta1_role_binding.py +++ /dev/null @@ -1,219 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_role_binding -short_description: Kubernetes RoleBinding -description: -- Manage the lifecycle of a role_binding object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_group: - description: - - APIGroup is the group for the resource being referenced - aliases: - - api_group - role_ref_kind: - description: - - Kind is the type of resource being referenced - aliases: - - kind - role_ref_name: - description: - - Name is the name of resource being referenced - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create role binding - k8s_v1beta1_role_binding.yml: - name: edit - namespace: test - state: present - role_ref_kind: Role - role_ref_name: edit - subjects: - - kind: ServiceAccount - name: magico - namespace: test -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole in - the global namespace. If the RoleRef cannot be resolved, the Authorizer must - return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to "" - for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for - User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group are - "User", "Group", and "ServiceAccount". If the Authorizer does not recognized - the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_role_binding_list.py b/library/k8s_v1beta1_role_binding_list.py deleted file mode 100644 index 7407edf5..00000000 --- a/library/k8s_v1beta1_role_binding_list.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_role_binding_list -short_description: Kubernetes RoleBindingList -description: -- Retrieve a list of role_bindings. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of RoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can reference a Role in the current namespace or a ClusterRole - in the global namespace. If the RoleRef cannot be resolved, the Authorizer - must return an error. - type: complex - subjects: - description: - - Subjects holds references to the objects the role applies to. - type: list - contains: - api_group: - description: - - APIGroup holds the API group of the referenced subject. Defaults to - "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" - for User and Group subjects. - type: str - kind: - description: - - Kind of object being referenced. Values defined by this API group - are "User", "Group", and "ServiceAccount". If the Authorizer does - not recognized the kind value, the Authorizer should report an error. - type: str - name: - description: - - Name of the object being referenced. - type: str - namespace: - description: - - Namespace of the referenced object. If the object kind is non-namespace, - such as "User" or "Group", and this value is not empty the Authorizer - should report an error. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_binding_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_role_list.py b/library/k8s_v1beta1_role_list.py deleted file mode 100644 index fefd69f4..00000000 --- a/library/k8s_v1beta1_role_list.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_role_list -short_description: Kubernetes RoleList -description: -- Retrieve a list of roles. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of Roles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If multiple API groups are specified, any action requested against - one of the enumerated resources in any API group will be allowed. - type: list - contains: str - non_resource_ur_ls: - description: - - NonResourceURLs is a set of partial urls that a user should have access - to. *s are allowed, but only as the full, final step in the path Since - non-resource URLs are not namespaced, this field is only applicable - for ClusterRoles referenced from a ClusterRoleBinding. Rules can either - apply to API resources (such as "pods" or "secrets") or non-resource - URL paths (such as "/api"), but not both. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('role_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_self_subject_access_review.py b/library/k8s_v1beta1_self_subject_access_review.py deleted file mode 100644 index 2d818f45..00000000 --- a/library/k8s_v1beta1_self_subject_access_review.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_self_subject_access_review -short_description: Kubernetes SelfSubjectAccessReview -description: -- Manage the lifecycle of a self_subject_access_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -self_subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. user and groups - must be empty - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('self_subject_access_review', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_self_subject_rules_review.py b/library/k8s_v1beta1_self_subject_rules_review.py deleted file mode 100644 index 01f92105..00000000 --- a/library/k8s_v1beta1_self_subject_rules_review.py +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_self_subject_rules_review -short_description: Kubernetes SelfSubjectRulesReview -description: -- Manage the lifecycle of a self_subject_rules_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_namespace: - description: - - Namespace to evaluate rules for. Required. - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -self_subject_rules_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated. - type: complex - status: - description: - - Status is filled in by the server and indicates the set of actions a user - can perform. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('self_subject_rules_review', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_stateful_set.py b/library/k8s_v1beta1_stateful_set.py deleted file mode 100644 index 0785c5a1..00000000 --- a/library/k8s_v1beta1_stateful_set.py +++ /dev/null @@ -1,579 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_stateful_set -short_description: Kubernetes StatefulSet -description: -- Manage the lifecycle of a stateful_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_pod_management_policy: - description: - - podManagementPolicy controls how pods are created during initial scale up, when - replacing pods on nodes, or when scaling down. The default policy is `OrderedReady`, - where pods are created in increasing order (pod-0, then pod-1, etc) and the - controller will wait until each pod is ready before continuing. When scaling - down, the pods are removed in the opposite order. The alternative policy is - `Parallel` which will create pods in parallel to match the desired scale without - waiting, and on scale down will delete all pods at once. - aliases: - - pod_management_policy - spec_replicas: - description: - - replicas is the desired number of replicas of the given Template. These are - replicas in the sense that they are instantiations of the same Template, but - individual replicas also have a consistent identity. If unspecified, defaults - to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - revisionHistoryLimit is the maximum number of revisions that will be maintained - in the StatefulSet's revision history. The revision history consists of all - revisions not represented by a currently applied StatefulSetSpec version. The - default value is 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_service_name: - description: - - 'serviceName is the name of the service that governs this StatefulSet. This - service must exist before the StatefulSet, and is responsible for the network - identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local - where "pod-specific-string" is managed by the StatefulSet controller.' - aliases: - - service_name - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_partition: - description: - - Partition indicates the ordinal at which the StatefulSet should be partitioned. - aliases: - - update_strategy_rolling_update_partition - type: int - spec_update_strategy_type: - description: - - Type indicates the type of the StatefulSetUpdateStrategy. - aliases: - - update_strategy_type - spec_volume_claim_templates: - description: - - volumeClaimTemplates is a list of claims that pods are allowed to reference. - The StatefulSet controller is responsible for mapping network identities to - claims in a way that maintains the identity of a pod. Every claim in this list - must have at least one matching (by name) volumeMount in one container in the - template. A claim in this list takes precedence over any volumes in the template, - with the same name. - aliases: - - volume_claim_templates - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -- name: Create stateful set - k8s_v1beta1_stateful_set.yml: - name: test - labels: - name: test - namespace: test - state: present - service_name: test - replicas: 3 - spec_template_metadata_labels: - name: test - spec_template_metadata_name: test - termination_grace_period_seconds: 10 - containers: - - name: test - image: openshift/origin-ruby-sample:v1.0 -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may be - out of date by some window of time. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('stateful_set', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_stateful_set_list.py b/library/k8s_v1beta1_stateful_set_list.py deleted file mode 100644 index f0aa3af3..00000000 --- a/library/k8s_v1beta1_stateful_set_list.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_stateful_set_list -short_description: Kubernetes StatefulSetList -description: -- Retrieve a list of stateful_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may - be out of date by some window of time. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('stateful_set_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_storage_class.py b/library/k8s_v1beta1_storage_class.py deleted file mode 100644 index 01c093f2..00000000 --- a/library/k8s_v1beta1_storage_class.py +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_storage_class -short_description: Kubernetes StorageClass -description: -- Manage the lifecycle of a storage_class object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the PVs - will simply fail if one is invalid. - type: list - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - parameters: - description: - - Parameters holds the parameters for the provisioner that should create volumes - of this storage class. - type: dict - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - provisioner: - description: - - Provisioner indicates the type of the provisioner. - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -storage_class: - type: complex - returned: when I(state) = C(present) - contains: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of the - PVs will simply fail if one is invalid. - type: list - contains: str - parameters: - description: - - Parameters holds the parameters for the provisioner that should create volumes - of this storage class. - type: complex - contains: str, str - provisioner: - description: - - Provisioner indicates the type of the provisioner. - type: str - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - type: str -''' - - -def main(): - try: - module = KubernetesAnsibleModule('storage_class', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_storage_class_list.py b/library/k8s_v1beta1_storage_class_list.py deleted file mode 100644 index 259b495c..00000000 --- a/library/k8s_v1beta1_storage_class_list.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_storage_class_list -short_description: Kubernetes StorageClassList -description: -- Retrieve a list of storage_class. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -storage_class_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of StorageClasses - type: list - contains: - allow_volume_expansion: - description: - - AllowVolumeExpansion shows whether the storage class allow volume expand - type: bool - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - mount_options: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with these mountOptions, e.g. ["ro", "soft"]. Not validated - mount of - the PVs will simply fail if one is invalid. - type: list - contains: str - parameters: - description: - - Parameters holds the parameters for the provisioner that should create - volumes of this storage class. - type: complex - contains: str, str - provisioner: - description: - - Provisioner indicates the type of the provisioner. - type: str - reclaim_policy: - description: - - Dynamically provisioned PersistentVolumes of this storage class are created - with this reclaimPolicy. Defaults to Delete. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('storage_class_list', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_subject_access_review.py b/library/k8s_v1beta1_subject_access_review.py deleted file mode 100644 index e26889ad..00000000 --- a/library/k8s_v1beta1_subject_access_review.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_subject_access_review -short_description: Kubernetes SubjectAccessReview -description: -- Manage the lifecycle of a subject_access_review object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_extra: - description: - - Extra corresponds to the user.Info.GetExtra() method from the authenticator. - Since that is input to the authorizer it needs a reflection here. - aliases: - - extra - type: dict - spec_group: - description: - - Groups is the groups you're testing for. - aliases: - - group - type: list - spec_non_resource_attributes_path: - description: - - Path is the URL path of the request - aliases: - - non_resource_attributes_path - spec_non_resource_attributes_verb: - description: - - Verb is the standard HTTP verb - aliases: - - non_resource_attributes_verb - spec_resource_attributes_group: - description: - - Group is the API Group of the Resource. "*" means all. - aliases: - - resource_attributes_group - spec_resource_attributes_name: - description: - - Name is the name of the resource being requested for a "get" or deleted for - a "delete". "" (empty) means all. - aliases: - - resource_attributes_name - spec_resource_attributes_namespace: - description: - - Namespace is the namespace of the action being requested. Currently, there is - no distinction between no namespace and all namespaces "" (empty) is defaulted - for LocalSubjectAccessReviews "" (empty) is empty for cluster-scoped resources - "" (empty) means "all" for namespace scoped resources from a SubjectAccessReview - or SelfSubjectAccessReview - aliases: - - resource_attributes_namespace - spec_resource_attributes_resource: - description: - - Resource is one of the existing resource types. "*" means all. - aliases: - - resource_attributes_resource - spec_resource_attributes_subresource: - description: - - Subresource is one of the existing resource types. "" means none. - aliases: - - resource_attributes_subresource - spec_resource_attributes_verb: - description: - - 'Verb is a kubernetes resource API verb, like: get, list, watch, create, update, - delete, proxy. "*" means all.' - aliases: - - resource_attributes_verb - spec_resource_attributes_version: - description: - - Version is the API Version of the Resource. "*" means all. - aliases: - - resource_attributes_version - spec_uid: - description: - - UID information about the requesting user. - aliases: - - uid - spec_user: - description: - - User is the user you're testing for. If you specify "User" but not "Group", - then is it interpreted as "What if User were not a member of any groups - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -subject_access_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request is allowed - or not - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('subject_access_review', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta1_token_review.py b/library/k8s_v1beta1_token_review.py deleted file mode 100644 index 794dcba2..00000000 --- a/library/k8s_v1beta1_token_review.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta1_token_review -short_description: Kubernetes TokenReview -description: -- Manage the lifecycle of a token_review object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_token: - description: - - Token is the opaque bearer token. - aliases: - - token - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -token_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec holds information about the request being evaluated - type: complex - status: - description: - - Status is filled in by the server and indicates whether the request can be - authenticated. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('token_review', 'v1beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_controller_revision.py b/library/k8s_v1beta2_controller_revision.py deleted file mode 100644 index 5f9a3560..00000000 --- a/library/k8s_v1beta2_controller_revision.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_controller_revision -short_description: Kubernetes ControllerRevision -description: -- Manage the lifecycle of a controller_revision object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - data_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - raw - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int -''' - - -def main(): - try: - module = KubernetesAnsibleModule('controller_revision', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_controller_revision_list.py b/library/k8s_v1beta2_controller_revision_list.py deleted file mode 100644 index 19f8c941..00000000 --- a/library/k8s_v1beta2_controller_revision_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_controller_revision_list -short_description: Kubernetes ControllerRevisionList -description: -- Retrieve a list of controller_revisions. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of ControllerRevisions - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - '' - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('controller_revision_list', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_daemon_set.py b/library/k8s_v1beta2_daemon_set.py deleted file mode 100644 index 91b547ee..00000000 --- a/library/k8s_v1beta2_daemon_set.py +++ /dev/null @@ -1,542 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_daemon_set -short_description: Kubernetes DaemonSet -description: -- Manage the lifecycle of a daemon_set object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - The minimum number of seconds for which a newly created DaemonSet pod should - be ready without any of its container crashing, for it to be considered available. - Defaults to 0 (pod will be considered available as soon as it is ready). - aliases: - - min_ready_seconds - type: int - spec_revision_history_limit: - description: - - The number of old history to retain to allow rollback. This is a pointer to - distinguish between explicit zero and not specified. Defaults to 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of DaemonSet pods that can be unavailable during the update. - Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet - pods at the start of the update (ex: 10%). Absolute number is calculated from - percentage by rounding up. This cannot be 0. Default value is 1. Example: when - this is set to 30%, at most 30% of the total number of nodes that should be - running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods - stopped for an update at any given time. The update starts by stopping at most - 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. - Once the new pods are available, it then proceeds onto other DaemonSet pods, - thus ensuring that at least 70% of original number of DaemonSet pods are available - at all times during the update.' - aliases: - - update_strategy_rolling_update_max_unavailable - type: object - spec_update_strategy_type: - description: - - Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is - RollingUpdate. - aliases: - - update_strategy_type - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by some - window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('daemon_set', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_daemon_set_list.py b/library/k8s_v1beta2_daemon_set_list.py deleted file mode 100644 index 335b89b5..00000000 --- a/library/k8s_v1beta2_daemon_set_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_daemon_set_list -short_description: Kubernetes DaemonSetList -description: -- Retrieve a list of daemon_sets. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - A list of daemon sets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by - some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('daemon_set_list', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_deployment.py b/library/k8s_v1beta2_deployment.py deleted file mode 100644 index 23377d37..00000000 --- a/library/k8s_v1beta2_deployment.py +++ /dev/null @@ -1,574 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_deployment -short_description: Kubernetes Deployment -description: -- Manage the lifecycle of a deployment object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_paused: - description: - - Indicates that the deployment is paused. - aliases: - - paused - type: bool - spec_progress_deadline_seconds: - description: - - The maximum time in seconds for a deployment to make progress before it is considered - to be failed. The deployment controller will continue to process failed deployments - and a condition with a ProgressDeadlineExceeded reason will be surfaced in the - deployment status. Note that progress will not be estimated during the time - a deployment is paused. Defaults to 600s. - aliases: - - progress_deadline_seconds - type: int - spec_replicas: - description: - - Number of desired pods. This is a pointer to distinguish between explicit zero - and not specified. Defaults to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - The number of old ReplicaSets to retain to allow rollback. This is a pointer - to distinguish between explicit zero and not specified. Defaults to 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_strategy_rolling_update_max_surge: - description: - - 'The maximum number of pods that can be scheduled above the desired number of - pods. Value can be an absolute number (ex: 5) or a percentage of desired pods - (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated - from percentage by rounding up. Defaults to 25%. Example: when this is set to - 30%, the new RC can be scaled up immediately when the rolling update starts, - such that the total number of old and new pods do not exceed 130% of desired - pods. Once old pods have been killed, new RC can be scaled up further, ensuring - that total number of pods running at any time during the update is atmost 130% - of desired pods.' - aliases: - - strategy_rolling_update_max_surge - type: object - spec_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of pods that can be unavailable during the update. Value - can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). - Absolute number is calculated from percentage by rounding down. This can not - be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the - old RC can be scaled down to 70% of desired pods immediately when the rolling - update starts. Once new pods are ready, old RC can be scaled down further, followed - by scaling up the new RC, ensuring that the total number of pods available at - all times during the update is at least 70% of desired pods.' - aliases: - - strategy_rolling_update_max_unavailable - type: object - spec_strategy_type: - description: - - Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. - aliases: - - strategy_type - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_deployment_list.py b/library/k8s_v1beta2_deployment_list.py deleted file mode 100644 index ca0ba133..00000000 --- a/library/k8s_v1beta2_deployment_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_deployment_list -short_description: Kubernetes DeploymentList -description: -- Retrieve a list of deployments. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Deployments. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('deployment_list', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_replica_set.py b/library/k8s_v1beta2_replica_set.py deleted file mode 100644 index 218b0259..00000000 --- a/library/k8s_v1beta2_replica_set.py +++ /dev/null @@ -1,521 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_replica_set -short_description: Kubernetes ReplicaSet -description: -- Manage the lifecycle of a replica_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_replicas: - description: - - Replicas is the number of desired replicas. This is a pointer to distinguish - between explicit zero and unspecified. Defaults to 1. - aliases: - - replicas - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the same - as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data may - be out of date by some window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replica_set', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_replica_set_list.py b/library/k8s_v1beta2_replica_set_list.py deleted file mode 100644 index b1a4b9b1..00000000 --- a/library/k8s_v1beta2_replica_set_list.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_replica_set_list -short_description: Kubernetes ReplicaSetList -description: -- Retrieve a list of replica_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ReplicaSets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the - same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data - may be out of date by some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('replica_set_list', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_scale.py b/library/k8s_v1beta2_scale.py deleted file mode 100644 index 60cee6d1..00000000 --- a/library/k8s_v1beta2_scale.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_scale -short_description: Kubernetes Scale -description: -- Manage the lifecycle of a scale object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_replicas: - description: - - desired number of instances for the scaled object. - aliases: - - replicas - type: int - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -scale: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - spec: - description: - - defines the behavior of the scale. - type: complex - status: - description: - - current status of the scale. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('scale', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_stateful_set.py b/library/k8s_v1beta2_stateful_set.py deleted file mode 100644 index d912a1bd..00000000 --- a/library/k8s_v1beta2_stateful_set.py +++ /dev/null @@ -1,564 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_stateful_set -short_description: Kubernetes StatefulSet -description: -- Manage the lifecycle of a stateful_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_pod_management_policy: - description: - - podManagementPolicy controls how pods are created during initial scale up, when - replacing pods on nodes, or when scaling down. The default policy is `OrderedReady`, - where pods are created in increasing order (pod-0, then pod-1, etc) and the - controller will wait until each pod is ready before continuing. When scaling - down, the pods are removed in the opposite order. The alternative policy is - `Parallel` which will create pods in parallel to match the desired scale without - waiting, and on scale down will delete all pods at once. - aliases: - - pod_management_policy - spec_replicas: - description: - - replicas is the desired number of replicas of the given Template. These are - replicas in the sense that they are instantiations of the same Template, but - individual replicas also have a consistent identity. If unspecified, defaults - to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - revisionHistoryLimit is the maximum number of revisions that will be maintained - in the StatefulSet's revision history. The revision history consists of all - revisions not represented by a currently applied StatefulSetSpec version. The - default value is 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_service_name: - description: - - 'serviceName is the name of the service that governs this StatefulSet. This - service must exist before the StatefulSet, and is responsible for the network - identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local - where "pod-specific-string" is managed by the StatefulSet controller.' - aliases: - - service_name - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_partition: - description: - - Partition indicates the ordinal at which the StatefulSet should be partitioned. - Default value is 0. - aliases: - - update_strategy_rolling_update_partition - type: int - spec_update_strategy_type: - description: - - Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. - aliases: - - update_strategy_type - spec_volume_claim_templates: - description: - - volumeClaimTemplates is a list of claims that pods are allowed to reference. - The StatefulSet controller is responsible for mapping network identities to - claims in a way that maintains the identity of a pod. Every claim in this list - must have at least one matching (by name) volumeMount in one container in the - template. A claim in this list takes precedence over any volumes in the template, - with the same name. - aliases: - - volume_claim_templates - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may be - out of date by some window of time. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('stateful_set', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v1beta2_stateful_set_list.py b/library/k8s_v1beta2_stateful_set_list.py deleted file mode 100644 index 41fde551..00000000 --- a/library/k8s_v1beta2_stateful_set_list.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v1beta2_stateful_set_list -short_description: Kubernetes StatefulSetList -description: -- Retrieve a list of stateful_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may - be out of date by some window of time. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('stateful_set_list', 'v1beta2') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v2alpha1_cron_job.py b/library/k8s_v2alpha1_cron_job.py deleted file mode 100644 index d0aa8819..00000000 --- a/library/k8s_v2alpha1_cron_job.py +++ /dev/null @@ -1,616 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v2alpha1_cron_job -short_description: Kubernetes CronJob -description: -- Manage the lifecycle of a cron_job object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_concurrency_policy: - description: - - Specifies how to treat concurrent executions of a Job. Defaults to Allow. - aliases: - - concurrency_policy - spec_failed_jobs_history_limit: - description: - - The number of failed finished jobs to retain. This is a pointer to distinguish - between explicit zero and not specified. - aliases: - - failed_jobs_history_limit - type: int - spec_job_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - aliases: - - job__metadata_annotations - type: dict - spec_job_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - aliases: - - job__metadata_labels - type: dict - spec_job_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - aliases: - - job__metadata_name - spec_job_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - aliases: - - job__metadata_namespace - spec_job_template_spec_active_deadline_seconds: - description: - - Specifies the duration in seconds relative to the startTime that the job may - be active before the system tries to terminate it; value must be positive integer - aliases: - - job__active_deadline_seconds - type: int - spec_job_template_spec_backoff_limit: - description: - - Specifies the number of retries before marking this job failed. Defaults to - 6 - aliases: - - job__backoff_limit - type: int - spec_job_template_spec_completions: - description: - - Specifies the desired number of successfully finished pods the job should be - run with. Setting to nil means that the success of any pod signals the success - of all pods, and allows parallelism to have any positive value. Setting to 1 - means that parallelism is limited to 1 and the success of that pod signals the - success of the job. - aliases: - - job__completions - type: int - spec_job_template_spec_manual_selector: - description: - - manualSelector controls generation of pod labels and pod selectors. Leave `manualSelector` - unset unless you are certain what you are doing. When false or unset, the system - pick labels unique to this job and appends those labels to the pod template. - When true, the user is responsible for picking unique labels and specifying - the selector. Failure to pick a unique label may cause this and other jobs to - not function correctly. However, You may see `manualSelector=true` in jobs that - were created with the old `extensions/v1beta1` API. - aliases: - - job__manual_selector - type: bool - spec_job_template_spec_parallelism: - description: - - Specifies the maximum desired number of pods the job should run at any given - time. The actual number of pods running in steady state will be less than this - number when ((.spec.completions - .status.successful) < .spec.parallelism), - i.e. when the work left to do is less than max parallelism. - aliases: - - job__parallelism - type: int - spec_job_template_spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - job__selector_match_expressions - type: list - spec_job_template_spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - job__selector_match_labels - type: dict - spec_job_template_spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_job_template_spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_job_template_spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_job_template_spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_job_template_spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - type: int - spec_job_template_spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - ? spec_job_template_spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - : description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - job__affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_job_template_spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - job__affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - job__affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - job__affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_job_template_spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - job__automount_service_account_token - type: bool - spec_job_template_spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - job__containers - type: list - spec_job_template_spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - job__dns_policy - spec_job_template_spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - job__host_aliases - type: list - spec_job_template_spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - job__host_ipc - type: bool - spec_job_template_spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - job__host_network - type: bool - spec_job_template_spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - job__host_pid - type: bool - spec_job_template_spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - job__hostname - spec_job_template_spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - job__image_pull_secrets - type: list - spec_job_template_spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - job__init_containers - type: list - spec_job_template_spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - job__node_name - spec_job_template_spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - job__node_selector - type: dict - spec_job_template_spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - job__priority - type: int - spec_job_template_spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - job__priority_class_name - spec_job_template_spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - job__restart_policy - spec_job_template_spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - job__scheduler_name - spec_job_template_spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - job__securitycontext_fs_group - type: int - spec_job_template_spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - job__securitycontext_run_as_non_root - type: bool - spec_job_template_spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - job__securitycontext_run_as_user - type: int - spec_job_template_spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_level - spec_job_template_spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_role - spec_job_template_spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_type - spec_job_template_spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - job__securitycontext_se_linux_options_user - spec_job_template_spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - job__securitycontext_supplemental_groups - type: list - spec_job_template_spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - job__service_account - spec_job_template_spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - job__service_account_name - spec_job_template_spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - job__subdomain - spec_job_template_spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - job__termination_grace_period_seconds - type: int - spec_job_template_spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - job__tolerations - type: list - spec_job_template_spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - job__volumes - type: list - spec_schedule: - description: - - The schedule in Cron format, see - aliases: - - schedule - spec_starting_deadline_seconds: - description: - - Optional deadline in seconds for starting the job if it misses scheduled time - for any reason. Missed jobs executions will be counted as failed ones. - aliases: - - starting_deadline_seconds - type: int - spec_successful_jobs_history_limit: - description: - - The number of successful finished jobs to retain. This is a pointer to distinguish - between explicit zero and not specified. - aliases: - - successful_jobs_history_limit - type: int - spec_suspend: - description: - - This flag tells the controller to suspend subsequent executions, it does not - apply to already started executions. Defaults to false. - aliases: - - suspend - type: bool - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cron_job: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a cron job, including the schedule. - type: complex - status: - description: - - Current status of a cron job. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cron_job', 'v2alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v2alpha1_cron_job_list.py b/library/k8s_v2alpha1_cron_job_list.py deleted file mode 100644 index d6e96c49..00000000 --- a/library/k8s_v2alpha1_cron_job_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v2alpha1_cron_job_list -short_description: Kubernetes CronJobList -description: -- Retrieve a list of cron_jobs. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cron_job_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of CronJobs. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Specification of the desired behavior of a cron job, including the schedule. - type: complex - status: - description: - - Current status of a cron job. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('cron_job_list', 'v2alpha1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v2beta1_horizontal_pod_autoscaler.py b/library/k8s_v2beta1_horizontal_pod_autoscaler.py deleted file mode 100644 index 76eb1b7f..00000000 --- a/library/k8s_v2beta1_horizontal_pod_autoscaler.py +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v2beta1_horizontal_pod_autoscaler -short_description: Kubernetes HorizontalPodAutoscaler -description: -- Manage the lifecycle of a horizontal_pod_autoscaler object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_max_replicas: - description: - - maxReplicas is the upper limit for the number of replicas to which the autoscaler - can scale up. It cannot be less that minReplicas. - aliases: - - max_replicas - type: int - spec_metrics: - description: - - metrics contains the specifications for which to use to calculate the desired - replica count (the maximum replica count across all metrics will be used). The - desired replica count is calculated multiplying the ratio between the target - value and the current value by the current number of pods. Ergo, metrics used - must decrease as the pod count is increased, and vice-versa. See the individual - metric source types for more information about how each type of metric must - respond. - aliases: - - metrics - type: list - spec_min_replicas: - description: - - minReplicas is the lower limit for the number of replicas to which the autoscaler - can scale down. It defaults to 1 pod. - aliases: - - min_replicas - type: int - spec_scale_target_ref_api_version: - description: - - API version of the referent - aliases: - - scale_target_ref_api_version - spec_scale_target_ref_kind: - description: - - Kind of the referent; - aliases: - - scale_target_ref_kind - spec_scale_target_ref_name: - description: - - Name of the referent; - aliases: - - scale_target_ref_name - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -horizontal_pod_autoscaler: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata is the standard object metadata. - type: complex - spec: - description: - - spec is the specification for the behaviour of the autoscaler. - type: complex - status: - description: - - status is the current information about the autoscaler. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('horizontal_pod_autoscaler', 'v2beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/k8s_v2beta1_horizontal_pod_autoscaler_list.py b/library/k8s_v2beta1_horizontal_pod_autoscaler_list.py deleted file mode 100644 index 2e881512..00000000 --- a/library/k8s_v2beta1_horizontal_pod_autoscaler_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.k8s_common import KubernetesAnsibleModule, KubernetesAnsibleException - -DOCUMENTATION = ''' -module: k8s_v2beta1_horizontal_pod_autoscaler_list -short_description: Kubernetes HorizontalPodAutoscalerList -description: -- Retrieve a list of horizontal_pod_autoscalers. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- kubernetes == 4.0.0 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -horizontal_pod_autoscaler_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of horizontal pod autoscaler objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - metadata is the standard object metadata. - type: complex - spec: - description: - - spec is the specification for the behaviour of the autoscaler. - type: complex - status: - description: - - status is the current information about the autoscaler. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata is the standard list metadata. - type: complex -''' - - -def main(): - try: - module = KubernetesAnsibleModule('horizontal_pod_autoscaler_list', 'v2beta1') - except KubernetesAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except KubernetesAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_applied_cluster_resource_quota.py b/library/openshift_v1_applied_cluster_resource_quota.py deleted file mode 100644 index b2c792fc..00000000 --- a/library/openshift_v1_applied_cluster_resource_quota.py +++ /dev/null @@ -1,177 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_applied_cluster_resource_quota -short_description: OpenShift AppliedClusterResourceQuota -description: -- Manage the lifecycle of a applied_cluster_resource_quota object. Supports check - mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_quota_hard: - description: - - Hard is the set of desired hard limits for each named resource. - aliases: - - quota_hard - type: dict - spec_quota_scopes: - description: - - A collection of filters that must match each object tracked by a quota. If not - specified, the quota matches all objects. - aliases: - - quota_scopes - type: list - spec_selector_annotations: - description: - - AnnotationSelector is used to select projects by annotation. - aliases: - - selector_annotations - type: dict - spec_selector_labels_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_labels_match_expressions - type: list - spec_selector_labels_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_labels_match_labels - type: dict - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -applied_cluster_resource_quota: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('applied_cluster_resource_quota', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_applied_cluster_resource_quota_list.py b/library/openshift_v1_applied_cluster_resource_quota_list.py deleted file mode 100644 index 83f325e9..00000000 --- a/library/openshift_v1_applied_cluster_resource_quota_list.py +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_applied_cluster_resource_quota_list -short_description: OpenShift AppliedClusterResourceQuotaList -description: -- Retrieve a list of applied_cluster_resource_quotas. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -applied_cluster_resource_quota_list: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of AppliedClusterResourceQuota - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('applied_cluster_resource_quota_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_broker_template_instance.py b/library/openshift_v1_broker_template_instance.py deleted file mode 100644 index 202d1e1f..00000000 --- a/library/openshift_v1_broker_template_instance.py +++ /dev/null @@ -1,251 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_broker_template_instance -short_description: OpenShift BrokerTemplateInstance -description: -- Manage the lifecycle of a broker_template_instance object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_binding_i_ds: - description: - - bindingids is a list of 'binding_id's provided during successive bind calls - to the template service broker. - aliases: - - binding_i_ds - type: list - spec_secret_api_version: - description: - - API version of the referent. - aliases: - - secret_api_version - spec_secret_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - secret_field_path - spec_secret_kind: - description: - - Kind of the referent. - aliases: - - secret_kind - spec_secret_name: - description: - - Name of the referent. - aliases: - - secret_name - spec_secret_namespace: - description: - - Namespace of the referent. - aliases: - - secret_namespace - spec_secret_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - secret_resource_version - spec_secret_uid: - description: - - UID of the referent. - aliases: - - secret_uid - spec_template_instance_api_version: - description: - - API version of the referent. - aliases: - - _instance_api_version - spec_template_instance_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - _instance_field_path - spec_template_instance_kind: - description: - - Kind of the referent. - aliases: - - _instance_kind - spec_template_instance_name: - description: - - Name of the referent. - aliases: - - _instance_name - spec_template_instance_namespace: - description: - - Namespace of the referent. - aliases: - - _instance_namespace - spec_template_instance_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - _instance_resource_version - spec_template_instance_uid: - description: - - UID of the referent. - aliases: - - _instance_uid - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -broker_template_instance: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec describes the state of this BrokerTemplateInstance. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('broker_template_instance', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_broker_template_instance_list.py b/library/openshift_v1_broker_template_instance_list.py deleted file mode 100644 index df296714..00000000 --- a/library/openshift_v1_broker_template_instance_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_broker_template_instance_list -short_description: OpenShift BrokerTemplateInstanceList -description: -- Retrieve a list of broker_template_instances. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -broker_template_instance_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is a list of BrokerTemplateInstances - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec describes the state of this BrokerTemplateInstance. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('broker_template_instance_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_build.py b/library/openshift_v1_build.py deleted file mode 100644 index d77dbcdf..00000000 --- a/library/openshift_v1_build.py +++ /dev/null @@ -1,673 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_build -short_description: OpenShift Build -description: -- Manage the lifecycle of a build object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_completion_deadline_seconds: - description: - - completionDeadlineSeconds is an optional duration in seconds, counted from the - time when a build pod gets scheduled in the system, that the build may be active - on a node before the system actively tries to terminate the build; value must - be positive integer - aliases: - - completion_deadline_seconds - type: int - spec_node_selector: - description: - - nodeSelector is a selector which must be true for the build pod to fit on a - node If nil, it can be overridden by default build nodeselector values for the - cluster. If set to an empty map or a map with any values, default build nodeselector - values are ignored. - aliases: - - node_selector - type: dict - spec_output_image_labels: - description: - - imageLabels define a list of labels that are applied to the resulting image. - If there are multiple labels with the same name then the last one in the list - is used. - aliases: - - output_image_labels - type: list - spec_output_push_secret_name: - description: - - Name of the referent. - aliases: - - output_push_secret_name - spec_output_to_api_version: - description: - - API version of the referent. - aliases: - - output_to_api_version - spec_output_to_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - output_to_field_path - spec_output_to_kind: - description: - - Kind of the referent. - aliases: - - output_to_kind - spec_output_to_name: - description: - - Name of the referent. - aliases: - - output_to_name - spec_output_to_namespace: - description: - - Namespace of the referent. - aliases: - - output_to_namespace - spec_output_to_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - output_to_resource_version - spec_output_to_uid: - description: - - UID of the referent. - aliases: - - output_to_uid - spec_post_commit_args: - description: - - args is a list of arguments that are provided to either Command, Script or the - Docker image's default entrypoint. The arguments are placed immediately after - the command to be run. - aliases: - - post_commit_args - type: list - spec_post_commit_command: - description: - - command is the command to run. It may not be specified with Script. This might - be needed if the image doesn't have `/bin/sh`, or if you do not want to use - a shell. In all other cases, using Script might be more convenient. - aliases: - - post_commit_command - type: list - spec_post_commit_script: - description: - - script is a shell script to be run with `/bin/sh -ic`. It may not be specified - with Command. Use Script when a shell script is appropriate to execute the post - build hook, for example for running unit tests with `rake test`. If you need - control over the image entrypoint, or if the image does not have `/bin/sh`, - use Command and/or Args. The `-i` flag is needed to support CentOS and RHEL - images that use Software Collections (SCL), in order to have the appropriate - collections enabled in the shell. E.g., in the Ruby image, this is necessary - to make `ruby`, `bundle` and other binaries available in the PATH. - aliases: - - post_commit_script - spec_resources_limits: - description: - - Limits describes the maximum amount of compute resources allowed. - aliases: - - resources_limits - type: dict - spec_resources_requests: - description: - - Requests describes the minimum amount of compute resources required. If Requests - is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. - aliases: - - resources_requests - type: dict - spec_revision_git_author_email: - description: - - email of the source control user - aliases: - - revision_git_author_email - spec_revision_git_author_name: - description: - - name of the source control user - aliases: - - revision_git_author_name - spec_revision_git_commit: - description: - - commit is the commit hash identifying a specific commit - aliases: - - revision_git_commit - spec_revision_git_committer_email: - description: - - email of the source control user - aliases: - - revision_git_committer_email - spec_revision_git_committer_name: - description: - - name of the source control user - aliases: - - revision_git_committer_name - spec_revision_git_message: - description: - - message is the description of a specific commit - aliases: - - revision_git_message - spec_revision_type: - description: - - type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or - 'Images' - aliases: - - revision_type - spec_service_account: - description: - - serviceAccount is the name of the ServiceAccount to use to run the pod created - by this build. The pod will be allowed to use secrets referenced by the ServiceAccount - aliases: - - service_account - spec_source_binary_as_file: - description: - - asFile indicates that the provided binary input should be considered a single - file within the build input. For example, specifying "webapp.war" would place - the provided binary as `/webapp.war` for the builder. If left empty, the Docker - and Source build strategies assume this file is a zip, tar, or tar.gz file and - extract it as the source. The custom strategy receives this binary as standard - input. This filename may not contain slashes or be '..' or '.'. - aliases: - - source_binary_as_file - spec_source_context_dir: - description: - - contextDir specifies the sub-directory where the source code for the application - exists. This allows to have buildable sources in directory other than root of - repository. - aliases: - - source_context_dir - spec_source_dockerfile: - description: - - dockerfile is the raw contents of a Dockerfile which should be built. When this - option is specified, the FROM may be modified based on your strategy base image - and additional ENV stanzas from your strategy environment will be added after - the FROM, but before the rest of your Dockerfile stanzas. The Dockerfile source - type may be used with other options like git - in those cases the Git repo will - have any innate Dockerfile replaced in the context dir. - aliases: - - source_dockerfile - spec_source_git_http_proxy: - description: - - httpProxy is a proxy used to reach the git repository over http - aliases: - - source_git_http_proxy - spec_source_git_https_proxy: - description: - - httpsProxy is a proxy used to reach the git repository over https - aliases: - - source_git_https_proxy - spec_source_git_no_proxy: - description: - - noProxy is the list of domains for which the proxy should not be used - aliases: - - source_git_no_proxy - spec_source_git_ref: - description: - - ref is the branch/tag/ref to build. - aliases: - - source_git_ref - spec_source_git_uri: - description: - - uri points to the source that will be built. The structure of the source will - depend on the type of build to run - aliases: - - source_git_uri - spec_source_images: - description: - - images describes a set of images to be used to provide source for the build - aliases: - - source_images - type: list - spec_source_secrets: - description: - - secrets represents a list of secrets and their destinations that will be used - only for the build. - aliases: - - source_secrets - type: list - spec_source_source_secret_name: - description: - - Name of the referent. - aliases: - - source_secret_name - spec_source_type: - description: - - type of build input to accept - aliases: - - source_type - spec_strategy_custom_strategy_build_api_version: - description: - - buildAPIVersion is the requested API version for the Build object serialized - and passed to the custom builder - aliases: - - strategy_custom_strategy_build_api_version - spec_strategy_custom_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_custom_strategy_env - type: list - spec_strategy_custom_strategy_expose_docker_socket: - description: - - exposeDockerSocket will allow running Docker commands (and build Docker images) - from inside the Docker container. - aliases: - - strategy_custom_strategy_expose_docker_socket - type: bool - spec_strategy_custom_strategy_force_pull: - description: - - forcePull describes if the controller should configure the build pod to always - pull the images for the builder or only pull if it is not present locally - aliases: - - strategy_custom_strategy_force_pull - type: bool - spec_strategy_custom_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_custom_strategy_from_api_version - spec_strategy_custom_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_custom_strategy_from_field_path - spec_strategy_custom_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_custom_strategy_from_kind - spec_strategy_custom_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_custom_strategy_from_name - spec_strategy_custom_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_custom_strategy_from_namespace - spec_strategy_custom_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_custom_strategy_from_resource_version - spec_strategy_custom_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_custom_strategy_from_uid - spec_strategy_custom_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_custom_strategy_pull_secret_name - spec_strategy_custom_strategy_secrets: - description: - - secrets is a list of additional secrets that will be included in the build pod - aliases: - - strategy_custom_strategy_secrets - type: list - spec_strategy_docker_strategy_build_args: - description: - - buildArgs contains build arguments that will be resolved in the Dockerfile. - See - aliases: - - strategy_docker_strategy_build_args - type: list - spec_strategy_docker_strategy_dockerfile_path: - description: - - dockerfilePath is the path of the Dockerfile that will be used to build the - Docker image, relative to the root of the context (contextDir). - aliases: - - strategy_docker_strategy_dockerfile_path - spec_strategy_docker_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_docker_strategy_env - type: list - spec_strategy_docker_strategy_force_pull: - description: - - forcePull describes if the builder should pull the images from registry prior - to building. - aliases: - - strategy_docker_strategy_force_pull - type: bool - spec_strategy_docker_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_docker_strategy_from_api_version - spec_strategy_docker_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_docker_strategy_from_field_path - spec_strategy_docker_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_docker_strategy_from_kind - spec_strategy_docker_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_docker_strategy_from_name - spec_strategy_docker_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_docker_strategy_from_namespace - spec_strategy_docker_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_docker_strategy_from_resource_version - spec_strategy_docker_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_docker_strategy_from_uid - spec_strategy_docker_strategy_image_optimization_policy: - description: - - imageOptimizationPolicy describes what optimizations the system can use when - building images to reduce the final size or time spent building the image. The - default policy is 'None' which means the final build image will be equivalent - to an image created by the Docker build API. The experimental policy 'SkipLayers' - will avoid commiting new layers in between each image step, and will fail if - the Dockerfile cannot provide compatibility with the 'None' policy. An additional - experimental policy 'SkipLayersAndWarn' is the same as 'SkipLayers' but simply - warns if compatibility cannot be preserved. - aliases: - - strategy_docker_strategy_image_optimization_policy - spec_strategy_docker_strategy_no_cache: - description: - - noCache if set to true indicates that the docker build must be executed with - the --no-cache=true flag - aliases: - - strategy_docker_strategy_no_cache - type: bool - spec_strategy_docker_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_docker_strategy_pull_secret_name - spec_strategy_jenkins_pipeline_strategy_env: - description: - - env contains additional environment variables you want to pass into a build - pipeline. - aliases: - - strategy_jenkins_pipeline_strategy_env - type: list - spec_strategy_jenkins_pipeline_strategy_jenkinsfile: - description: - - Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines - a Jenkins pipeline build. - aliases: - - strategy_jenkins_pipeline_strategy_jenkinsfile - spec_strategy_jenkins_pipeline_strategy_jenkinsfile_path: - description: - - JenkinsfilePath is the optional path of the Jenkinsfile that will be used to - configure the pipeline relative to the root of the context (contextDir). If - both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to - Jenkinsfile in the root of the specified contextDir. - aliases: - - strategy_jenkins_pipeline_strategy_jenkinsfile_path - spec_strategy_source_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_source_strategy_env - type: list - spec_strategy_source_strategy_force_pull: - description: - - forcePull describes if the builder should pull the images from registry prior - to building. - aliases: - - strategy_source_strategy_force_pull - type: bool - spec_strategy_source_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_source_strategy_from_api_version - spec_strategy_source_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_source_strategy_from_field_path - spec_strategy_source_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_source_strategy_from_kind - spec_strategy_source_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_source_strategy_from_name - spec_strategy_source_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_source_strategy_from_namespace - spec_strategy_source_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_source_strategy_from_resource_version - spec_strategy_source_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_source_strategy_from_uid - spec_strategy_source_strategy_incremental: - description: - - incremental flag forces the Source build to do incremental builds if true. - aliases: - - strategy_source_strategy_incremental - type: bool - spec_strategy_source_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_source_strategy_pull_secret_name - spec_strategy_source_strategy_scripts: - description: - - scripts is the location of Source scripts - aliases: - - strategy_source_strategy_scripts - spec_strategy_type: - description: - - type is the kind of build strategy. - aliases: - - strategy_type - spec_triggered_by: - description: - - triggeredBy describes which triggers started the most recent update to the build - configuration and contains information about those triggers. - aliases: - - triggered_by - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -build: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - spec is all the inputs used to execute the build. - type: complex - status: - description: - - status is the current status of the build. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('build', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_build_config.py b/library/openshift_v1_build_config.py deleted file mode 100644 index 8696ec21..00000000 --- a/library/openshift_v1_build_config.py +++ /dev/null @@ -1,696 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_build_config -short_description: OpenShift BuildConfig -description: -- Manage the lifecycle of a build_config object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_completion_deadline_seconds: - description: - - completionDeadlineSeconds is an optional duration in seconds, counted from the - time when a build pod gets scheduled in the system, that the build may be active - on a node before the system actively tries to terminate the build; value must - be positive integer - aliases: - - completion_deadline_seconds - type: int - spec_failed_builds_history_limit: - description: - - failedBuildsHistoryLimit is the number of old failed builds to retain. If not - specified, all failed builds are retained. - aliases: - - failed_builds_history_limit - type: int - spec_node_selector: - description: - - nodeSelector is a selector which must be true for the build pod to fit on a - node If nil, it can be overridden by default build nodeselector values for the - cluster. If set to an empty map or a map with any values, default build nodeselector - values are ignored. - aliases: - - node_selector - type: dict - spec_output_image_labels: - description: - - imageLabels define a list of labels that are applied to the resulting image. - If there are multiple labels with the same name then the last one in the list - is used. - aliases: - - output_image_labels - type: list - spec_output_push_secret_name: - description: - - Name of the referent. - aliases: - - output_push_secret_name - spec_output_to_api_version: - description: - - API version of the referent. - aliases: - - output_to_api_version - spec_output_to_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - output_to_field_path - spec_output_to_kind: - description: - - Kind of the referent. - aliases: - - output_to_kind - spec_output_to_name: - description: - - Name of the referent. - aliases: - - output_to_name - spec_output_to_namespace: - description: - - Namespace of the referent. - aliases: - - output_to_namespace - spec_output_to_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - output_to_resource_version - spec_output_to_uid: - description: - - UID of the referent. - aliases: - - output_to_uid - spec_post_commit_args: - description: - - args is a list of arguments that are provided to either Command, Script or the - Docker image's default entrypoint. The arguments are placed immediately after - the command to be run. - aliases: - - post_commit_args - type: list - spec_post_commit_command: - description: - - command is the command to run. It may not be specified with Script. This might - be needed if the image doesn't have `/bin/sh`, or if you do not want to use - a shell. In all other cases, using Script might be more convenient. - aliases: - - post_commit_command - type: list - spec_post_commit_script: - description: - - script is a shell script to be run with `/bin/sh -ic`. It may not be specified - with Command. Use Script when a shell script is appropriate to execute the post - build hook, for example for running unit tests with `rake test`. If you need - control over the image entrypoint, or if the image does not have `/bin/sh`, - use Command and/or Args. The `-i` flag is needed to support CentOS and RHEL - images that use Software Collections (SCL), in order to have the appropriate - collections enabled in the shell. E.g., in the Ruby image, this is necessary - to make `ruby`, `bundle` and other binaries available in the PATH. - aliases: - - post_commit_script - spec_resources_limits: - description: - - Limits describes the maximum amount of compute resources allowed. - aliases: - - resources_limits - type: dict - spec_resources_requests: - description: - - Requests describes the minimum amount of compute resources required. If Requests - is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. - aliases: - - resources_requests - type: dict - spec_revision_git_author_email: - description: - - email of the source control user - aliases: - - revision_git_author_email - spec_revision_git_author_name: - description: - - name of the source control user - aliases: - - revision_git_author_name - spec_revision_git_commit: - description: - - commit is the commit hash identifying a specific commit - aliases: - - revision_git_commit - spec_revision_git_committer_email: - description: - - email of the source control user - aliases: - - revision_git_committer_email - spec_revision_git_committer_name: - description: - - name of the source control user - aliases: - - revision_git_committer_name - spec_revision_git_message: - description: - - message is the description of a specific commit - aliases: - - revision_git_message - spec_revision_type: - description: - - type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or - 'Images' - aliases: - - revision_type - spec_run_policy: - description: - - RunPolicy describes how the new build created from this build configuration - will be scheduled for execution. This is optional, if not specified we default - to "Serial". - aliases: - - run_policy - spec_service_account: - description: - - serviceAccount is the name of the ServiceAccount to use to run the pod created - by this build. The pod will be allowed to use secrets referenced by the ServiceAccount - aliases: - - service_account - spec_source_binary_as_file: - description: - - asFile indicates that the provided binary input should be considered a single - file within the build input. For example, specifying "webapp.war" would place - the provided binary as `/webapp.war` for the builder. If left empty, the Docker - and Source build strategies assume this file is a zip, tar, or tar.gz file and - extract it as the source. The custom strategy receives this binary as standard - input. This filename may not contain slashes or be '..' or '.'. - aliases: - - source_binary_as_file - spec_source_context_dir: - description: - - contextDir specifies the sub-directory where the source code for the application - exists. This allows to have buildable sources in directory other than root of - repository. - aliases: - - source_context_dir - spec_source_dockerfile: - description: - - dockerfile is the raw contents of a Dockerfile which should be built. When this - option is specified, the FROM may be modified based on your strategy base image - and additional ENV stanzas from your strategy environment will be added after - the FROM, but before the rest of your Dockerfile stanzas. The Dockerfile source - type may be used with other options like git - in those cases the Git repo will - have any innate Dockerfile replaced in the context dir. - aliases: - - source_dockerfile - spec_source_git_http_proxy: - description: - - httpProxy is a proxy used to reach the git repository over http - aliases: - - source_git_http_proxy - spec_source_git_https_proxy: - description: - - httpsProxy is a proxy used to reach the git repository over https - aliases: - - source_git_https_proxy - spec_source_git_no_proxy: - description: - - noProxy is the list of domains for which the proxy should not be used - aliases: - - source_git_no_proxy - spec_source_git_ref: - description: - - ref is the branch/tag/ref to build. - aliases: - - source_git_ref - spec_source_git_uri: - description: - - uri points to the source that will be built. The structure of the source will - depend on the type of build to run - aliases: - - source_git_uri - spec_source_images: - description: - - images describes a set of images to be used to provide source for the build - aliases: - - source_images - type: list - spec_source_secrets: - description: - - secrets represents a list of secrets and their destinations that will be used - only for the build. - aliases: - - source_secrets - type: list - spec_source_source_secret_name: - description: - - Name of the referent. - aliases: - - source_secret_name - spec_source_type: - description: - - type of build input to accept - aliases: - - source_type - spec_strategy_custom_strategy_build_api_version: - description: - - buildAPIVersion is the requested API version for the Build object serialized - and passed to the custom builder - aliases: - - strategy_custom_strategy_build_api_version - spec_strategy_custom_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_custom_strategy_env - type: list - spec_strategy_custom_strategy_expose_docker_socket: - description: - - exposeDockerSocket will allow running Docker commands (and build Docker images) - from inside the Docker container. - aliases: - - strategy_custom_strategy_expose_docker_socket - type: bool - spec_strategy_custom_strategy_force_pull: - description: - - forcePull describes if the controller should configure the build pod to always - pull the images for the builder or only pull if it is not present locally - aliases: - - strategy_custom_strategy_force_pull - type: bool - spec_strategy_custom_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_custom_strategy_from_api_version - spec_strategy_custom_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_custom_strategy_from_field_path - spec_strategy_custom_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_custom_strategy_from_kind - spec_strategy_custom_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_custom_strategy_from_name - spec_strategy_custom_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_custom_strategy_from_namespace - spec_strategy_custom_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_custom_strategy_from_resource_version - spec_strategy_custom_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_custom_strategy_from_uid - spec_strategy_custom_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_custom_strategy_pull_secret_name - spec_strategy_custom_strategy_secrets: - description: - - secrets is a list of additional secrets that will be included in the build pod - aliases: - - strategy_custom_strategy_secrets - type: list - spec_strategy_docker_strategy_build_args: - description: - - buildArgs contains build arguments that will be resolved in the Dockerfile. - See - aliases: - - strategy_docker_strategy_build_args - type: list - spec_strategy_docker_strategy_dockerfile_path: - description: - - dockerfilePath is the path of the Dockerfile that will be used to build the - Docker image, relative to the root of the context (contextDir). - aliases: - - strategy_docker_strategy_dockerfile_path - spec_strategy_docker_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_docker_strategy_env - type: list - spec_strategy_docker_strategy_force_pull: - description: - - forcePull describes if the builder should pull the images from registry prior - to building. - aliases: - - strategy_docker_strategy_force_pull - type: bool - spec_strategy_docker_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_docker_strategy_from_api_version - spec_strategy_docker_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_docker_strategy_from_field_path - spec_strategy_docker_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_docker_strategy_from_kind - spec_strategy_docker_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_docker_strategy_from_name - spec_strategy_docker_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_docker_strategy_from_namespace - spec_strategy_docker_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_docker_strategy_from_resource_version - spec_strategy_docker_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_docker_strategy_from_uid - spec_strategy_docker_strategy_image_optimization_policy: - description: - - imageOptimizationPolicy describes what optimizations the system can use when - building images to reduce the final size or time spent building the image. The - default policy is 'None' which means the final build image will be equivalent - to an image created by the Docker build API. The experimental policy 'SkipLayers' - will avoid commiting new layers in between each image step, and will fail if - the Dockerfile cannot provide compatibility with the 'None' policy. An additional - experimental policy 'SkipLayersAndWarn' is the same as 'SkipLayers' but simply - warns if compatibility cannot be preserved. - aliases: - - strategy_docker_strategy_image_optimization_policy - spec_strategy_docker_strategy_no_cache: - description: - - noCache if set to true indicates that the docker build must be executed with - the --no-cache=true flag - aliases: - - strategy_docker_strategy_no_cache - type: bool - spec_strategy_docker_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_docker_strategy_pull_secret_name - spec_strategy_jenkins_pipeline_strategy_env: - description: - - env contains additional environment variables you want to pass into a build - pipeline. - aliases: - - strategy_jenkins_pipeline_strategy_env - type: list - spec_strategy_jenkins_pipeline_strategy_jenkinsfile: - description: - - Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines - a Jenkins pipeline build. - aliases: - - strategy_jenkins_pipeline_strategy_jenkinsfile - spec_strategy_jenkins_pipeline_strategy_jenkinsfile_path: - description: - - JenkinsfilePath is the optional path of the Jenkinsfile that will be used to - configure the pipeline relative to the root of the context (contextDir). If - both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to - Jenkinsfile in the root of the specified contextDir. - aliases: - - strategy_jenkins_pipeline_strategy_jenkinsfile_path - spec_strategy_source_strategy_env: - description: - - env contains additional environment variables you want to pass into a builder - container. - aliases: - - strategy_source_strategy_env - type: list - spec_strategy_source_strategy_force_pull: - description: - - forcePull describes if the builder should pull the images from registry prior - to building. - aliases: - - strategy_source_strategy_force_pull - type: bool - spec_strategy_source_strategy_from_api_version: - description: - - API version of the referent. - aliases: - - strategy_source_strategy_from_api_version - spec_strategy_source_strategy_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - strategy_source_strategy_from_field_path - spec_strategy_source_strategy_from_kind: - description: - - Kind of the referent. - aliases: - - strategy_source_strategy_from_kind - spec_strategy_source_strategy_from_name: - description: - - Name of the referent. - aliases: - - strategy_source_strategy_from_name - spec_strategy_source_strategy_from_namespace: - description: - - Namespace of the referent. - aliases: - - strategy_source_strategy_from_namespace - spec_strategy_source_strategy_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - strategy_source_strategy_from_resource_version - spec_strategy_source_strategy_from_uid: - description: - - UID of the referent. - aliases: - - strategy_source_strategy_from_uid - spec_strategy_source_strategy_incremental: - description: - - incremental flag forces the Source build to do incremental builds if true. - aliases: - - strategy_source_strategy_incremental - type: bool - spec_strategy_source_strategy_pull_secret_name: - description: - - Name of the referent. - aliases: - - strategy_source_strategy_pull_secret_name - spec_strategy_source_strategy_scripts: - description: - - scripts is the location of Source scripts - aliases: - - strategy_source_strategy_scripts - spec_strategy_type: - description: - - type is the kind of build strategy. - aliases: - - strategy_type - spec_successful_builds_history_limit: - description: - - successfulBuildsHistoryLimit is the number of old successful builds to retain. - If not specified, all successful builds are retained. - aliases: - - successful_builds_history_limit - type: int - spec_triggers: - description: - - triggers determine how new Builds can be launched from a BuildConfig. If no - triggers are defined, a new build can only occur as a result of an explicit - client build creation. - aliases: - - triggers - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -build_config: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata for BuildConfig. - type: complex - spec: - description: - - spec holds all the input necessary to produce a new build, and the conditions - when to trigger them. - type: complex - status: - description: - - status holds any relevant information about a build config - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('build_config', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_build_config_list.py b/library/openshift_v1_build_config_list.py deleted file mode 100644 index 104910e8..00000000 --- a/library/openshift_v1_build_config_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_build_config_list -short_description: OpenShift BuildConfigList -description: -- Retrieve a list of build_configs. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -build_config_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is a list of build configs - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - metadata for BuildConfig. - type: complex - spec: - description: - - spec holds all the input necessary to produce a new build, and the conditions - when to trigger them. - type: complex - status: - description: - - status holds any relevant information about a build config - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata for BuildConfigList. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('build_config_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_build_list.py b/library/openshift_v1_build_list.py deleted file mode 100644 index ef61c355..00000000 --- a/library/openshift_v1_build_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_build_list -short_description: OpenShift BuildList -description: -- Retrieve a list of builds. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -build_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is a list of builds - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - spec is all the inputs used to execute the build. - type: complex - status: - description: - - status is the current status of the build. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata for BuildList. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('build_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_build_request.py b/library/openshift_v1_build_request.py deleted file mode 100644 index 0ac6eb6a..00000000 --- a/library/openshift_v1_build_request.py +++ /dev/null @@ -1,363 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_build_request -short_description: OpenShift BuildRequest -description: -- Manage the lifecycle of a build_request object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - binary_as_file: - description: - - asFile indicates that the provided binary input should be considered a single - file within the build input. For example, specifying "webapp.war" would place - the provided binary as `/webapp.war` for the builder. If left empty, the Docker - and Source build strategies assume this file is a zip, tar, or tar.gz file and - extract it as the source. The custom strategy receives this binary as standard - input. This filename may not contain slashes or be '..' or '.'. - aliases: - - as_file - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - docker_strategy_options_build_args: - description: - - Args contains any build arguments that are to be passed to Docker. See - aliases: - - build_args - type: list - docker_strategy_options_no_cache: - description: - - noCache overrides the docker-strategy noCache option in the build config - aliases: - - no_cache - type: bool - env: - description: - - env contains additional environment variables you want to pass into a builder - container. - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - from_api_version: - description: - - API version of the referent. - aliases: - - api_version - from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - from_kind: - description: - - Kind of the referent. - aliases: - - kind - from_name: - description: - - Name of the referent. - from_namespace: - description: - - Namespace of the referent. - from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - from_uid: - description: - - UID of the referent. - aliases: - - uid - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - last_version: - description: - - lastVersion (optional) is the LastVersion of the BuildConfig that was used to - generate the build. If the BuildConfig in the generator doesn't match, a build - will not be generated. - type: int - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - revision_git_author_email: - description: - - email of the source control user - aliases: - - email - revision_git_author_name: - description: - - name of the source control user - revision_git_commit: - description: - - commit is the commit hash identifying a specific commit - aliases: - - commit - revision_git_committer_email: - description: - - email of the source control user - revision_git_committer_name: - description: - - name of the source control user - revision_git_message: - description: - - message is the description of a specific commit - aliases: - - message - revision_type: - description: - - type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or - 'Images' - aliases: - - type - source_strategy_options_incremental: - description: - - incremental overrides the source-strategy incremental option in the build config - aliases: - - incremental - type: bool - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - triggered_by: - description: - - triggeredBy describes which triggers started the most recent update to the build - configuration and contains information about those triggers. - type: list - triggered_by_image_api_version: - description: - - API version of the referent. - triggered_by_image_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - triggered_by_image_kind: - description: - - Kind of the referent. - triggered_by_image_name: - description: - - Name of the referent. - triggered_by_image_namespace: - description: - - Namespace of the referent. - triggered_by_image_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - triggered_by_image_uid: - description: - - UID of the referent. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -build_request: - type: complex - returned: on success - contains: - from: - description: - - from is the reference to the ImageStreamTag that triggered the build. - type: complex - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - binary: - description: - - binary indicates a request to build from a binary provided to the builder - type: complex - docker_strategy_options: - description: - - DockerStrategyOptions contains additional docker-strategy specific options - for the build - type: complex - env: - description: - - env contains additional environment variables you want to pass into a builder - container. - type: list - contains: - name: - description: - - Name of the environment variable. Must be a C_IDENTIFIER. - type: str - value: - description: - - 'Variable references $(VAR_NAME) are expanded using the previous defined - environment variables in the container and any service environment variables. - If a variable cannot be resolved, the reference in the input string will - be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, - ie: $$(VAR_NAME). Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' - type: str - value_from: - description: - - Source for the environment variable's value. Cannot be used if value is - not empty. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - last_version: - description: - - lastVersion (optional) is the LastVersion of the BuildConfig that was used - to generate the build. If the BuildConfig in the generator doesn't match, - a build will not be generated. - type: int - metadata: - description: - - metadata for BuildRequest. - type: complex - revision: - description: - - revision is the information from the source for a specific repo snapshot. - type: complex - source_strategy_options: - description: - - SourceStrategyOptions contains additional source-strategy specific options - for the build - type: complex - triggered_by: - description: - - triggeredBy describes which triggers started the most recent update to the - build configuration and contains information about those triggers. - type: list - contains: - bitbucket_web_hook: - description: - - BitbucketWebHook represents data for a Bitbucket webhook that fired a - specific build. - type: complex - generic_web_hook: - description: - - genericWebHook holds data about a builds generic webhook trigger. - type: complex - github_web_hook: - description: - - gitHubWebHook represents data for a GitHub webhook that fired a specific - build. - type: complex - gitlab_web_hook: - description: - - GitLabWebHook represents data for a GitLab webhook that fired a specific - build. - type: complex - image_change_build: - description: - - imageChangeBuild stores information about an imagechange event that triggered - a new build. - type: complex - message: - description: - - 'message is used to store a human readable message for why the build was - triggered. E.g.: "Manually triggered by user", "Configuration change",etc.' - type: str - triggered_by_image: - description: - - triggeredByImage is the Image that triggered this build. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('build_request', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_network.py b/library/openshift_v1_cluster_network.py deleted file mode 100644 index b98429f4..00000000 --- a/library/openshift_v1_cluster_network.py +++ /dev/null @@ -1,214 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_network -short_description: OpenShift ClusterNetwork -description: -- Manage the lifecycle of a cluster_network object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - cluster_networks: - description: - - ClusterNetworks is a list of ClusterNetwork objects that defines the global - overlay network's L3 space by specifying a set of CIDR and netmasks that the - SDN can allocate addressed from. - type: list - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - hostsubnetlength: - description: - - HostSubnetLength is the number of bits of network to allocate to each node. - eg, 8 would mean that each node would have a /24 slice of the overlay network - for its pods - type: int - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - network: - description: - - Network is a CIDR string specifying the global overlay network's L3 space - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - plugin_name: - description: - - PluginName is the name of the network plugin being used - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - service_network: - description: - - ServiceNetwork is the CIDR range that Service IP addresses are allocated from - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_network: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - cluster_networks: - description: - - ClusterNetworks is a list of ClusterNetwork objects that defines the global - overlay network's L3 space by specifying a set of CIDR and netmasks that the - SDN can allocate addressed from. - type: list - contains: - cidr: - description: - - CIDR defines the total range of a cluster networks address space. - type: str - host_subnet_length: - description: - - HostSubnetLength is the number of bits of the accompanying CIDR address - to allocate to each node. eg, 8 would mean that each node would have a - /24 slice of the overlay network for its pods. - type: int - hostsubnetlength: - description: - - HostSubnetLength is the number of bits of network to allocate to each node. - eg, 8 would mean that each node would have a /24 slice of the overlay network - for its pods - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - network: - description: - - Network is a CIDR string specifying the global overlay network's L3 space - type: str - plugin_name: - description: - - PluginName is the name of the network plugin being used - type: str - service_network: - description: - - ServiceNetwork is the CIDR range that Service IP addresses are allocated from - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_network', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_network_list.py b/library/openshift_v1_cluster_network_list.py deleted file mode 100644 index 52edabec..00000000 --- a/library/openshift_v1_cluster_network_list.py +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_network_list -short_description: OpenShift ClusterNetworkList -description: -- Retrieve a list of cluster_networks. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_network_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of cluster networks - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - cluster_networks: - description: - - ClusterNetworks is a list of ClusterNetwork objects that defines the global - overlay network's L3 space by specifying a set of CIDR and netmasks that - the SDN can allocate addressed from. - type: list - contains: - cidr: - description: - - CIDR defines the total range of a cluster networks address space. - type: str - host_subnet_length: - description: - - HostSubnetLength is the number of bits of the accompanying CIDR address - to allocate to each node. eg, 8 would mean that each node would have - a /24 slice of the overlay network for its pods. - type: int - hostsubnetlength: - description: - - HostSubnetLength is the number of bits of network to allocate to each - node. eg, 8 would mean that each node would have a /24 slice of the overlay - network for its pods - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - network: - description: - - Network is a CIDR string specifying the global overlay network's L3 space - type: str - plugin_name: - description: - - PluginName is the name of the network plugin being used - type: str - service_network: - description: - - ServiceNetwork is the CIDR range that Service IP addresses are allocated - from - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_network_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_resource_quota.py b/library/openshift_v1_cluster_resource_quota.py deleted file mode 100644 index 2a86339b..00000000 --- a/library/openshift_v1_cluster_resource_quota.py +++ /dev/null @@ -1,201 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_resource_quota -short_description: OpenShift ClusterResourceQuota -description: -- Manage the lifecycle of a cluster_resource_quota object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_quota_hard: - description: - - Hard is the set of desired hard limits for each named resource. - aliases: - - quota_hard - type: dict - spec_quota_scopes: - description: - - A collection of filters that must match each object tracked by a quota. If not - specified, the quota matches all objects. - aliases: - - quota_scopes - type: list - spec_selector_annotations: - description: - - AnnotationSelector is used to select projects by annotation. - aliases: - - selector_annotations - type: dict - spec_selector_labels_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_labels_match_expressions - type: list - spec_selector_labels_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_labels_match_labels - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_resource_quota: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_resource_quota', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_resource_quota_list.py b/library/openshift_v1_cluster_resource_quota_list.py deleted file mode 100644 index 19271697..00000000 --- a/library/openshift_v1_cluster_resource_quota_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_resource_quota_list -short_description: OpenShift ClusterResourceQuotaList -description: -- Retrieve a list of cluster_resource_quotas. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_resource_quota_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterResourceQuotas - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the desired quota - type: complex - status: - description: - - Status defines the actual enforced quota and its current usage - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_resource_quota_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_role.py b/library/openshift_v1_cluster_role.py deleted file mode 100644 index e0aeb67e..00000000 --- a/library/openshift_v1_cluster_role.py +++ /dev/null @@ -1,222 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_role -short_description: OpenShift ClusterRole -description: -- Manage the lifecycle of a cluster_role object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - aggregation_rule_cluster_role_selectors: - description: - - ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles - and create the rules. If any of the selectors match, then the ClusterRole's - permissions will be added - aliases: - - cluster_role_selectors - type: list - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role: - type: complex - returned: when I(state) = C(present) - contains: - aggregation_rule: - description: - - AggregationRule is an optional field that describes how to build the Rules - for this ClusterRole. If AggregationRule is set, then the Rules are controller - managed and direct changes to Rules will be stomped by the controller. - type: complex - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - this field is empty, then both kubernetes and origin API groups are assumed. - That means that if an action is requested against one of the enumerated - resources in either the kubernetes or the origin API group, the request - will be allowed - type: list - contains: str - attribute_restrictions: - description: - - AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder - pair supports. If the Authorizer does not recognize how to handle the - AttributeRestrictions, the Authorizer should report an error. - type: complex - non_resource_ur_ls: - description: - - NonResourceURLsSlice is a set of partial urls that a user should have - access to. *s are allowed, but only as the full, final step in the path - This name is intentionally different than the internal type so that the - DefaultConvert works nicely and because the ordering may be different. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_role', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_role_binding.py b/library/openshift_v1_cluster_role_binding.py deleted file mode 100644 index 511e340f..00000000 --- a/library/openshift_v1_cluster_role_binding.py +++ /dev/null @@ -1,281 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_role_binding -short_description: OpenShift ClusterRoleBinding -description: -- Manage the lifecycle of a cluster_role_binding object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects for - further details. - type: list - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_version: - description: - - API version of the referent. - aliases: - - api_version - role_ref_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - role_ref_kind: - description: - - Kind of the referent. - aliases: - - kind - role_ref_name: - description: - - Name of the referent. - role_ref_namespace: - description: - - Namespace of the referent. - role_ref_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - role_ref_uid: - description: - - UID of the referent. - aliases: - - uid - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects hold object references to authorize with this rule. This field is ignored - if UserNames or GroupNames are specified to support legacy clients and servers. - Thus newer clients that do not need to support backwards compatibility should - send only fully qualified Subjects and should omit the UserNames and GroupNames - fields. Clients that need to support backwards compatibility can use this field - to build the UserNames and GroupNames. - type: list - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects for - further details. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects - for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference the current namespace and the global namespace. - If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. - Since Policy is a singleton, this is sufficient knowledge to locate a role. - type: complex - subjects: - description: - - Subjects hold object references to authorize with this rule. This field is - ignored if UserNames or GroupNames are specified to support legacy clients - and servers. Thus newer clients that do not need to support backwards compatibility - should send only fully qualified Subjects and should omit the UserNames and - GroupNames fields. Clients that need to support backwards compatibility can - use this field to build the UserNames and GroupNames. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this - string should contain a valid JSON/Go field access statement, such as - desiredState.manifest.containers[2]. For example, if the object reference - is to a container within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered the event) - or if no container name is specified "spec.containers[2]" (container with - index 2 in this pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects - for further details. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_role_binding', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_role_binding_list.py b/library/openshift_v1_cluster_role_binding_list.py deleted file mode 100644 index bdf0ee23..00000000 --- a/library/openshift_v1_cluster_role_binding_list.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_role_binding_list -short_description: OpenShift ClusterRoleBindingList -description: -- Retrieve a list of cluster_role_bindings. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field - should only be specified when supporting legacy clients and servers. See - Subjects for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference the current namespace and the global namespace. - If the ClusterRoleRef cannot be resolved, the Authorizer must return an - error. Since Policy is a singleton, this is sufficient knowledge to locate - a role. - type: complex - subjects: - description: - - Subjects hold object references to authorize with this rule. This field - is ignored if UserNames or GroupNames are specified to support legacy - clients and servers. Thus newer clients that do not need to support backwards - compatibility should send only fully qualified Subjects and should omit - the UserNames and GroupNames fields. Clients that need to support backwards - compatibility can use this field to build the UserNames and GroupNames. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, - this string should contain a valid JSON/Go field access statement, - such as desiredState.manifest.containers[2]. For example, if the object - reference is to a container within a pod, this would take on a value - like: "spec.containers{name}" (where "name" refers to the name of - the container that triggered the event) or if no container name is - specified "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way of referencing - a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field - should only be specified when supporting legacy clients and servers. See - Subjects for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_role_binding_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_cluster_role_list.py b/library/openshift_v1_cluster_role_list.py deleted file mode 100644 index 882493fc..00000000 --- a/library/openshift_v1_cluster_role_list.py +++ /dev/null @@ -1,210 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_cluster_role_list -short_description: OpenShift ClusterRoleList -description: -- Retrieve a list of cluster_roles. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -cluster_role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of ClusterRoles - type: list - contains: - aggregation_rule: - description: - - AggregationRule is an optional field that describes how to build the Rules - for this ClusterRole. If AggregationRule is set, then the Rules are controller - managed and direct changes to Rules will be stomped by the controller. - type: complex - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this ClusterRole - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If this field is empty, then both kubernetes and origin API groups - are assumed. That means that if an action is requested against one - of the enumerated resources in either the kubernetes or the origin - API group, the request will be allowed - type: list - contains: str - attribute_restrictions: - description: - - AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder - pair supports. If the Authorizer does not recognize how to handle - the AttributeRestrictions, the Authorizer should report an error. - type: complex - non_resource_ur_ls: - description: - - NonResourceURLsSlice is a set of partial urls that a user should have - access to. *s are allowed, but only as the full, final step in the - path This name is intentionally different than the internal type so - that the DefaultConvert works nicely and because the ordering may - be different. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('cluster_role_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_controller_revision.py b/library/openshift_v1_controller_revision.py deleted file mode 100644 index 176c1891..00000000 --- a/library/openshift_v1_controller_revision.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_controller_revision -short_description: OpenShift ControllerRevision -description: -- Manage the lifecycle of a controller_revision object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - data_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - raw - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('controller_revision', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_controller_revision_list.py b/library/openshift_v1_controller_revision_list.py deleted file mode 100644 index 637b0748..00000000 --- a/library/openshift_v1_controller_revision_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_controller_revision_list -short_description: OpenShift ControllerRevisionList -description: -- Retrieve a list of controller_revisions. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -controller_revision_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of ControllerRevisions - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - data: - description: - - Data is the serialized representation of the state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - revision: - description: - - Revision indicates the revision of the state represented by Data. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - '' - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('controller_revision_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_daemon_set.py b/library/openshift_v1_daemon_set.py deleted file mode 100644 index 2b8c3e51..00000000 --- a/library/openshift_v1_daemon_set.py +++ /dev/null @@ -1,542 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_daemon_set -short_description: OpenShift DaemonSet -description: -- Manage the lifecycle of a daemon_set object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - The minimum number of seconds for which a newly created DaemonSet pod should - be ready without any of its container crashing, for it to be considered available. - Defaults to 0 (pod will be considered available as soon as it is ready). - aliases: - - min_ready_seconds - type: int - spec_revision_history_limit: - description: - - The number of old history to retain to allow rollback. This is a pointer to - distinguish between explicit zero and not specified. Defaults to 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_max_unavailable: - description: - - 'The maximum number of DaemonSet pods that can be unavailable during the update. - Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet - pods at the start of the update (ex: 10%). Absolute number is calculated from - percentage by rounding up. This cannot be 0. Default value is 1. Example: when - this is set to 30%, at most 30% of the total number of nodes that should be - running the daemon pod (i.e. status.desiredNumberScheduled) can have their pods - stopped for an update at any given time. The update starts by stopping at most - 30% of those DaemonSet pods and then brings up new DaemonSet pods in their place. - Once the new pods are available, it then proceeds onto other DaemonSet pods, - thus ensuring that at least 70% of original number of DaemonSet pods are available - at all times during the update.' - aliases: - - update_strategy_rolling_update_max_unavailable - type: object - spec_update_strategy_type: - description: - - Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is - RollingUpdate. - aliases: - - update_strategy_type - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by some - window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('daemon_set', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_daemon_set_list.py b/library/openshift_v1_daemon_set_list.py deleted file mode 100644 index f453dddc..00000000 --- a/library/openshift_v1_daemon_set_list.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_daemon_set_list -short_description: OpenShift DaemonSetList -description: -- Retrieve a list of daemon_sets. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -daemon_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - A list of daemon sets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - The desired behavior of this daemon set. - type: complex - status: - description: - - The current status of this daemon set. This data may be out of date by - some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('daemon_set_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_deployment.py b/library/openshift_v1_deployment.py deleted file mode 100644 index 22d2da00..00000000 --- a/library/openshift_v1_deployment.py +++ /dev/null @@ -1,606 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_deployment -short_description: OpenShift Deployment -description: -- Manage the lifecycle of a deployment object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_paused: - description: - - Indicates that the deployment is paused. - aliases: - - paused - type: bool - spec_progress_deadline_seconds: - description: - - The maximum time in seconds for a deployment to make progress before it is considered - to be failed. The deployment controller will continue to process failed deployments - and a condition with a ProgressDeadlineExceeded reason will be surfaced in the - deployment status. Note that progress will not be estimated during the time - a deployment is paused. Defaults to 600s. - aliases: - - progress_deadline_seconds - type: int - spec_replicas: - description: - - Number of desired pods. This is a pointer to distinguish between explicit zero - and not specified. Defaults to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - The number of old ReplicaSets to retain to allow rollback. This is a pointer - to distinguish between explicit zero and not specified. Defaults to 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_strategy_active_deadline_seconds: - description: - - ActiveDeadlineSeconds is the duration in seconds that the deployer pods for - this deployment config may be active on a node before the system actively tries - to terminate them. - aliases: - - strategy_active_deadline_seconds - type: int - spec_strategy_annotations: - description: - - Annotations is a set of key, value pairs added to custom deployer and lifecycle - pre/post hook pods. - aliases: - - strategy_annotations - type: dict - spec_strategy_custom_params: - description: - - When C(spec_strategy_type) is I(Custom), provide a mapping of 'key:value' settings. - aliases: - - strategy_custom_params - type: dict - spec_strategy_labels: - description: - - Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post - hook pods. - aliases: - - strategy_labels - type: dict - spec_strategy_recreate_params: - description: - - When C(spec_strategy_type) is I(Recreate), provide a mapping of 'key:value' - settings. - aliases: - - strategy_recreate_params - type: dict - spec_strategy_resources_limits: - description: - - Limits describes the maximum amount of compute resources allowed. - aliases: - - strategy_resources_limits - type: dict - spec_strategy_resources_requests: - description: - - Requests describes the minimum amount of compute resources required. If Requests - is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. - aliases: - - strategy_resources_requests - type: dict - spec_strategy_rolling_params: - description: - - When C(spec_strategy_type) is I(Rolling), provide a mapping of 'key:value' settings. - aliases: - - strategy_rolling_params - type: dict - spec_strategy_type: - description: - - Type is the name of a deployment strategy. - choices: - - Rolling - - Custom - - Recreate - aliases: - - strategy_type - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('deployment', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_deployment_config.py b/library/openshift_v1_deployment_config.py deleted file mode 100644 index 5ad45ab4..00000000 --- a/library/openshift_v1_deployment_config.py +++ /dev/null @@ -1,687 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_deployment_config -short_description: OpenShift DeploymentConfig -description: -- Manage the lifecycle of a deployment_config object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - MinReadySeconds is the minimum number of seconds for which a newly created pod - should be ready without any of its container crashing, for it to be considered - available. Defaults to 0 (pod will be considered available as soon as it is - ready) - aliases: - - min_ready_seconds - type: int - spec_paused: - description: - - Paused indicates that the deployment config is paused resulting in no new deployments - on template changes or changes in the template caused by other triggers. - aliases: - - paused - type: bool - spec_replicas: - description: - - Replicas is the number of desired replicas. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - RevisionHistoryLimit is the number of old ReplicationControllers to retain to - allow for rollbacks. This field is a pointer to allow for differentiation between - an explicit zero and not specified. Defaults to 10. (This only applies to DeploymentConfigs - created via the new group API resource, not the legacy resource.) - aliases: - - revision_history_limit - type: int - spec_selector: - description: - - Selector is a label query over pods that should match the Replicas count. - aliases: - - selector - type: dict - spec_strategy_active_deadline_seconds: - description: - - ActiveDeadlineSeconds is the duration in seconds that the deployer pods for - this deployment config may be active on a node before the system actively tries - to terminate them. - aliases: - - strategy_active_deadline_seconds - type: int - spec_strategy_annotations: - description: - - Annotations is a set of key, value pairs added to custom deployer and lifecycle - pre/post hook pods. - aliases: - - strategy_annotations - type: dict - spec_strategy_custom_params: - description: - - When C(spec_strategy_type) is I(Custom), provide a mapping of 'key:value' settings. - aliases: - - strategy_custom_params - type: dict - spec_strategy_labels: - description: - - Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post - hook pods. - aliases: - - strategy_labels - type: dict - spec_strategy_recreate_params: - description: - - When C(spec_strategy_type) is I(Recreate), provide a mapping of 'key:value' - settings. - aliases: - - strategy_recreate_params - type: dict - spec_strategy_resources_limits: - description: - - Limits describes the maximum amount of compute resources allowed. - aliases: - - strategy_resources_limits - type: dict - spec_strategy_resources_requests: - description: - - Requests describes the minimum amount of compute resources required. If Requests - is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. - aliases: - - strategy_resources_requests - type: dict - spec_strategy_rolling_params: - description: - - When C(spec_strategy_type) is I(Rolling), provide a mapping of 'key:value' settings. - aliases: - - strategy_rolling_params - type: dict - spec_strategy_type: - description: - - Type is the name of a deployment strategy. - choices: - - Rolling - - Custom - - Recreate - aliases: - - strategy_type - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_test: - description: - - Test ensures that this deployment config will have zero replicas except while - a deployment is running. This allows the deployment config to be used as a continuous - deployment test - triggering on images, running the deployment, and then succeeding - or failing. Post strategy hooks and After actions can be used to integrate successful - deployment with an action. - aliases: - - test - type: bool - spec_triggers: - description: - - Triggers determine how updates to a DeploymentConfig result in new deployments. - If no triggers are defined, a new deployment can only occur as a result of an - explicit client update to the DeploymentConfig with a new LatestVersion. If - null, defaults to having a config change trigger. - aliases: - - triggers - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -- name: Create deployment config - openshift_v1_deployment_config.yml: - name: frontend - namespace: k8s-project - state: present - spec_template_metadata_labels: - name: frontend - containers: - - name: helloworld - image: openshift/origin-ruby-sample - ports: - - container_port: 8080 - protocol: TCP - name: http-port - replicas: 5 - selector: - name: frontend - triggers: - - type: ConfigChange - - type: ImageChange - image_change_params: - automatic: true - container_names: - - helloworld - _from: - kind: ImageStreamTag - name: origin-ruby-sample:latest - strategy_type: Rolling - -- name: Patch deployment config - openshift_v1_deployment_config.yml: - name: frontend - namespace: k8s-project - state: present - spec_template_metadata_labels: - name: frontend - containers: - - name: helloworld - image: openshift/origin-ruby-sample:v1.0 - ports: - - container_port: 9000 - protocol: UDP - name: udp-port - replicas: 3 - -- name: Replace deployment config - openshift_v1_deployment_config.yml: - name: frontend - namespace: k8s-project - state: replaced - spec_template_metadata_labels: - name: frontend_app - containers: - - name: helloworld - image: openshift/origin-ruby-sample:v2 - ports: - - container_port: 8888 - protocol: TCP - name: http-port - replicas: 2 - selector: - name: frontend_app - triggers: - - type: ConfigChange - - type: ImageChange - image_change_params: - automatic: true - container_names: - - helloworld - _from: - kind: ImageStreamTag - name: origin-ruby-sample:v2 - strategy_type: Rolling - -- name: Remove deployment config - openshift_v1_deployment_config.yml: - name: frontend - namespace: k8s-project - state: absent -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_config: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec represents a desired deployment state and how to deploy to it. - type: complex - status: - description: - - Status represents the current deployment state. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('deployment_config', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_deployment_config_list.py b/library/openshift_v1_deployment_config_list.py deleted file mode 100644 index 8d0db2e6..00000000 --- a/library/openshift_v1_deployment_config_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_deployment_config_list -short_description: OpenShift DeploymentConfigList -description: -- Retrieve a list of deployment_configs. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_config_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of deployment configs - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec represents a desired deployment state and how to deploy to it. - type: complex - status: - description: - - Status represents the current deployment state. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('deployment_config_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_deployment_config_rollback.py b/library/openshift_v1_deployment_config_rollback.py deleted file mode 100644 index 2d1d6c4e..00000000 --- a/library/openshift_v1_deployment_config_rollback.py +++ /dev/null @@ -1,200 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_deployment_config_rollback -short_description: OpenShift DeploymentConfigRollback -description: -- Manage the lifecycle of a deployment_config_rollback object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - name: - description: - - Name of the deployment config that will be rolled back. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_from_api_version: - description: - - API version of the referent. - aliases: - - from_api_version - spec_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - from_field_path - spec_from_kind: - description: - - Kind of the referent. - aliases: - - from_kind - spec_from_name: - description: - - Name of the referent. - aliases: - - from_name - spec_from_namespace: - description: - - Namespace of the referent. - aliases: - - from_namespace - spec_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - from_resource_version - spec_from_uid: - description: - - UID of the referent. - aliases: - - from_uid - spec_include_replication_meta: - description: - - IncludeReplicationMeta specifies whether to include the replica count and selector. - aliases: - - include_replication_meta - type: bool - spec_include_strategy: - description: - - IncludeStrategy specifies whether to include the deployment Strategy. - aliases: - - include_strategy - type: bool - spec_include_template: - description: - - IncludeTemplate specifies whether to include the PodTemplateSpec. - aliases: - - include_template - type: bool - spec_include_triggers: - description: - - IncludeTriggers specifies whether to include config Triggers. - aliases: - - include_triggers - type: bool - spec_revision: - description: - - Revision to rollback to. If set to 0, rollback to the last revision. - aliases: - - revision - type: int - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - updated_annotations: - description: - - UpdatedAnnotations is a set of new annotations that will be added in the deployment - config. - type: dict - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_config_rollback: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - name: - description: - - Name of the deployment config that will be rolled back. - type: str - spec: - description: - - Spec defines the options to rollback generation. - type: complex - updated_annotations: - description: - - UpdatedAnnotations is a set of new annotations that will be added in the deployment - config. - type: complex - contains: str, str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('deployment_config_rollback', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_deployment_list.py b/library/openshift_v1_deployment_list.py deleted file mode 100644 index efcd8ce7..00000000 --- a/library/openshift_v1_deployment_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_deployment_list -short_description: OpenShift DeploymentList -description: -- Retrieve a list of deployments. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -deployment_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of Deployments. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - Specification of the desired behavior of the Deployment. - type: complex - status: - description: - - Most recently observed status of the Deployment. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('deployment_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_egress_network_policy.py b/library/openshift_v1_egress_network_policy.py deleted file mode 100644 index 7bbc6ccf..00000000 --- a/library/openshift_v1_egress_network_policy.py +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_egress_network_policy -short_description: OpenShift EgressNetworkPolicy -description: -- Manage the lifecycle of a egress_network_policy object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_egress: - description: - - egress contains the list of egress policy rules - aliases: - - egress - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -egress_network_policy: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata for EgressNetworkPolicy - type: complex - spec: - description: - - spec is the specification of the current egress network policy - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('egress_network_policy', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_egress_network_policy_list.py b/library/openshift_v1_egress_network_policy_list.py deleted file mode 100644 index a10cd014..00000000 --- a/library/openshift_v1_egress_network_policy_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_egress_network_policy_list -short_description: OpenShift EgressNetworkPolicyList -description: -- Retrieve a list of egress_network_policys. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -egress_network_policy_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is the list of policies - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - metadata for EgressNetworkPolicy - type: complex - spec: - description: - - spec is the specification of the current egress network policy - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - metadata for EgressNetworkPolicyList - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('egress_network_policy_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_group.py b/library/openshift_v1_group.py deleted file mode 100644 index 4f9cfa00..00000000 --- a/library/openshift_v1_group.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_group -short_description: OpenShift Group -description: -- Manage the lifecycle of a group object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - users: - description: - - Users is the list of users in this group. - type: list - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -group: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - users: - description: - - Users is the list of users in this group. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('group', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_group_list.py b/library/openshift_v1_group_list.py deleted file mode 100644 index 9d93bc35..00000000 --- a/library/openshift_v1_group_list.py +++ /dev/null @@ -1,162 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_group_list -short_description: OpenShift GroupList -description: -- Retrieve a list of groups. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -group_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of groups - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - users: - description: - - Users is the list of users in this group. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('group_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_host_subnet.py b/library/openshift_v1_host_subnet.py deleted file mode 100644 index b600f4f0..00000000 --- a/library/openshift_v1_host_subnet.py +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_host_subnet -short_description: OpenShift HostSubnet -description: -- Manage the lifecycle of a host_subnet object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - egress_i_ps: - description: - - EgressIPs is the list of automatic egress IP addresses currently hosted by this - node - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Host is the name of the node. (This is the same as the object's name, but both - fields must be set.) - host_ip: - description: - - HostIP is the IP address to be used as a VTEP by other nodes in the overlay - network - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subnet: - description: - - Subnet is the CIDR range of the overlay network assigned to the node for its - pods - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -host_subnet: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - egress_i_ps: - description: - - EgressIPs is the list of automatic egress IP addresses currently hosted by - this node - type: list - contains: str - host: - description: - - Host is the name of the node. (This is the same as the object's name, but - both fields must be set.) - type: str - host_ip: - description: - - HostIP is the IP address to be used as a VTEP by other nodes in the overlay - network - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - subnet: - description: - - Subnet is the CIDR range of the overlay network assigned to the node for its - pods - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('host_subnet', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_host_subnet_list.py b/library/openshift_v1_host_subnet_list.py deleted file mode 100644 index 12ff372f..00000000 --- a/library/openshift_v1_host_subnet_list.py +++ /dev/null @@ -1,178 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_host_subnet_list -short_description: OpenShift HostSubnetList -description: -- Retrieve a list of host_subnets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -host_subnet_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of host subnets - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - egress_i_ps: - description: - - EgressIPs is the list of automatic egress IP addresses currently hosted - by this node - type: list - contains: str - host: - description: - - Host is the name of the node. (This is the same as the object's name, - but both fields must be set.) - type: str - host_ip: - description: - - HostIP is the IP address to be used as a VTEP by other nodes in the overlay - network - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - subnet: - description: - - Subnet is the CIDR range of the overlay network assigned to the node for - its pods - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('host_subnet_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_identity.py b/library/openshift_v1_identity.py deleted file mode 100644 index 397e8b6d..00000000 --- a/library/openshift_v1_identity.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_identity -short_description: OpenShift Identity -description: -- Manage the lifecycle of a identity object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - extra: - description: - - Extra holds extra information about this identity - type: dict - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - provider_name: - description: - - ProviderName is the source of identity information - provider_user_name: - description: - - ProviderUserName uniquely represents this identity in the scope of the provider - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - user_api_version: - description: - - API version of the referent. - aliases: - - api_version - user_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - user_kind: - description: - - Kind of the referent. - aliases: - - kind - user_name: - description: - - Name of the referent. - user_namespace: - description: - - Namespace of the referent. - user_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - user_uid: - description: - - UID of the referent. - aliases: - - uid - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -identity: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - extra: - description: - - Extra holds extra information about this identity - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - provider_name: - description: - - ProviderName is the source of identity information - type: str - provider_user_name: - description: - - ProviderUserName uniquely represents this identity in the scope of the provider - type: str - user: - description: - - User is a reference to the user this identity is associated with Both Name - and UID must be set - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('identity', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_identity_list.py b/library/openshift_v1_identity_list.py deleted file mode 100644 index 14d3bb2b..00000000 --- a/library/openshift_v1_identity_list.py +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_identity_list -short_description: OpenShift IdentityList -description: -- Retrieve a list of identitys. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -identity_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of identities - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - extra: - description: - - Extra holds extra information about this identity - type: complex - contains: str, str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - provider_name: - description: - - ProviderName is the source of identity information - type: str - provider_user_name: - description: - - ProviderUserName uniquely represents this identity in the scope of the - provider - type: str - user: - description: - - User is a reference to the user this identity is associated with Both - Name and UID must be set - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('identity_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image.py b/library/openshift_v1_image.py deleted file mode 100644 index cd8fd79e..00000000 --- a/library/openshift_v1_image.py +++ /dev/null @@ -1,332 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image -short_description: OpenShift Image -description: -- Manage the lifecycle of a image object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if the - image does not define that data. - type: list - docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This is a - part of manifest schema v2. - docker_image_metadata_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - raw - docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if empty - defaults to "1.0" - docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is a part - of manifest schema v1. - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - signatures: - description: - - Signatures holds all signatures of the image. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - type: str - docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if the - image does not define that data. - type: list - contains: - media_type: - description: - - MediaType of the referenced object. - type: str - name: - description: - - Name of the layer as defined by the underlying store. - type: str - size: - description: - - Size of the layer in bytes as defined by the underlying store. - type: int - docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - type: str - docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This is - a part of manifest schema v2. - type: str - docker_image_metadata: - description: - - DockerImageMetadata contains metadata about this image - type: complex - docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if empty - defaults to "1.0" - type: str - docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - type: str - docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is a part - of manifest schema v1. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - signatures: - description: - - Signatures holds all signatures of the image. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - conditions: - description: - - Conditions represent the latest available observations of a signature's - current state. - type: list - contains: - last_probe_time: - description: - - Last time the condition was checked. - type: complex - contains: {} - last_transition_time: - description: - - Last time the condition transit from one status to another. - type: complex - contains: {} - message: - description: - - Human readable message indicating details about last transition. - type: str - reason: - description: - - (brief) reason for the condition's last transition. - type: str - status: - description: - - Status of the condition, one of True, False, Unknown. - type: str - type: - description: - - Type of signature condition, Complete or Failed. - type: str - content: - description: - - "Required: An opaque binary string which is an image's signature." - type: str - created: - description: - - If specified, it is the time of signature's creation. - type: complex - contains: {} - image_identity: - description: - - A human readable string representing image's identity. It could be a product - name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). - type: str - issued_by: - description: - - If specified, it holds information about an issuer of signing certificate - or key (a person or entity who signed the signing certificate or key). - type: complex - issued_to: - description: - - If specified, it holds information about a subject of signing certificate - or key (a person or entity who signed the image). - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - signed_claims: - description: - - Contains claims from the signature. - type: complex - contains: str, str - type: - description: - - 'Required: Describes a type of stored blob.' - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_list.py b/library/openshift_v1_image_list.py deleted file mode 100644 index d90f486e..00000000 --- a/library/openshift_v1_image_list.py +++ /dev/null @@ -1,294 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_list -short_description: OpenShift ImageList -description: -- Retrieve a list of images. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of images - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - type: str - docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if - the image does not define that data. - type: list - contains: - media_type: - description: - - MediaType of the referenced object. - type: str - name: - description: - - Name of the layer as defined by the underlying store. - type: str - size: - description: - - Size of the layer in bytes as defined by the underlying store. - type: int - docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - type: str - docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This - is a part of manifest schema v2. - type: str - docker_image_metadata: - description: - - DockerImageMetadata contains metadata about this image - type: complex - docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if - empty defaults to "1.0" - type: str - docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - type: str - docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is - a part of manifest schema v1. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - signatures: - description: - - Signatures holds all signatures of the image. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of - an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. - type: str - conditions: - description: - - Conditions represent the latest available observations of a signature's - current state. - type: list - contains: - last_probe_time: - description: - - Last time the condition was checked. - type: complex - contains: {} - last_transition_time: - description: - - Last time the condition transit from one status to another. - type: complex - contains: {} - message: - description: - - Human readable message indicating details about last transition. - type: str - reason: - description: - - (brief) reason for the condition's last transition. - type: str - status: - description: - - Status of the condition, one of True, False, Unknown. - type: str - type: - description: - - Type of signature condition, Complete or Failed. - type: str - content: - description: - - "Required: An opaque binary string which is an image's signature." - type: str - created: - description: - - If specified, it is the time of signature's creation. - type: complex - contains: {} - image_identity: - description: - - A human readable string representing image's identity. It could be - a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). - type: str - issued_by: - description: - - If specified, it holds information about an issuer of signing certificate - or key (a person or entity who signed the signing certificate or key). - type: complex - issued_to: - description: - - If specified, it holds information about a subject of signing certificate - or key (a person or entity who signed the image). - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object - represents. Servers may infer this from the endpoint the client submits - requests to. Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - signed_claims: - description: - - Contains claims from the signature. - type: complex - contains: str, str - type: - description: - - 'Required: Describes a type of stored blob.' - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_signature.py b/library/openshift_v1_image_signature.py deleted file mode 100644 index 8d679239..00000000 --- a/library/openshift_v1_image_signature.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_signature -short_description: OpenShift ImageSignature -description: -- Manage the lifecycle of a image_signature object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - conditions: - description: - - Conditions represent the latest available observations of a signature's current - state. - type: list - content: - description: - - "Required: An opaque binary string which is an image's signature." - context: - description: - - The name of a context found in the Kubernetes config file. - created: - description: - - If specified, it is the time of signature's creation. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - image_identity: - description: - - A human readable string representing image's identity. It could be a product - name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). - issued_by_common_name: - description: - - Common name (e.g. openshift-signing-service). - aliases: - - common_name - issued_by_organization: - description: - - Organization name. - aliases: - - organization - issued_to_common_name: - description: - - Common name (e.g. openshift-signing-service). - issued_to_organization: - description: - - Organization name. - issued_to_public_key_id: - description: - - If present, it is a human readable key id of public key belonging to the subject - used to verify image signature. It should contain at least 64 lowest bits of - public key's fingerprint (e.g. 0x685ebe62bf278440). - aliases: - - public_key_id - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - signed_claims: - description: - - Contains claims from the signature. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - type: - description: - - 'Required: Describes a type of stored blob.' - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_signature: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - conditions: - description: - - Conditions represent the latest available observations of a signature's current - state. - type: list - contains: - last_probe_time: - description: - - Last time the condition was checked. - type: complex - contains: {} - last_transition_time: - description: - - Last time the condition transit from one status to another. - type: complex - contains: {} - message: - description: - - Human readable message indicating details about last transition. - type: str - reason: - description: - - (brief) reason for the condition's last transition. - type: str - status: - description: - - Status of the condition, one of True, False, Unknown. - type: str - type: - description: - - Type of signature condition, Complete or Failed. - type: str - content: - description: - - "Required: An opaque binary string which is an image's signature." - type: str - created: - description: - - If specified, it is the time of signature's creation. - type: complex - contains: {} - image_identity: - description: - - A human readable string representing image's identity. It could be a product - name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). - type: str - issued_by: - description: - - If specified, it holds information about an issuer of signing certificate - or key (a person or entity who signed the signing certificate or key). - type: complex - issued_to: - description: - - If specified, it holds information about a subject of signing certificate - or key (a person or entity who signed the image). - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - signed_claims: - description: - - Contains claims from the signature. - type: complex - contains: str, str - type: - description: - - 'Required: Describes a type of stored blob.' - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_signature', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream.py b/library/openshift_v1_image_stream.py deleted file mode 100644 index 5b607cd8..00000000 --- a/library/openshift_v1_image_stream.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream -short_description: OpenShift ImageStream -description: -- Manage the lifecycle of a image_stream object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_docker_image_repository: - description: - - 'dockerImageRepository is optional, if specified this stream is backed by a - Docker repository on this server Deprecated: This field is deprecated as of - v3.7 and will be removed in a future release. Specify the source for the tags - to be imported in each tag via the spec.tags.from reference instead.' - aliases: - - docker_image_repository - spec_lookup_policy_local: - description: - - local will change the docker short image references (like "mysql" or "php:latest") - on objects in this namespace to the image ID whenever they match this image - stream, instead of reaching out to a remote registry. The name will be fully - qualified to an image ID if found. The tag's referencePolicy is taken into account - on the replaced value. Only works within the current namespace. - aliases: - - lookup_policy_local - type: bool - spec_tags: - description: - - tags map arbitrary string values to specific image locators - aliases: - - tags - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec describes the desired state of this stream - type: complex - status: - description: - - Status describes the current state of this stream - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_image.py b/library/openshift_v1_image_stream_image.py deleted file mode 100644 index 2c023559..00000000 --- a/library/openshift_v1_image_stream_image.py +++ /dev/null @@ -1,228 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_image -short_description: OpenShift ImageStreamImage -description: -- Manage the lifecycle of a image_stream_image object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - image_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - api_version - image_docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - aliases: - - docker_image_config - image_docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if the - image does not define that data. - aliases: - - docker_image_layers - type: list - image_docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - aliases: - - docker_image_manifest - image_docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This is a - part of manifest schema v2. - aliases: - - docker_image_manifest_media_type - image_docker_image_metadata_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - image_docker_metadata_raw - image_docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if empty - defaults to "1.0" - aliases: - - docker_image_metadata_version - image_docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - aliases: - - docker_image_reference - image_docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is a part - of manifest schema v1. - aliases: - - docker_image_signatures - type: list - image_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - kind - image_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - image_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - image_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - image_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - image_signatures: - description: - - Signatures holds all signatures of the image. - aliases: - - signatures - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_image: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - image: - description: - - Image associated with the ImageStream and image name. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_image', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_import.py b/library/openshift_v1_image_stream_import.py deleted file mode 100644 index 008d747f..00000000 --- a/library/openshift_v1_image_stream_import.py +++ /dev/null @@ -1,231 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_import -short_description: OpenShift ImageStreamImport -description: -- Manage the lifecycle of a image_stream_import object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_images: - description: - - Images are a list of individual images to import. - aliases: - - images - type: list - spec_import: - description: - - Import indicates whether to perform an import - if so, the specified tags are - set on the spec and status of the image stream defined by the type meta. - aliases: - - import - type: bool - spec_repository_from_api_version: - description: - - API version of the referent. - aliases: - - repository_from_api_version - spec_repository_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - repository_from_field_path - spec_repository_from_kind: - description: - - Kind of the referent. - aliases: - - repository_from_kind - spec_repository_from_name: - description: - - Name of the referent. - aliases: - - repository_from_name - spec_repository_from_namespace: - description: - - Namespace of the referent. - aliases: - - repository_from_namespace - spec_repository_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - repository_from_resource_version - spec_repository_from_uid: - description: - - UID of the referent. - aliases: - - repository_from_uid - spec_repository_import_policy_insecure: - description: - - Insecure is true if the server may bypass certificate verification or connect - directly over HTTP during image import. - aliases: - - repository_import_policy_insecure - type: bool - spec_repository_import_policy_scheduled: - description: - - Scheduled indicates to the server that this tag should be periodically checked - to ensure it is up to date, and imported - aliases: - - repository_import_policy_scheduled - type: bool - spec_repository_include_manifest: - description: - - IncludeManifest determines if the manifest for each image is returned in the - response - aliases: - - repository_include_manifest - type: bool - spec_repository_reference_policy_type: - description: - - Type determines how the image pull spec should be transformed when the image - stream tag is used in deployment config triggers or new builds. The default - value is `Source`, indicating the original location of the image should be used - (if imported). The user may also specify `Local`, indicating that the pull spec - should point to the integrated Docker registry and leverage the registry's ability - to proxy the pull to an upstream registry. `Local` allows the credentials used - to pull this image to be managed from the image stream's namespace, so others - on the platform can access a remote image but have no access to the remote secret. - It also allows the image layers to be mirrored into the local registry which - the images can still be pulled even if the upstream registry is unavailable. - aliases: - - repository_reference_policy_type - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_import: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec is a description of the images that the user wishes to import - type: complex - status: - description: - - Status is the the result of importing the image - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_import', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_list.py b/library/openshift_v1_image_stream_list.py deleted file mode 100644 index 2cf1ed9b..00000000 --- a/library/openshift_v1_image_stream_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_list -short_description: OpenShift ImageStreamList -description: -- Retrieve a list of image_streams. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of imageStreams - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec describes the desired state of this stream - type: complex - status: - description: - - Status describes the current state of this stream - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_mapping.py b/library/openshift_v1_image_stream_mapping.py deleted file mode 100644 index f11ff007..00000000 --- a/library/openshift_v1_image_stream_mapping.py +++ /dev/null @@ -1,235 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_mapping -short_description: OpenShift ImageStreamMapping -description: -- Manage the lifecycle of a image_stream_mapping object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - image_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - api_version - image_docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - aliases: - - docker_image_config - image_docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if the - image does not define that data. - aliases: - - docker_image_layers - type: list - image_docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - aliases: - - docker_image_manifest - image_docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This is a - part of manifest schema v2. - aliases: - - docker_image_manifest_media_type - image_docker_image_metadata_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - image_docker_metadata_raw - image_docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if empty - defaults to "1.0" - aliases: - - docker_image_metadata_version - image_docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - aliases: - - docker_image_reference - image_docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is a part - of manifest schema v1. - aliases: - - docker_image_signatures - type: list - image_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - kind - image_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - image_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - image_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - image_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - image_signatures: - description: - - Signatures holds all signatures of the image. - aliases: - - signatures - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - tag: - description: - - Tag is a string value this image can be located with inside the stream. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_mapping: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - image: - description: - - Image is a Docker image. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - tag: - description: - - Tag is a string value this image can be located with inside the stream. - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_mapping', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_tag.py b/library/openshift_v1_image_stream_tag.py deleted file mode 100644 index e276cde5..00000000 --- a/library/openshift_v1_image_stream_tag.py +++ /dev/null @@ -1,410 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_tag -short_description: OpenShift ImageStreamTag -description: -- Manage the lifecycle of a image_stream_tag object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - conditions: - description: - - conditions is an array of conditions that apply to the image stream tag. - type: list - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - generation: - description: - - generation is the current generation of the tagged image - if tag is provided - and this value is not equal to the tag generation, a user has requested an import - that has not completed, or conditions will be filled out indicating any error. - type: int - host: - description: - - Provide a URL for acessing the Kubernetes API. - image_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - api_version - image_docker_image_config: - description: - - DockerImageConfig is a JSON blob that the runtime uses to set up the container. - This is a part of manifest schema v2. - aliases: - - docker_image_config - image_docker_image_layers: - description: - - DockerImageLayers represents the layers in the image. May not be set if the - image does not define that data. - aliases: - - docker_image_layers - type: list - image_docker_image_manifest: - description: - - DockerImageManifest is the raw JSON of the manifest - aliases: - - docker_image_manifest - image_docker_image_manifest_media_type: - description: - - DockerImageManifestMediaType specifies the mediaType of manifest. This is a - part of manifest schema v2. - aliases: - - docker_image_manifest_media_type - image_docker_image_metadata_raw: - description: - - Raw is the underlying serialization of this object. - aliases: - - image_docker_metadata_raw - image_docker_image_metadata_version: - description: - - DockerImageMetadataVersion conveys the version of the object, which if empty - defaults to "1.0" - aliases: - - docker_image_metadata_version - image_docker_image_reference: - description: - - DockerImageReference is the string that can be used to pull this image. - aliases: - - docker_image_reference - image_docker_image_signatures: - description: - - DockerImageSignatures provides the signatures as opaque blobs. This is a part - of manifest schema v1. - aliases: - - docker_image_signatures - type: list - image_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - kind - image_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - image_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - image_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - image_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - image_signatures: - description: - - Signatures holds all signatures of the image. - aliases: - - signatures - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - lookup_policy_local: - description: - - local will change the docker short image references (like "mysql" or "php:latest") - on objects in this namespace to the image ID whenever they match this image - stream, instead of reaching out to a remote registry. The name will be fully - qualified to an image ID if found. The tag's referencePolicy is taken into account - on the replaced value. Only works within the current namespace. - aliases: - - local - type: bool - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - tag_annotations: - description: - - Optional; if specified, annotations that are applied to images retrieved via - ImageStreamTags. - type: dict - tag_from_api_version: - description: - - API version of the referent. - tag_from_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - tag_from_kind: - description: - - Kind of the referent. - tag_from_name: - description: - - Name of the referent. - tag_from_namespace: - description: - - Namespace of the referent. - tag_from_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - tag_from_uid: - description: - - UID of the referent. - aliases: - - uid - tag_generation: - description: - - Generation is a counter that tracks mutations to the spec tag (user intent). - When a tag reference is changed the generation is set to match the current stream - generation (which is incremented every time spec is changed). Other processes - in the system like the image importer observe that the generation of spec tag - is newer than the generation recorded in the status and use that as a trigger - to import the newest remote tag. To trigger a new import, clients may set this - value to zero which will reset the generation to the latest stream generation. - Legacy clients will send this value as nil which will be merged with the current - tag generation. - type: int - tag_import_policy_insecure: - description: - - Insecure is true if the server may bypass certificate verification or connect - directly over HTTP during image import. - aliases: - - insecure - type: bool - tag_import_policy_scheduled: - description: - - Scheduled indicates to the server that this tag should be periodically checked - to ensure it is up to date, and imported - aliases: - - scheduled - type: bool - tag_name: - description: - - Name of the tag - tag_reference: - description: - - Reference states if the tag will be imported. Default value is false, which - means the tag will be imported. - aliases: - - reference - type: bool - tag_reference_policy_type: - description: - - Type determines how the image pull spec should be transformed when the image - stream tag is used in deployment config triggers or new builds. The default - value is `Source`, indicating the original location of the image should be used - (if imported). The user may also specify `Local`, indicating that the pull spec - should point to the integrated Docker registry and leverage the registry's ability - to proxy the pull to an upstream registry. `Local` allows the credentials used - to pull this image to be managed from the image stream's namespace, so others - on the platform can access a remote image but have no access to the remote secret. - It also allows the image layers to be mirrored into the local registry which - the images can still be pulled even if the upstream registry is unavailable. - aliases: - - type - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_tag: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - conditions: - description: - - conditions is an array of conditions that apply to the image stream tag. - type: list - contains: - generation: - description: - - Generation is the spec tag generation that this status corresponds to - type: int - last_transition_time: - description: - - LastTransitionTIme is the time the condition transitioned from one status - to another. - type: complex - contains: {} - message: - description: - - Message is a human readable description of the details about last transition, - complementing reason. - type: str - reason: - description: - - Reason is a brief machine readable explanation for the condition's last - transition. - type: str - status: - description: - - Status of the condition, one of True, False, Unknown. - type: str - type: - description: - - Type of tag event condition, currently only ImportSuccess - type: str - generation: - description: - - generation is the current generation of the tagged image - if tag is provided - and this value is not equal to the tag generation, a user has requested an - import that has not completed, or conditions will be filled out indicating - any error. - type: int - image: - description: - - image associated with the ImageStream and tag. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - lookup_policy: - description: - - lookupPolicy indicates whether this tag will handle image references in this - namespace. - type: complex - metadata: - description: - - Standard object's metadata. - type: complex - tag: - description: - - tag is the spec tag associated with this image stream tag, and it may be null - if only pushes have occurred to this image stream. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_tag', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_image_stream_tag_list.py b/library/openshift_v1_image_stream_tag_list.py deleted file mode 100644 index 182c11df..00000000 --- a/library/openshift_v1_image_stream_tag_list.py +++ /dev/null @@ -1,212 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_image_stream_tag_list -short_description: OpenShift ImageStreamTagList -description: -- Retrieve a list of image_stream_tags. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -image_stream_tag_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of image stream tags - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - conditions: - description: - - conditions is an array of conditions that apply to the image stream tag. - type: list - contains: - generation: - description: - - Generation is the spec tag generation that this status corresponds - to - type: int - last_transition_time: - description: - - LastTransitionTIme is the time the condition transitioned from one - status to another. - type: complex - contains: {} - message: - description: - - Message is a human readable description of the details about last - transition, complementing reason. - type: str - reason: - description: - - Reason is a brief machine readable explanation for the condition's - last transition. - type: str - status: - description: - - Status of the condition, one of True, False, Unknown. - type: str - type: - description: - - Type of tag event condition, currently only ImportSuccess - type: str - generation: - description: - - generation is the current generation of the tagged image - if tag is provided - and this value is not equal to the tag generation, a user has requested - an import that has not completed, or conditions will be filled out indicating - any error. - type: int - image: - description: - - image associated with the ImageStream and tag. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - lookup_policy: - description: - - lookupPolicy indicates whether this tag will handle image references in - this namespace. - type: complex - metadata: - description: - - Standard object's metadata. - type: complex - tag: - description: - - tag is the spec tag associated with this image stream tag, and it may - be null if only pushes have occurred to this image stream. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('image_stream_tag_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_net_namespace.py b/library/openshift_v1_net_namespace.py deleted file mode 100644 index 5169d535..00000000 --- a/library/openshift_v1_net_namespace.py +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_net_namespace -short_description: OpenShift NetNamespace -description: -- Manage the lifecycle of a net_namespace object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - egress_i_ps: - description: - - EgressIPs is a list of reserved IPs that will be used as the source for external - traffic coming from pods in this namespace. (If empty, external traffic will - be masqueraded to Node IPs.) - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - netid: - description: - - NetID is the network identifier of the network namespace assigned to each overlay - network packet. This can be manipulated with the "oc adm pod-network" commands. - type: int - netname: - description: - - NetName is the name of the network namespace. (This is the same as the object's - name, but both fields must be set.) - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -net_namespace: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - egress_i_ps: - description: - - EgressIPs is a list of reserved IPs that will be used as the source for external - traffic coming from pods in this namespace. (If empty, external traffic will - be masqueraded to Node IPs.) - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - netid: - description: - - NetID is the network identifier of the network namespace assigned to each - overlay network packet. This can be manipulated with the "oc adm pod-network" - commands. - type: int - netname: - description: - - NetName is the name of the network namespace. (This is the same as the object's - name, but both fields must be set.) - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('net_namespace', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_net_namespace_list.py b/library/openshift_v1_net_namespace_list.py deleted file mode 100644 index 5bf9b834..00000000 --- a/library/openshift_v1_net_namespace_list.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_net_namespace_list -short_description: OpenShift NetNamespaceList -description: -- Retrieve a list of net_namespaces. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -net_namespace_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of net namespaces - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - egress_i_ps: - description: - - EgressIPs is a list of reserved IPs that will be used as the source for - external traffic coming from pods in this namespace. (If empty, external - traffic will be masqueraded to Node IPs.) - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - netid: - description: - - NetID is the network identifier of the network namespace assigned to each - overlay network packet. This can be manipulated with the "oc adm pod-network" - commands. - type: int - netname: - description: - - NetName is the name of the network namespace. (This is the same as the - object's name, but both fields must be set.) - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('net_namespace_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_access_token.py b/library/openshift_v1_o_auth_access_token.py deleted file mode 100644 index ed1d5a13..00000000 --- a/library/openshift_v1_o_auth_access_token.py +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_access_token -short_description: OpenShift OAuthAccessToken -description: -- Manage the lifecycle of a o_auth_access_token object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - authorize_token: - description: - - AuthorizeToken contains the token that authorized this token - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - client_name: - description: - - ClientName references the client that created this token. - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - inactivity_timeout_seconds: - description: - - InactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, - after which this token can no longer be used. The value is automatically incremented - when the token is used. - type: int - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - refresh_token: - description: - - RefreshToken is the value by which this token can be renewed. Can be blank. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - user_name: - description: - - UserName is the user name associated with this token - user_uid: - description: - - UserUID is the unique UID associated with this token - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_access_token: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - authorize_token: - description: - - AuthorizeToken contains the token that authorized this token - type: str - client_name: - description: - - ClientName references the client that created this token. - type: str - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - inactivity_timeout_seconds: - description: - - InactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, - after which this token can no longer be used. The value is automatically incremented - when the token is used. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - type: str - refresh_token: - description: - - RefreshToken is the value by which this token can be renewed. Can be blank. - type: str - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - contains: str - user_name: - description: - - UserName is the user name associated with this token - type: str - user_uid: - description: - - UserUID is the unique UID associated with this token - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_access_token', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_access_token_list.py b/library/openshift_v1_o_auth_access_token_list.py deleted file mode 100644 index 2cc561be..00000000 --- a/library/openshift_v1_o_auth_access_token_list.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_access_token_list -short_description: OpenShift OAuthAccessTokenList -description: -- Retrieve a list of o_auth_access_tokens. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_access_token_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of OAuth access tokens - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - authorize_token: - description: - - AuthorizeToken contains the token that authorized this token - type: str - client_name: - description: - - ClientName references the client that created this token. - type: str - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - inactivity_timeout_seconds: - description: - - InactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, - after which this token can no longer be used. The value is automatically - incremented when the token is used. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - type: str - refresh_token: - description: - - RefreshToken is the value by which this token can be renewed. Can be blank. - type: str - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - contains: str - user_name: - description: - - UserName is the user name associated with this token - type: str - user_uid: - description: - - UserUID is the unique UID associated with this token - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_access_token_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_authorize_token.py b/library/openshift_v1_o_auth_authorize_token.py deleted file mode 100644 index c9452abd..00000000 --- a/library/openshift_v1_o_auth_authorize_token.py +++ /dev/null @@ -1,216 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_authorize_token -short_description: OpenShift OAuthAuthorizeToken -description: -- Manage the lifecycle of a o_auth_authorize_token object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - client_name: - description: - - ClientName references the client that created this token. - code_challenge: - description: - - CodeChallenge is the optional code_challenge associated with this authorization - code, as described in rfc7636 - code_challenge_method: - description: - - CodeChallengeMethod is the optional code_challenge_method associated with this - authorization code, as described in rfc7636 - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - State data from request - user_name: - description: - - UserName is the user name associated with this token - user_uid: - description: - - UserUID is the unique UID associated with this token. UserUID and UserName must - both match for this token to be valid. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_authorize_token: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - client_name: - description: - - ClientName references the client that created this token. - type: str - code_challenge: - description: - - CodeChallenge is the optional code_challenge associated with this authorization - code, as described in rfc7636 - type: str - code_challenge_method: - description: - - CodeChallengeMethod is the optional code_challenge_method associated with - this authorization code, as described in rfc7636 - type: str - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - type: str - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - contains: str - state: - description: - - State data from request - type: str - user_name: - description: - - UserName is the user name associated with this token - type: str - user_uid: - description: - - UserUID is the unique UID associated with this token. UserUID and UserName - must both match for this token to be valid. - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_authorize_token', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_authorize_token_list.py b/library/openshift_v1_o_auth_authorize_token_list.py deleted file mode 100644 index 1fa25173..00000000 --- a/library/openshift_v1_o_auth_authorize_token_list.py +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_authorize_token_list -short_description: OpenShift OAuthAuthorizeTokenList -description: -- Retrieve a list of o_auth_authorize_tokens. List operations provide a snapshot read - of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_authorize_token_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of OAuth authorization tokens - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - client_name: - description: - - ClientName references the client that created this token. - type: str - code_challenge: - description: - - CodeChallenge is the optional code_challenge associated with this authorization - code, as described in rfc7636 - type: str - code_challenge_method: - description: - - CodeChallengeMethod is the optional code_challenge_method associated with - this authorization code, as described in rfc7636 - type: str - expires_in: - description: - - ExpiresIn is the seconds from CreationTime before this token expires. - type: int - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_uri: - description: - - RedirectURI is the redirection associated with the token. - type: str - scopes: - description: - - Scopes is an array of the requested scopes. - type: list - contains: str - state: - description: - - State data from request - type: str - user_name: - description: - - UserName is the user name associated with this token - type: str - user_uid: - description: - - UserUID is the unique UID associated with this token. UserUID and UserName - must both match for this token to be valid. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_authorize_token_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_client.py b/library/openshift_v1_o_auth_client.py deleted file mode 100644 index 1fe0f24f..00000000 --- a/library/openshift_v1_o_auth_client.py +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_client -short_description: OpenShift OAuthClient -description: -- Manage the lifecycle of a o_auth_client object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - access_token_inactivity_timeout_seconds: - description: - - 'AccessTokenInactivityTimeoutSeconds overrides the default token inactivity - timeout for tokens granted to this client. The value represents the maximum - amount of time that can occur between consecutive uses of the token. Tokens - become invalid if they are not used within this temporal window. The user will - need to acquire a new token to regain access once a token times out. This value - needs to be set only if the default set in configuration is not appropriate - for this client. Valid values are: - 0: Tokens for this client never time out - - X: Tokens time out if there is no activity for X seconds The current minimum - allowed value for X is 300 (5 minutes)' - type: int - access_token_max_age_seconds: - description: - - AccessTokenMaxAgeSeconds overrides the default access token max age for tokens - granted to this client. 0 means no expiration. - type: int - additional_secrets: - description: - - AdditionalSecrets holds other secrets that may be used to identify the client. - This is useful for rotation and for service account token validation - type: list - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - grant_method: - description: - - 'GrantMethod determines how to handle grants for this client. If no method is - provided, the cluster default grant handling method will be used. Valid grant - handling methods are: - auto: always approves grant requests, useful for trusted - clients - prompt: prompts the end user for approval of grant requests, useful - for third-party clients - deny: always denies grant requests, useful for black-listed - clients' - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - redirect_ur_is: - description: - - RedirectURIs is the valid redirection URIs associated with a client - type: list - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - respond_with_challenges: - description: - - RespondWithChallenges indicates whether the client wants authentication needed - responses made in the form of challenges instead of redirects - type: bool - scope_restrictions: - description: - - ScopeRestrictions describes which scopes this client can request. Each requested - scope is checked against each restriction. If any restriction matches, then - the scope is allowed. If no restriction matches, then the scope is denied. - type: list - secret: - description: - - Secret is the unique secret associated with a client - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_client: - type: complex - returned: when I(state) = C(present) - contains: - access_token_inactivity_timeout_seconds: - description: - - 'AccessTokenInactivityTimeoutSeconds overrides the default token inactivity - timeout for tokens granted to this client. The value represents the maximum - amount of time that can occur between consecutive uses of the token. Tokens - become invalid if they are not used within this temporal window. The user - will need to acquire a new token to regain access once a token times out. - This value needs to be set only if the default set in configuration is not - appropriate for this client. Valid values are: - 0: Tokens for this client - never time out - X: Tokens time out if there is no activity for X seconds - The current minimum allowed value for X is 300 (5 minutes)' - type: int - access_token_max_age_seconds: - description: - - AccessTokenMaxAgeSeconds overrides the default access token max age for tokens - granted to this client. 0 means no expiration. - type: int - additional_secrets: - description: - - AdditionalSecrets holds other secrets that may be used to identify the client. - This is useful for rotation and for service account token validation - type: list - contains: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - grant_method: - description: - - 'GrantMethod determines how to handle grants for this client. If no method - is provided, the cluster default grant handling method will be used. Valid - grant handling methods are: - auto: always approves grant requests, useful - for trusted clients - prompt: prompts the end user for approval of grant requests, - useful for third-party clients - deny: always denies grant requests, useful - for black-listed clients' - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_ur_is: - description: - - RedirectURIs is the valid redirection URIs associated with a client - type: list - contains: str - respond_with_challenges: - description: - - RespondWithChallenges indicates whether the client wants authentication needed - responses made in the form of challenges instead of redirects - type: bool - scope_restrictions: - description: - - ScopeRestrictions describes which scopes this client can request. Each requested - scope is checked against each restriction. If any restriction matches, then - the scope is allowed. If no restriction matches, then the scope is denied. - type: list - contains: - cluster_role: - description: - - ClusterRole describes a set of restrictions for cluster role scoping. - type: complex - literals: - description: - - ExactValues means the scope has to match a particular set of strings exactly - type: list - contains: str - secret: - description: - - Secret is the unique secret associated with a client - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_client', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_client_authorization.py b/library/openshift_v1_o_auth_client_authorization.py deleted file mode 100644 index 41baccb6..00000000 --- a/library/openshift_v1_o_auth_client_authorization.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_client_authorization -short_description: OpenShift OAuthClientAuthorization -description: -- Manage the lifecycle of a o_auth_client_authorization object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - client_name: - description: - - ClientName references the client that created this authorization - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - scopes: - description: - - Scopes is an array of the granted scopes. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - user_name: - description: - - UserName is the user name that authorized this client - user_uid: - description: - - UserUID is the unique UID associated with this authorization. UserUID and UserName - must both match for this authorization to be valid. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_client_authorization: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - client_name: - description: - - ClientName references the client that created this authorization - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - scopes: - description: - - Scopes is an array of the granted scopes. - type: list - contains: str - user_name: - description: - - UserName is the user name that authorized this client - type: str - user_uid: - description: - - UserUID is the unique UID associated with this authorization. UserUID and - UserName must both match for this authorization to be valid. - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_client_authorization', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_client_authorization_list.py b/library/openshift_v1_o_auth_client_authorization_list.py deleted file mode 100644 index 755a729a..00000000 --- a/library/openshift_v1_o_auth_client_authorization_list.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_client_authorization_list -short_description: OpenShift OAuthClientAuthorizationList -description: -- Retrieve a list of o_auth_client_authorizations. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_client_authorization_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of OAuth client authorizations - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - client_name: - description: - - ClientName references the client that created this authorization - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - scopes: - description: - - Scopes is an array of the granted scopes. - type: list - contains: str - user_name: - description: - - UserName is the user name that authorized this client - type: str - user_uid: - description: - - UserUID is the unique UID associated with this authorization. UserUID - and UserName must both match for this authorization to be valid. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_client_authorization_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_o_auth_client_list.py b/library/openshift_v1_o_auth_client_list.py deleted file mode 100644 index d6737685..00000000 --- a/library/openshift_v1_o_auth_client_list.py +++ /dev/null @@ -1,221 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_o_auth_client_list -short_description: OpenShift OAuthClientList -description: -- Retrieve a list of o_auth_clients. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -o_auth_client_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of OAuth clients - type: list - contains: - access_token_inactivity_timeout_seconds: - description: - - 'AccessTokenInactivityTimeoutSeconds overrides the default token inactivity - timeout for tokens granted to this client. The value represents the maximum - amount of time that can occur between consecutive uses of the token. Tokens - become invalid if they are not used within this temporal window. The user - will need to acquire a new token to regain access once a token times out. - This value needs to be set only if the default set in configuration is - not appropriate for this client. Valid values are: - 0: Tokens for this - client never time out - X: Tokens time out if there is no activity for - X seconds The current minimum allowed value for X is 300 (5 minutes)' - type: int - access_token_max_age_seconds: - description: - - AccessTokenMaxAgeSeconds overrides the default access token max age for - tokens granted to this client. 0 means no expiration. - type: int - additional_secrets: - description: - - AdditionalSecrets holds other secrets that may be used to identify the - client. This is useful for rotation and for service account token validation - type: list - contains: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - grant_method: - description: - - 'GrantMethod determines how to handle grants for this client. If no method - is provided, the cluster default grant handling method will be used. Valid - grant handling methods are: - auto: always approves grant requests, useful - for trusted clients - prompt: prompts the end user for approval of grant - requests, useful for third-party clients - deny: always denies grant requests, - useful for black-listed clients' - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - redirect_ur_is: - description: - - RedirectURIs is the valid redirection URIs associated with a client - type: list - contains: str - respond_with_challenges: - description: - - RespondWithChallenges indicates whether the client wants authentication - needed responses made in the form of challenges instead of redirects - type: bool - scope_restrictions: - description: - - ScopeRestrictions describes which scopes this client can request. Each - requested scope is checked against each restriction. If any restriction - matches, then the scope is allowed. If no restriction matches, then the - scope is denied. - type: list - contains: - cluster_role: - description: - - ClusterRole describes a set of restrictions for cluster role scoping. - type: complex - literals: - description: - - ExactValues means the scope has to match a particular set of strings - exactly - type: list - contains: str - secret: - description: - - Secret is the unique secret associated with a client - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('o_auth_client_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_pod_security_policy_review.py b/library/openshift_v1_pod_security_policy_review.py deleted file mode 100644 index dc9f26bd..00000000 --- a/library/openshift_v1_pod_security_policy_review.py +++ /dev/null @@ -1,446 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_pod_security_policy_review -short_description: OpenShift PodSecurityPolicyReview -description: -- Manage the lifecycle of a pod_security_policy_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_service_account_names: - description: - - serviceAccountNames is an optional set of ServiceAccounts to run the check with. - If serviceAccountNames is empty, the template.spec.serviceAccountName is used, - unless it's empty, in which case "default" is used instead. If serviceAccountNames - is specified, template.spec.serviceAccountName is ignored. - aliases: - - service_account_names - type: list - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_security_policy_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - spec: - description: - - spec is the PodSecurityPolicy to check. - type: complex - status: - description: - - status represents the current information/status for the PodSecurityPolicyReview. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('pod_security_policy_review', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_pod_security_policy_self_subject_review.py b/library/openshift_v1_pod_security_policy_self_subject_review.py deleted file mode 100644 index 492bf0e6..00000000 --- a/library/openshift_v1_pod_security_policy_self_subject_review.py +++ /dev/null @@ -1,437 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_pod_security_policy_self_subject_review -short_description: OpenShift PodSecurityPolicySelfSubjectReview -description: -- Manage the lifecycle of a pod_security_policy_self_subject_review object. Supports - check mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_security_policy_self_subject_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - spec: - description: - - spec defines specification the PodSecurityPolicySelfSubjectReview. - type: complex - status: - description: - - status represents the current information/status for the PodSecurityPolicySelfSubjectReview. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('pod_security_policy_self_subject_review', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_pod_security_policy_subject_review.py b/library/openshift_v1_pod_security_policy_subject_review.py deleted file mode 100644 index a6563aa4..00000000 --- a/library/openshift_v1_pod_security_policy_subject_review.py +++ /dev/null @@ -1,451 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_pod_security_policy_subject_review -short_description: OpenShift PodSecurityPolicySubjectReview -description: -- Manage the lifecycle of a pod_security_policy_subject_review object. Supports check - mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_groups: - description: - - groups is the groups you're testing for. - aliases: - - groups - type: list - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_user: - description: - - user is the user you're testing for. If you specify "user" but not "group", - then is it interpreted as "What if user were not a member of any groups. If - user and groups are empty, then the check is performed using *only* the serviceAccountName - in the template. - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -pod_security_policy_subject_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - spec: - description: - - spec defines specification for the PodSecurityPolicySubjectReview. - type: complex - status: - description: - - status represents the current information/status for the PodSecurityPolicySubjectReview. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('pod_security_policy_subject_review', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_project.py b/library/openshift_v1_project.py deleted file mode 100644 index 1ad523f1..00000000 --- a/library/openshift_v1_project.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_project -short_description: OpenShift Project -description: -- Manage the lifecycle of a project object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - description: - description: - - Provides a brief overview or narrative for the project. - display_name: - description: - - Provides a descriptive name for the project. - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_finalizers: - description: - - Finalizers is an opaque list of values that must be empty to permanently remove - object from storage - aliases: - - finalizers - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -- name: Create project - openshift_v1_project.yml: - name: example - state: present - -- name: Remove project - openshift_v1_project.yml: - name: example - state: absent -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -project: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of the Namespace. - type: complex - status: - description: - - Status describes the current status of a Namespace - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('project', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_project_list.py b/library/openshift_v1_project_list.py deleted file mode 100644 index 5b3c1c07..00000000 --- a/library/openshift_v1_project_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_project_list -short_description: OpenShift ProjectList -description: -- Retrieve a list of projects. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -project_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of projects - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the behavior of the Namespace. - type: complex - status: - description: - - Status describes the current status of a Namespace - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('project_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_replica_set.py b/library/openshift_v1_replica_set.py deleted file mode 100644 index 3d3f48f6..00000000 --- a/library/openshift_v1_replica_set.py +++ /dev/null @@ -1,521 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_replica_set -short_description: OpenShift ReplicaSet -description: -- Manage the lifecycle of a replica_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_min_ready_seconds: - description: - - Minimum number of seconds for which a newly created pod should be ready without - any of its container crashing, for it to be considered available. Defaults to - 0 (pod will be considered available as soon as it is ready) - aliases: - - min_ready_seconds - type: int - spec_replicas: - description: - - Replicas is the number of desired replicas. This is a pointer to distinguish - between explicit zero and unspecified. Defaults to 1. - aliases: - - replicas - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the same - as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data may - be out of date by some window of time. Populated by the system. Read-only. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('replica_set', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_replica_set_list.py b/library/openshift_v1_replica_set_list.py deleted file mode 100644 index af37202c..00000000 --- a/library/openshift_v1_replica_set_list.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_replica_set_list -short_description: OpenShift ReplicaSetList -description: -- Retrieve a list of replica_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -replica_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ReplicaSets. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - If the Labels of a ReplicaSet are empty, they are defaulted to be the - same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. - type: complex - spec: - description: - - Spec defines the specification of the desired behavior of the ReplicaSet. - type: complex - status: - description: - - Status is the most recently observed status of the ReplicaSet. This data - may be out of date by some window of time. Populated by the system. Read-only. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('replica_set_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role.py b/library/openshift_v1_role.py deleted file mode 100644 index 7d3b5575..00000000 --- a/library/openshift_v1_role.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role -short_description: OpenShift Role -description: -- Manage the lifecycle of a role object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. If - this field is empty, then both kubernetes and origin API groups are assumed. - That means that if an action is requested against one of the enumerated - resources in either the kubernetes or the origin API group, the request - will be allowed - type: list - contains: str - attribute_restrictions: - description: - - AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder - pair supports. If the Authorizer does not recognize how to handle the - AttributeRestrictions, the Authorizer should report an error. - type: complex - non_resource_ur_ls: - description: - - NonResourceURLsSlice is a set of partial urls that a user should have - access to. *s are allowed, but only as the full, final step in the path - This name is intentionally different than the internal type so that the - DefaultConvert works nicely and because the ordering may be different. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll represents - all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role_binding.py b/library/openshift_v1_role_binding.py deleted file mode 100644 index 5029d7a7..00000000 --- a/library/openshift_v1_role_binding.py +++ /dev/null @@ -1,281 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role_binding -short_description: OpenShift RoleBinding -description: -- Manage the lifecycle of a role_binding object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects for - further details. - type: list - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - role_ref_api_version: - description: - - API version of the referent. - aliases: - - api_version - role_ref_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - role_ref_kind: - description: - - Kind of the referent. - aliases: - - kind - role_ref_name: - description: - - Name of the referent. - role_ref_namespace: - description: - - Namespace of the referent. - role_ref_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - role_ref_uid: - description: - - UID of the referent. - aliases: - - uid - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - subjects: - description: - - Subjects hold object references to authorize with this rule. This field is ignored - if UserNames or GroupNames are specified to support legacy clients and servers. - Thus newer clients that do not need to support backwards compatibility should - send only fully qualified Subjects and should omit the UserNames and GroupNames - fields. Clients that need to support backwards compatibility can use this field - to build the UserNames and GroupNames. - type: list - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects for - further details. - type: list - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects - for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference the current namespace and the global namespace. - If the RoleRef cannot be resolved, the Authorizer must return an error. Since - Policy is a singleton, this is sufficient knowledge to locate a role. - type: complex - subjects: - description: - - Subjects hold object references to authorize with this rule. This field is - ignored if UserNames or GroupNames are specified to support legacy clients - and servers. Thus newer clients that do not need to support backwards compatibility - should send only fully qualified Subjects and should omit the UserNames and - GroupNames fields. Clients that need to support backwards compatibility can - use this field to build the UserNames and GroupNames. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this - string should contain a valid JSON/Go field access statement, such as - desiredState.manifest.containers[2]. For example, if the object reference - is to a container within a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered the event) - or if no container name is specified "spec.containers[2]" (container with - index 2 in this pod). This syntax is chosen only to have some well-defined - way of referencing a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field should - only be specified when supporting legacy clients and servers. See Subjects - for further details. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role_binding', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role_binding_list.py b/library/openshift_v1_role_binding_list.py deleted file mode 100644 index 64a4c42f..00000000 --- a/library/openshift_v1_role_binding_list.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role_binding_list -short_description: OpenShift RoleBindingList -description: -- Retrieve a list of role_bindings. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of RoleBindings - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - group_names: - description: - - GroupNames holds all the groups directly bound to the role. This field - should only be specified when supporting legacy clients and servers. See - Subjects for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - role_ref: - description: - - RoleRef can only reference the current namespace and the global namespace. - If the RoleRef cannot be resolved, the Authorizer must return an error. - Since Policy is a singleton, this is sufficient knowledge to locate a - role. - type: complex - subjects: - description: - - Subjects hold object references to authorize with this rule. This field - is ignored if UserNames or GroupNames are specified to support legacy - clients and servers. Thus newer clients that do not need to support backwards - compatibility should send only fully qualified Subjects and should omit - the UserNames and GroupNames fields. Clients that need to support backwards - compatibility can use this field to build the UserNames and GroupNames. - type: list - contains: - api_version: - description: - - API version of the referent. - type: str - field_path: - description: - - 'If referring to a piece of an object instead of an entire object, - this string should contain a valid JSON/Go field access statement, - such as desiredState.manifest.containers[2]. For example, if the object - reference is to a container within a pod, this would take on a value - like: "spec.containers{name}" (where "name" refers to the name of - the container that triggered the event) or if no container name is - specified "spec.containers[2]" (container with index 2 in this pod). - This syntax is chosen only to have some well-defined way of referencing - a part of an object.' - type: str - kind: - description: - - Kind of the referent. - type: str - name: - description: - - Name of the referent. - type: str - namespace: - description: - - Namespace of the referent. - type: str - resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - type: str - uid: - description: - - UID of the referent. - type: str - user_names: - description: - - UserNames holds all the usernames directly bound to the role. This field - should only be specified when supporting legacy clients and servers. See - Subjects for further details. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role_binding_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role_binding_restriction.py b/library/openshift_v1_role_binding_restriction.py deleted file mode 100644 index 1f9746b0..00000000 --- a/library/openshift_v1_role_binding_restriction.py +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role_binding_restriction -short_description: OpenShift RoleBindingRestriction -description: -- Manage the lifecycle of a role_binding_restriction object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_grouprestriction_groups: - description: - - Groups is a list of groups used to match against an individual user's groups. - If the user is a member of one of the whitelisted groups, the user is allowed - to be bound to a role. - aliases: - - grouprestriction_groups - type: list - spec_grouprestriction_labels: - description: - - Selectors specifies a list of label selectors over group labels. - aliases: - - grouprestriction_labels - type: list - spec_serviceaccountrestriction_namespaces: - description: - - Namespaces specifies a list of literal namespace names. - aliases: - - serviceaccountrestriction_namespaces - type: list - spec_serviceaccountrestriction_serviceaccounts: - description: - - ServiceAccounts specifies a list of literal service-account names. - aliases: - - serviceaccountrestriction_serviceaccounts - type: list - spec_userrestriction_groups: - description: - - Groups specifies a list of literal group names. - aliases: - - userrestriction_groups - type: list - spec_userrestriction_labels: - description: - - Selectors specifies a list of label selectors over user labels. - aliases: - - userrestriction_labels - type: list - spec_userrestriction_users: - description: - - Users specifies a list of literal user names. - aliases: - - userrestriction_users - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_restriction: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the matcher. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role_binding_restriction', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role_binding_restriction_list.py b/library/openshift_v1_role_binding_restriction_list.py deleted file mode 100644 index ff0d5aa4..00000000 --- a/library/openshift_v1_role_binding_restriction_list.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role_binding_restriction_list -short_description: OpenShift RoleBindingRestrictionList -description: -- Retrieve a list of role_binding_restrictions. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_binding_restriction_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of RoleBindingRestriction objects. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - spec: - description: - - Spec defines the matcher. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role_binding_restriction_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_role_list.py b/library/openshift_v1_role_list.py deleted file mode 100644 index eaba63d0..00000000 --- a/library/openshift_v1_role_list.py +++ /dev/null @@ -1,204 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_role_list -short_description: OpenShift RoleList -description: -- Retrieve a list of roles. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -role_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of Roles - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - rules: - description: - - Rules holds all the PolicyRules for this Role - type: list - contains: - api_groups: - description: - - APIGroups is the name of the APIGroup that contains the resources. - If this field is empty, then both kubernetes and origin API groups - are assumed. That means that if an action is requested against one - of the enumerated resources in either the kubernetes or the origin - API group, the request will be allowed - type: list - contains: str - attribute_restrictions: - description: - - AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder - pair supports. If the Authorizer does not recognize how to handle - the AttributeRestrictions, the Authorizer should report an error. - type: complex - non_resource_ur_ls: - description: - - NonResourceURLsSlice is a set of partial urls that a user should have - access to. *s are allowed, but only as the full, final step in the - path This name is intentionally different than the internal type so - that the DefaultConvert works nicely and because the ordering may - be different. - type: list - contains: str - resource_names: - description: - - ResourceNames is an optional white list of names that the rule applies - to. An empty set means that everything is allowed. - type: list - contains: str - resources: - description: - - Resources is a list of resources this rule applies to. ResourceAll - represents all resources. - type: list - contains: str - verbs: - description: - - Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions - contained in this rule. VerbAll represents all kinds. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('role_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_route.py b/library/openshift_v1_route.py deleted file mode 100644 index 9fd5ac94..00000000 --- a/library/openshift_v1_route.py +++ /dev/null @@ -1,304 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_route -short_description: OpenShift Route -description: -- Manage the lifecycle of a route object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_alternate_backends: - description: - - alternateBackends allows up to 3 additional backends to be assigned to the route. - Only the Service kind is allowed, and it will be defaulted to Service. Use the - weight field in RouteTargetReference object to specify relative preference. - aliases: - - alternate_backends - type: list - spec_host: - description: - - host is an alias/DNS that points to the service. Optional. If not specified - a route name will typically be automatically chosen. Must follow DNS952 subdomain - conventions. - spec_path: - description: - - Path that the router watches for, to route traffic for to the service. Optional - aliases: - - path - spec_port_target_port: - description: - - The target port on pods selected by the service this route points to. If this - is a string, it will be looked up as a named port in the target endpoints port - list. Required - aliases: - - port_target_port - type: object - spec_tls_ca_certificate: - description: - - caCertificate provides the cert authority certificate contents - aliases: - - tls_ca_certificate - spec_tls_certificate: - description: - - certificate provides certificate contents - aliases: - - tls_certificate - spec_tls_destination_ca_certificate: - description: - - destinationCACertificate provides the contents of the ca certificate of the - final destination. When using reencrypt termination this file should be provided - in order to have routers use it for health checks on the secure connection. - If this field is not specified, the router may provide its own destination CA - and perform hostname validation using the short service name (service.namespace.svc), - which allows infrastructure generated certificates to automatically verify. - aliases: - - tls_destination_ca_certificate - spec_tls_insecure_edge_termination_policy: - description: - - insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections - to a route. While each router may make its own decisions on which ports to expose, - this is normally port 80. * Allow - traffic is sent to the server on the insecure - port (default) * Disable - no traffic is allowed on the insecure port. * Redirect - - clients are redirected to the secure port. - aliases: - - tls_insecure_edge_termination_policy - spec_tls_key: - description: - - key provides key file contents - aliases: - - tls_key - spec_tls_termination: - description: - - termination indicates termination type. - aliases: - - tls_termination - spec_to_kind: - description: - - The kind of target that the route is referring to. Currently, only 'Service' - is allowed - aliases: - - to_kind - spec_to_name: - description: - - name of the service/target that is being referred to. e.g. name of the service - aliases: - - to_name - spec_to_weight: - description: - - weight as an integer between 0 and 256, default 1, that specifies the target's - relative weight against other target reference objects. 0 suppresses requests - to this backend. - aliases: - - to_weight - type: int - spec_wildcard_policy: - description: - - Wildcard policy if any for the route. Currently only 'Subdomain' or 'None' is - allowed. - aliases: - - wildcard_policy - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -- name: Create route - openshift_v1_route.yml: - name: myroute - namespace: k8s-project - state: present - host: www.example.com - spec_to_kind: Service - spec_to_name: service-name - tls_termination: edge - tls_key: |- - -----BEGIN PRIVATE KEY----- - key_file_contents - -----END PRIVATE KEY----- - tls_certificate: |- - -----BEGIN CERTIFICATE----- - certificate contents - -----END CERTIFICATE----- - tls_ca_certificate: |- - -----BEGIN CERTIFICATE----- - ca_certificate_contents - -----END CERTIFICATE----- - -- name: Patch route - openshift_v1_route.yml: - name: myroute - namespace: k8s-project - state: present - host: www.example.com - tls_termination: reencrypt - spec_to_kind: Service - spec_to_name: other-service-name - -- name: Replace route - openshift_v1_route.yml: - name: myroute - namespace: k8s-project - state: replaced - host: www.example.com - path: /foo/bar/baz.html - spec_to_kind: Service - spec_to_name: whimsy-name - tls_termination: edge - -- name: Remove route - openshift_v1_route.yml: - name: myroute - namespace: k8s-project - state: absent -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -route: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec is the desired state of the route - type: complex - status: - description: - - status is the current state of the route - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('route', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_route_list.py b/library/openshift_v1_route_list.py deleted file mode 100644 index 3e6ae269..00000000 --- a/library/openshift_v1_route_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_route_list -short_description: OpenShift RouteList -description: -- Retrieve a list of routes. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -route_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is a list of routes - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec is the desired state of the route - type: complex - status: - description: - - status is the current state of the route - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('route_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_security_context_constraints.py b/library/openshift_v1_security_context_constraints.py deleted file mode 100644 index 48b94687..00000000 --- a/library/openshift_v1_security_context_constraints.py +++ /dev/null @@ -1,434 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_security_context_constraints -short_description: OpenShift SecurityContextConstraints -description: -- Manage the lifecycle of a security_context_constraints object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - allow_host_dir_volume_plugin: - description: - - AllowHostDirVolumePlugin determines if the policy allow containers to use the - HostDir volume plugin - type: bool - allow_host_ipc: - description: - - AllowHostIPC determines if the policy allows host ipc in the containers. - type: bool - allow_host_network: - description: - - AllowHostNetwork determines if the policy allows the use of HostNetwork in the - pod spec. - type: bool - allow_host_pid: - description: - - AllowHostPID determines if the policy allows host pid in the containers. - type: bool - allow_host_ports: - description: - - AllowHostPorts determines if the policy allows host ports in the containers. - type: bool - allow_privileged_container: - description: - - AllowPrivilegedContainer determines if a container can request to be run as - privileged. - type: bool - allowed_capabilities: - description: - - AllowedCapabilities is a list of capabilities that can be requested to add to - the container. Capabilities in this field maybe added at the pod author's discretion. - You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. - To allow all capabilities you may use '*'. - type: list - allowed_flex_volumes: - description: - - AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates - that all Flexvolumes may be used. This parameter is effective only when the - usage of the Flexvolumes is allowed in the "Volumes" field. - type: list - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - default_add_capabilities: - description: - - DefaultAddCapabilities is the default set of capabilities that will be added - to the container unless the pod spec specifically drops the capability. You - may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities. - type: list - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - fs_group_ranges: - description: - - Ranges are the allowed ranges of fs groups. If you would like to force a single - fs group then supply a single range with the same start and end. - aliases: - - ranges - type: list - fs_group_type: - description: - - Type is the strategy that will dictate what FSGroup is used in the SecurityContext. - aliases: - - type - groups: - description: - - The groups that have permission to use this security context constraints - type: list - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - priority: - description: - - Priority influences the sort order of SCCs when evaluating which SCCs to try - first for a given pod request based on access in the Users and Groups fields. - The higher the int, the higher priority. An unset value is considered a 0 priority. - If scores for multiple SCCs are equal they will be sorted from most restrictive - to least restrictive. If both priorities and restrictions are equal the SCCs - will be sorted by name. - type: int - read_only_root_filesystem: - description: - - ReadOnlyRootFilesystem when set to true will force containers to run with a - read only root file system. If the container specifically requests to run with - a non-read only root file system the SCC should deny the pod. If set to false - the container may run with a read only root file system if it wishes but it - will not be forced to. - type: bool - required_drop_capabilities: - description: - - RequiredDropCapabilities are the capabilities that will be dropped from the - container. These are required to be dropped and cannot be added. - type: list - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - run_as_user_type: - description: - - Type is the strategy that will dictate what RunAsUser is used in the SecurityContext. - run_as_user_uid: - description: - - UID is the user id that containers must run as. Required for the MustRunAs strategy - if not using namespace/service account allocated uids. - aliases: - - uid - type: int - run_as_user_uid_range_max: - description: - - UIDRangeMax defines the max value for a strategy that allocates by range. - aliases: - - uid_range_max - type: int - run_as_user_uid_range_min: - description: - - UIDRangeMin defines the min value for a strategy that allocates by range. - aliases: - - uid_range_min - type: int - se_linux_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - level - se_linux_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - role - se_linux_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - se_linux_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - user - se_linux_context_type: - description: - - Type is the strategy that will dictate what SELinux context is used in the SecurityContext. - seccomp_profiles: - description: - - SeccompProfiles lists the allowed profiles that may be set for the pod or container's - seccomp annotations. An unset (nil) or empty value means that no profiles may - be specifid by the pod or container. The wildcard '*' may be used to allow all - profiles. When used to generate a value for a pod the first non-wildcard profile - will be used as the default. - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - supplemental_groups_ranges: - description: - - Ranges are the allowed ranges of supplemental groups. If you would like to force - a single supplemental group then supply a single range with the same start and - end. - type: list - supplemental_groups_type: - description: - - Type is the strategy that will dictate what supplemental groups is used in the - SecurityContext. - username: - description: - - Provide a username for connecting to the API. - users: - description: - - The users who have permissions to use this security context constraints - type: list - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool - volumes: - description: - - Volumes is a white list of allowed volume plugins. FSType corresponds directly - with the field names of a VolumeSource (azureFile, configMap, emptyDir). To - allow all volumes you may use "*". To allow no volumes, set to ["none"]. - type: list -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -security_context_constraints: - type: complex - returned: when I(state) = C(present) - contains: - allow_host_dir_volume_plugin: - description: - - AllowHostDirVolumePlugin determines if the policy allow containers to use - the HostDir volume plugin - type: bool - allow_host_ipc: - description: - - AllowHostIPC determines if the policy allows host ipc in the containers. - type: bool - allow_host_network: - description: - - AllowHostNetwork determines if the policy allows the use of HostNetwork in - the pod spec. - type: bool - allow_host_pid: - description: - - AllowHostPID determines if the policy allows host pid in the containers. - type: bool - allow_host_ports: - description: - - AllowHostPorts determines if the policy allows host ports in the containers. - type: bool - allow_privileged_container: - description: - - AllowPrivilegedContainer determines if a container can request to be run as - privileged. - type: bool - allowed_capabilities: - description: - - AllowedCapabilities is a list of capabilities that can be requested to add - to the container. Capabilities in this field maybe added at the pod author's - discretion. You must not list a capability in both AllowedCapabilities and - RequiredDropCapabilities. To allow all capabilities you may use '*'. - type: list - contains: str - allowed_flex_volumes: - description: - - AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates - that all Flexvolumes may be used. This parameter is effective only when the - usage of the Flexvolumes is allowed in the "Volumes" field. - type: list - contains: - driver: - description: - - Driver is the name of the Flexvolume driver. - type: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - default_add_capabilities: - description: - - DefaultAddCapabilities is the default set of capabilities that will be added - to the container unless the pod spec specifically drops the capability. You - may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities. - type: list - contains: str - fs_group: - description: - - FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. - type: complex - groups: - description: - - The groups that have permission to use this security context constraints - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - priority: - description: - - Priority influences the sort order of SCCs when evaluating which SCCs to try - first for a given pod request based on access in the Users and Groups fields. - The higher the int, the higher priority. An unset value is considered a 0 - priority. If scores for multiple SCCs are equal they will be sorted from most - restrictive to least restrictive. If both priorities and restrictions are - equal the SCCs will be sorted by name. - type: int - read_only_root_filesystem: - description: - - ReadOnlyRootFilesystem when set to true will force containers to run with - a read only root file system. If the container specifically requests to run - with a non-read only root file system the SCC should deny the pod. If set - to false the container may run with a read only root file system if it wishes - but it will not be forced to. - type: bool - required_drop_capabilities: - description: - - RequiredDropCapabilities are the capabilities that will be dropped from the - container. These are required to be dropped and cannot be added. - type: list - contains: str - run_as_user: - description: - - RunAsUser is the strategy that will dictate what RunAsUser is used in the - SecurityContext. - type: complex - se_linux_context: - description: - - SELinuxContext is the strategy that will dictate what labels will be set in - the SecurityContext. - type: complex - seccomp_profiles: - description: - - SeccompProfiles lists the allowed profiles that may be set for the pod or - container's seccomp annotations. An unset (nil) or empty value means that - no profiles may be specifid by the pod or container. The wildcard '*' may - be used to allow all profiles. When used to generate a value for a pod the - first non-wildcard profile will be used as the default. - type: list - contains: str - supplemental_groups: - description: - - SupplementalGroups is the strategy that will dictate what supplemental groups - are used by the SecurityContext. - type: complex - users: - description: - - The users who have permissions to use this security context constraints - type: list - contains: str - volumes: - description: - - Volumes is a white list of allowed volume plugins. FSType corresponds directly - with the field names of a VolumeSource (azureFile, configMap, emptyDir). To - allow all volumes you may use "*". To allow no volumes, set to ["none"]. - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('security_context_constraints', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_security_context_constraints_list.py b/library/openshift_v1_security_context_constraints_list.py deleted file mode 100644 index d2341f1d..00000000 --- a/library/openshift_v1_security_context_constraints_list.py +++ /dev/null @@ -1,280 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_security_context_constraints_list -short_description: OpenShift SecurityContextConstraintsList -description: -- Retrieve a list of security_context_constraints. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -security_context_constraints_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of security context constraints. - type: list - contains: - allow_host_dir_volume_plugin: - description: - - AllowHostDirVolumePlugin determines if the policy allow containers to - use the HostDir volume plugin - type: bool - allow_host_ipc: - description: - - AllowHostIPC determines if the policy allows host ipc in the containers. - type: bool - allow_host_network: - description: - - AllowHostNetwork determines if the policy allows the use of HostNetwork - in the pod spec. - type: bool - allow_host_pid: - description: - - AllowHostPID determines if the policy allows host pid in the containers. - type: bool - allow_host_ports: - description: - - AllowHostPorts determines if the policy allows host ports in the containers. - type: bool - allow_privileged_container: - description: - - AllowPrivilegedContainer determines if a container can request to be run - as privileged. - type: bool - allowed_capabilities: - description: - - AllowedCapabilities is a list of capabilities that can be requested to - add to the container. Capabilities in this field maybe added at the pod - author's discretion. You must not list a capability in both AllowedCapabilities - and RequiredDropCapabilities. To allow all capabilities you may use '*'. - type: list - contains: str - allowed_flex_volumes: - description: - - AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil - indicates that all Flexvolumes may be used. This parameter is effective - only when the usage of the Flexvolumes is allowed in the "Volumes" field. - type: list - contains: - driver: - description: - - Driver is the name of the Flexvolume driver. - type: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - default_add_capabilities: - description: - - DefaultAddCapabilities is the default set of capabilities that will be - added to the container unless the pod spec specifically drops the capability. - You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities. - type: list - contains: str - fs_group: - description: - - FSGroup is the strategy that will dictate what fs group is used by the - SecurityContext. - type: complex - groups: - description: - - The groups that have permission to use this security context constraints - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - priority: - description: - - Priority influences the sort order of SCCs when evaluating which SCCs - to try first for a given pod request based on access in the Users and - Groups fields. The higher the int, the higher priority. An unset value - is considered a 0 priority. If scores for multiple SCCs are equal they - will be sorted from most restrictive to least restrictive. If both priorities - and restrictions are equal the SCCs will be sorted by name. - type: int - read_only_root_filesystem: - description: - - ReadOnlyRootFilesystem when set to true will force containers to run with - a read only root file system. If the container specifically requests to - run with a non-read only root file system the SCC should deny the pod. - If set to false the container may run with a read only root file system - if it wishes but it will not be forced to. - type: bool - required_drop_capabilities: - description: - - RequiredDropCapabilities are the capabilities that will be dropped from - the container. These are required to be dropped and cannot be added. - type: list - contains: str - run_as_user: - description: - - RunAsUser is the strategy that will dictate what RunAsUser is used in - the SecurityContext. - type: complex - se_linux_context: - description: - - SELinuxContext is the strategy that will dictate what labels will be set - in the SecurityContext. - type: complex - seccomp_profiles: - description: - - SeccompProfiles lists the allowed profiles that may be set for the pod - or container's seccomp annotations. An unset (nil) or empty value means - that no profiles may be specifid by the pod or container. The wildcard - '*' may be used to allow all profiles. When used to generate a value for - a pod the first non-wildcard profile will be used as the default. - type: list - contains: str - supplemental_groups: - description: - - SupplementalGroups is the strategy that will dictate what supplemental - groups are used by the SecurityContext. - type: complex - users: - description: - - The users who have permissions to use this security context constraints - type: list - contains: str - volumes: - description: - - Volumes is a white list of allowed volume plugins. FSType corresponds - directly with the field names of a VolumeSource (azureFile, configMap, - emptyDir). To allow all volumes you may use "*". To allow no volumes, - set to ["none"]. - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - '' - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('security_context_constraints_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_self_subject_rules_review.py b/library/openshift_v1_self_subject_rules_review.py deleted file mode 100644 index d0532ea4..00000000 --- a/library/openshift_v1_self_subject_rules_review.py +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_self_subject_rules_review -short_description: OpenShift SelfSubjectRulesReview -description: -- Manage the lifecycle of a self_subject_rules_review object. Supports check mode, - and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_scopes: - description: - - Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions - of the user/groups". Nil means "use the scopes on this request". - aliases: - - scopes - type: list - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -self_subject_rules_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - spec: - description: - - Spec adds information about how to conduct the check - type: complex - status: - description: - - Status is completed by the server to tell which permissions you have - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('self_subject_rules_review', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_stateful_set.py b/library/openshift_v1_stateful_set.py deleted file mode 100644 index 4748f5a9..00000000 --- a/library/openshift_v1_stateful_set.py +++ /dev/null @@ -1,564 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_stateful_set -short_description: OpenShift StatefulSet -description: -- Manage the lifecycle of a stateful_set object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_pod_management_policy: - description: - - podManagementPolicy controls how pods are created during initial scale up, when - replacing pods on nodes, or when scaling down. The default policy is `OrderedReady`, - where pods are created in increasing order (pod-0, then pod-1, etc) and the - controller will wait until each pod is ready before continuing. When scaling - down, the pods are removed in the opposite order. The alternative policy is - `Parallel` which will create pods in parallel to match the desired scale without - waiting, and on scale down will delete all pods at once. - aliases: - - pod_management_policy - spec_replicas: - description: - - replicas is the desired number of replicas of the given Template. These are - replicas in the sense that they are instantiations of the same Template, but - individual replicas also have a consistent identity. If unspecified, defaults - to 1. - aliases: - - replicas - type: int - spec_revision_history_limit: - description: - - revisionHistoryLimit is the maximum number of revisions that will be maintained - in the StatefulSet's revision history. The revision history consists of all - revisions not represented by a currently applied StatefulSetSpec version. The - default value is 10. - aliases: - - revision_history_limit - type: int - spec_selector_match_expressions: - description: - - matchExpressions is a list of label selector requirements. The requirements - are ANDed. - aliases: - - selector_match_expressions - type: list - spec_selector_match_labels: - description: - - matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only "value". The requirements - are ANDed. - aliases: - - selector_match_labels - type: dict - spec_service_name: - description: - - 'serviceName is the name of the service that governs this StatefulSet. This - service must exist before the StatefulSet, and is responsible for the network - identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local - where "pod-specific-string" is managed by the StatefulSet controller.' - aliases: - - service_name - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_spec_active_deadline_seconds: - description: - - Optional duration in seconds the pod may be active on the node relative to StartTime - before the system will actively try to mark it failed and kill associated containers. - Value must be a positive integer. - aliases: - - active_deadline_seconds - type: int - spec_template_spec_affinity_node_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node matches the corresponding matchExpressions; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_node_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms: - description: - - Required. A list of node selector terms. The terms are ORed. - aliases: - - affinity_node_affinity_required_during_scheduling_ignored_during_execution_node_selector_terms - type: list - spec_template_spec_affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution: - description: - - The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity - expressions specified by this field, but it may choose a node that violates - one or more of the expressions. The node that is most preferred is the one with - the greatest sum of weights, i.e. for each node that meets all of the scheduling - requirements (resource request, requiredDuringScheduling anti-affinity expressions, - etc.), compute a sum by iterating through the elements of this field and adding - "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; - the node(s) with the highest sum are the most preferred. - aliases: - - affinity_pod_anti_affinity_preferred_during_scheduling_ignored_during_execution - type: list - spec_template_spec_affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution: - description: - - If the anti-affinity requirements specified by this field are not met at scheduling - time, the pod will not be scheduled onto the node. If the anti-affinity requirements - specified by this field cease to be met at some point during pod execution (e.g. - due to a pod label update), the system may or may not try to eventually evict - the pod from its node. When there are multiple elements, the lists of nodes - corresponding to each podAffinityTerm are intersected, i.e. all terms must be - satisfied. - aliases: - - affinity_pod_anti_affinity_required_during_scheduling_ignored_during_execution - type: list - spec_template_spec_automount_service_account_token: - description: - - AutomountServiceAccountToken indicates whether a service account token should - be automatically mounted. - aliases: - - automount_service_account_token - type: bool - spec_template_spec_containers: - description: - - List of containers belonging to the pod. Containers cannot currently be added - or removed. There must be at least one container in a Pod. Cannot be updated. - aliases: - - containers - type: list - spec_template_spec_dns_policy: - description: - - Set DNS policy for containers within the pod. One of 'ClusterFirstWithHostNet', - 'ClusterFirst' or 'Default'. Defaults to "ClusterFirst". To have DNS options - set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. - aliases: - - dns_policy - spec_template_spec_host_aliases: - description: - - HostAliases is an optional list of hosts and IPs that will be injected into - the pod's hosts file if specified. This is only valid for non-hostNetwork pods. - aliases: - - host_aliases - type: list - spec_template_spec_host_ipc: - description: - - "Use the host's ipc namespace. Optional: Default to false." - aliases: - - host_ipc - type: bool - spec_template_spec_host_network: - description: - - Host networking requested for this pod. Use the host's network namespace. If - this option is set, the ports that will be used must be specified. Default to - false. - aliases: - - host_network - type: bool - spec_template_spec_host_pid: - description: - - "Use the host's pid namespace. Optional: Default to false." - aliases: - - host_pid - type: bool - spec_template_spec_hostname: - description: - - Specifies the hostname of the Pod If not specified, the pod's hostname will - be set to a system-defined value. - aliases: - - hostname - spec_template_spec_image_pull_secrets: - description: - - ImagePullSecrets is an optional list of references to secrets in the same namespace - to use for pulling any of the images used by this PodSpec. If specified, these - secrets will be passed to individual puller implementations for them to use. - For example, in the case of docker, only DockerConfig type secrets are honored. - aliases: - - image_pull_secrets - type: list - spec_template_spec_init_containers: - description: - - List of initialization containers belonging to the pod. Init containers are - executed in order prior to containers being started. If any init container fails, - the pod is considered to have failed and is handled according to its restartPolicy. - The name for an init container or normal container must be unique among all - containers. Init containers may not have Lifecycle actions, Readiness probes, - or Liveness probes. The resourceRequirements of an init container are taken - into account during scheduling by finding the highest request/limit for each - resource type, and then using the max of of that value or the sum of the normal - containers. Limits are applied to init containers in a similar fashion. Init - containers cannot currently be added or removed. Cannot be updated. - aliases: - - init_containers - type: list - spec_template_spec_node_name: - description: - - NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - the scheduler simply schedules this pod onto that node, assuming that it fits - resource requirements. - aliases: - - node_name - spec_template_spec_node_selector: - description: - - NodeSelector is a selector which must be true for the pod to fit on a node. - Selector which must match a node's labels for the pod to be scheduled on that - node. - aliases: - - node_selector - type: dict - spec_template_spec_priority: - description: - - The priority value. Various system components use this field to find the priority - of the pod. When Priority Admission Controller is enabled, it prevents users - from setting this field. The admission controller populates this field from - PriorityClassName. The higher the value, the higher the priority. - aliases: - - priority - type: int - spec_template_spec_priority_class_name: - description: - - If specified, indicates the pod's priority. "SYSTEM" is a special keyword which - indicates the highest priority. Any other name must be defined by creating a - PriorityClass object with that name. If not specified, the pod priority will - be default or zero if there is no default. - aliases: - - priority_class_name - spec_template_spec_restart_policy: - description: - - Restart policy for all containers within the pod. One of Always, OnFailure, - Never. Default to Always. - aliases: - - restart_policy - spec_template_spec_scheduler_name: - description: - - If specified, the pod will be dispatched by specified scheduler. If not specified, - the pod will be dispatched by default scheduler. - aliases: - - scheduler_name - spec_template_spec_security_context_fs_group: - description: - - "A special supplemental group that applies to all containers in a pod. Some\ - \ volume types allow the Kubelet to change the ownership of that volume to be\ - \ owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit\ - \ is set (new files created in the volume will be owned by FSGroup) 3. The permission\ - \ bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership\ - \ and permissions of any volume." - aliases: - - security_context_fs_group - type: int - spec_template_spec_security_context_run_as_non_root: - description: - - Indicates that the container must run as a non-root user. If true, the Kubelet - will validate the image at runtime to ensure that it does not run as UID 0 (root) - and fail to start the container if it does. If unset or false, no such validation - will be performed. May also be set in SecurityContext. If set in both SecurityContext - and PodSecurityContext, the value specified in SecurityContext takes precedence. - aliases: - - security_context_run_as_non_root - type: bool - spec_template_spec_security_context_run_as_user: - description: - - The UID to run the entrypoint of the container process. Defaults to user specified - in image metadata if unspecified. May also be set in SecurityContext. If set - in both SecurityContext and PodSecurityContext, the value specified in SecurityContext - takes precedence for that container. - aliases: - - security_context_run_as_user - type: int - spec_template_spec_security_context_se_linux_options_level: - description: - - Level is SELinux level label that applies to the container. - aliases: - - security_context_se_linux_options_level - spec_template_spec_security_context_se_linux_options_role: - description: - - Role is a SELinux role label that applies to the container. - aliases: - - security_context_se_linux_options_role - spec_template_spec_security_context_se_linux_options_type: - description: - - Type is a SELinux type label that applies to the container. - aliases: - - security_context_se_linux_options_type - spec_template_spec_security_context_se_linux_options_user: - description: - - User is a SELinux user label that applies to the container. - aliases: - - security_context_se_linux_options_user - spec_template_spec_security_context_supplemental_groups: - description: - - A list of groups applied to the first process run in each container, in addition - to the container's primary GID. If unspecified, no groups will be added to any - container. - aliases: - - security_context_supplemental_groups - type: list - spec_template_spec_service_account: - description: - - 'DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: - Use serviceAccountName instead.' - aliases: - - service_account - spec_template_spec_service_account_name: - description: - - ServiceAccountName is the name of the ServiceAccount to use to run this pod. - aliases: - - service_account_name - spec_template_spec_subdomain: - description: - - If specified, the fully qualified Pod hostname will be "...svc.". If not specified, the pod will not have a - domainname at all. - aliases: - - subdomain - spec_template_spec_termination_grace_period_seconds: - description: - - Optional duration in seconds the pod needs to terminate gracefully. May be decreased - in delete request. Value must be non-negative integer. The value zero indicates - delete immediately. If this value is nil, the default grace period will be used - instead. The grace period is the duration in seconds after the processes running - in the pod are sent a termination signal and the time when the processes are - forcibly halted with a kill signal. Set this value longer than the expected - cleanup time for your process. Defaults to 30 seconds. - aliases: - - termination_grace_period_seconds - type: int - spec_template_spec_tolerations: - description: - - If specified, the pod's tolerations. - aliases: - - tolerations - type: list - spec_template_spec_volumes: - description: - - List of volumes that can be mounted by containers belonging to the pod. - aliases: - - volumes - type: list - spec_update_strategy_rolling_update_partition: - description: - - Partition indicates the ordinal at which the StatefulSet should be partitioned. - Default value is 0. - aliases: - - update_strategy_rolling_update_partition - type: int - spec_update_strategy_type: - description: - - Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. - aliases: - - update_strategy_type - spec_volume_claim_templates: - description: - - volumeClaimTemplates is a list of claims that pods are allowed to reference. - The StatefulSet controller is responsible for mapping network identities to - claims in a way that maintains the identity of a pod. Every claim in this list - must have at least one matching (by name) volumeMount in one container in the - template. A claim in this list takes precedence over any volumes in the template, - with the same name. - aliases: - - volume_claim_templates - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may be - out of date by some window of time. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('stateful_set', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_stateful_set_list.py b/library/openshift_v1_stateful_set_list.py deleted file mode 100644 index 786b233e..00000000 --- a/library/openshift_v1_stateful_set_list.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_stateful_set_list -short_description: OpenShift StatefulSetList -description: -- Retrieve a list of stateful_sets. List operations provide a snapshot read of the - underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -stateful_set_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: [] - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - spec: - description: - - Spec defines the desired identities of pods in this set. - type: complex - status: - description: - - Status is the current status of Pods in this StatefulSet. This data may - be out of date by some window of time. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('stateful_set_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_subject_rules_review.py b/library/openshift_v1_subject_rules_review.py deleted file mode 100644 index 560dc3b1..00000000 --- a/library/openshift_v1_subject_rules_review.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_subject_rules_review -short_description: OpenShift SubjectRulesReview -description: -- Manage the lifecycle of a subject_rules_review object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - spec_groups: - description: - - Groups is optional. Groups is the list of groups to which the User belongs. - At least one of User and Groups must be specified. - aliases: - - groups - type: list - spec_scopes: - description: - - Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions - of the user/groups". - aliases: - - scopes - type: list - spec_user: - description: - - User is optional. At least one of User and Groups must be specified. - aliases: - - user - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -subject_rules_review: - type: complex - returned: on success - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - spec: - description: - - Spec adds information about how to conduct the check - type: complex - status: - description: - - Status is completed by the server to tell which permissions you have - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('subject_rules_review', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_template.py b/library/openshift_v1_template.py deleted file mode 100644 index 8fdd2d0b..00000000 --- a/library/openshift_v1_template.py +++ /dev/null @@ -1,250 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_template -short_description: OpenShift Template -description: -- Manage the lifecycle of a template object. Supports check mode, and attempts to - to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - message: - description: - - message is an optional instructional message that will be displayed when this - template is instantiated. This field should inform the user how to utilize the - newly created resources. Parameter substitution will be performed on the message - before being displayed so that generated credentials and other parameters can - be included in the output. - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - objects: - description: - - objects is an array of resources to include in this template. If a namespace - value is hardcoded in the object, it will be removed during template instantiation, - however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, the - resolved value after parameter substitution will be respected and the object - will be created in that namespace. - type: list - parameters: - description: - - parameters is an optional array of Parameters used during the Template to Config - transformation. - type: list - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -template: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - labels: - description: - - labels is a optional set of labels that are applied to every object during - the Template to Config transformation. - type: complex - contains: str, str - message: - description: - - message is an optional instructional message that will be displayed when this - template is instantiated. This field should inform the user how to utilize - the newly created resources. Parameter substitution will be performed on the - message before being displayed so that generated credentials and other parameters - can be included in the output. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - objects: - description: - - objects is an array of resources to include in this template. If a namespace - value is hardcoded in the object, it will be removed during template instantiation, - however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, - the resolved value after parameter substitution will be respected and the - object will be created in that namespace. - type: list - contains: - raw: - description: - - Raw is the underlying serialization of this object. - type: str - parameters: - description: - - parameters is an optional array of Parameters used during the Template to - Config transformation. - type: list - contains: - from: - description: - - From is an input value for the generator. Optional. - type: str - description: - description: - - Description of a parameter. Optional. - type: str - display_name: - description: - - "Optional: The name that will show in UI instead of parameter 'Name'" - type: str - generate: - description: - - 'generate specifies the generator to be used to generate random string - from an input value specified by From field. The result string is stored - into Value field. If empty, no generator is being used, leaving the result - Value untouched. Optional. The only supported generator is "expression", - which accepts a "from" value in the form of a simple regular expression - containing the range expression "[a-zA-Z0-9]", and the length expression - "a{length}". Examples: from | value ----------------------------- "test[0-9]{1}x" - | "test7x" "[0-1]{8}" | "01001100" "0x[A-F0-9]{4}" | "0xB3AF" "[a-zA-Z0-9]{8}" - | "hW4yQU5i"' - type: str - name: - description: - - Name must be set and it can be referenced in Template Items using ${PARAMETER_NAME}. - Required. - type: str - required: - description: - - 'Optional: Indicates the parameter must have a value. Defaults to false.' - type: bool - value: - description: - - Value holds the Parameter data. If specified, the generator will be ignored. - The value replaces all occurrences of the Parameter ${Name} expression - during the Template to Config transformation. Optional. - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('template', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_template_instance.py b/library/openshift_v1_template_instance.py deleted file mode 100644 index f87a3c3f..00000000 --- a/library/openshift_v1_template_instance.py +++ /dev/null @@ -1,263 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_template_instance -short_description: OpenShift TemplateInstance -description: -- Manage the lifecycle of a template_instance object. Supports check mode, and attempts - to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - spec_requester_extra: - description: - - extra holds additional information provided by the authenticator. - aliases: - - requester_extra - type: dict - spec_requester_groups: - description: - - groups represent the groups this user is a part of. - aliases: - - requester_groups - type: list - spec_requester_uid: - description: - - uid is a unique value that identifies this user across time; if this user is - deleted and another user by the same name is added, they will have different - UIDs. - aliases: - - requester_uid - spec_requester_username: - description: - - username uniquely identifies this user among all active users. - aliases: - - requester_username - spec_secret_name: - description: - - Name of the referent. - aliases: - - secret_name - spec_template_api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - aliases: - - api_version - spec_template_kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - aliases: - - kind - spec_template_labels: - description: - - labels is a optional set of labels that are applied to every object during the - Template to Config transformation. - type: dict - spec_template_message: - description: - - message is an optional instructional message that will be displayed when this - template is instantiated. This field should inform the user how to utilize the - newly created resources. Parameter substitution will be performed on the message - before being displayed so that generated credentials and other parameters can - be included in the output. - aliases: - - message - spec_template_metadata_annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - spec_template_metadata_labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - spec_template_metadata_name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - spec_template_metadata_namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - spec_template_objects: - description: - - objects is an array of resources to include in this template. If a namespace - value is hardcoded in the object, it will be removed during template instantiation, - however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, the - resolved value after parameter substitution will be respected and the object - will be created in that namespace. - aliases: - - objects - type: list - spec_template_parameters: - description: - - parameters is an optional array of Parameters used during the Template to Config - transformation. - aliases: - - parameters - type: list - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -template_instance: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec describes the desired state of this TemplateInstance. - type: complex - status: - description: - - status describes the current state of this TemplateInstance. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('template_instance', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_template_instance_list.py b/library/openshift_v1_template_instance_list.py deleted file mode 100644 index 28a7f136..00000000 --- a/library/openshift_v1_template_instance_list.py +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_template_instance_list -short_description: OpenShift TemplateInstanceList -description: -- Retrieve a list of template_instances. List operations provide a snapshot read of - the underlying objects, returning a resource_version representing a consistent version - of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -template_instance_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - items is a list of Templateinstances - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex - spec: - description: - - spec describes the desired state of this TemplateInstance. - type: complex - status: - description: - - status describes the current state of this TemplateInstance. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('template_instance_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_template_list.py b/library/openshift_v1_template_list.py deleted file mode 100644 index 117b383f..00000000 --- a/library/openshift_v1_template_list.py +++ /dev/null @@ -1,230 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_template_list -short_description: OpenShift TemplateList -description: -- Retrieve a list of templates. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -template_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of templates - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - labels: - description: - - labels is a optional set of labels that are applied to every object during - the Template to Config transformation. - type: complex - contains: str, str - message: - description: - - message is an optional instructional message that will be displayed when - this template is instantiated. This field should inform the user how to - utilize the newly created resources. Parameter substitution will be performed - on the message before being displayed so that generated credentials and - other parameters can be included in the output. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - objects: - description: - - objects is an array of resources to include in this template. If a namespace - value is hardcoded in the object, it will be removed during template instantiation, - however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, - the resolved value after parameter substitution will be respected and - the object will be created in that namespace. - type: list - contains: - raw: - description: - - Raw is the underlying serialization of this object. - type: str - parameters: - description: - - parameters is an optional array of Parameters used during the Template - to Config transformation. - type: list - contains: - from: - description: - - From is an input value for the generator. Optional. - type: str - description: - description: - - Description of a parameter. Optional. - type: str - display_name: - description: - - "Optional: The name that will show in UI instead of parameter 'Name'" - type: str - generate: - description: - - 'generate specifies the generator to be used to generate random string - from an input value specified by From field. The result string is - stored into Value field. If empty, no generator is being used, leaving - the result Value untouched. Optional. The only supported generator - is "expression", which accepts a "from" value in the form of a simple - regular expression containing the range expression "[a-zA-Z0-9]", - and the length expression "a{length}". Examples: from | value ----------------------------- - "test[0-9]{1}x" | "test7x" "[0-1]{8}" | "01001100" "0x[A-F0-9]{4}" - | "0xB3AF" "[a-zA-Z0-9]{8}" | "hW4yQU5i"' - type: str - name: - description: - - Name must be set and it can be referenced in Template Items using - ${PARAMETER_NAME}. Required. - type: str - required: - description: - - 'Optional: Indicates the parameter must have a value. Defaults to - false.' - type: bool - value: - description: - - Value holds the Parameter data. If specified, the generator will be - ignored. The value replaces all occurrences of the Parameter ${Name} - expression during the Template to Config transformation. Optional. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('template_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_user.py b/library/openshift_v1_user.py deleted file mode 100644 index b95eac40..00000000 --- a/library/openshift_v1_user.py +++ /dev/null @@ -1,187 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_user -short_description: OpenShift User -description: -- Manage the lifecycle of a user object. Supports check mode, and attempts to to be - idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - full_name: - description: - - FullName is the full name of user - groups: - description: - - Groups specifies group names this user is a member of. This field is deprecated - and will be removed in a future release. Instead, create a Group object containing - the name of this User. - type: list - host: - description: - - Provide a URL for acessing the Kubernetes API. - identities: - description: - - Identities are the identities associated with this user - type: list - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -user: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - full_name: - description: - - FullName is the full name of user - type: str - groups: - description: - - Groups specifies group names this user is a member of. This field is deprecated - and will be removed in a future release. Instead, create a Group object containing - the name of this User. - type: list - contains: str - identities: - description: - - Identities are the identities associated with this user - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('user', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_user_identity_mapping.py b/library/openshift_v1_user_identity_mapping.py deleted file mode 100644 index 5760b8cf..00000000 --- a/library/openshift_v1_user_identity_mapping.py +++ /dev/null @@ -1,230 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_user_identity_mapping -short_description: OpenShift UserIdentityMapping -description: -- Manage the lifecycle of a user_identity_mapping object. Supports check mode, and - attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - identity_api_version: - description: - - API version of the referent. - aliases: - - api_version - identity_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - identity_kind: - description: - - Kind of the referent. - aliases: - - kind - identity_name: - description: - - Name of the referent. - identity_namespace: - description: - - Namespace of the referent. - identity_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - identity_uid: - description: - - UID of the referent. - aliases: - - uid - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - user_api_version: - description: - - API version of the referent. - user_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - user_kind: - description: - - Kind of the referent. - user_name: - description: - - Name of the referent. - user_namespace: - description: - - Namespace of the referent. - user_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - user_uid: - description: - - UID of the referent. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -user_identity_mapping: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - identity: - description: - - Identity is a reference to an identity - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - user: - description: - - User is a reference to a user - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('user_identity_mapping', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1_user_list.py b/library/openshift_v1_user_list.py deleted file mode 100644 index 8750b710..00000000 --- a/library/openshift_v1_user_list.py +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1_user_list -short_description: OpenShift UserList -description: -- Retrieve a list of users. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -user_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is the list of users - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - full_name: - description: - - FullName is the full name of user - type: str - groups: - description: - - Groups specifies group names this user is a member of. This field is deprecated - and will be removed in a future release. Instead, create a Group object - containing the name of this User. - type: list - contains: str - identities: - description: - - Identities are the identities associated with this user - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object's metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('user_list', 'v1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_event.py b/library/openshift_v1beta1_event.py deleted file mode 100644 index b5c1d409..00000000 --- a/library/openshift_v1beta1_event.py +++ /dev/null @@ -1,341 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_event -short_description: OpenShift Event -description: -- Manage the lifecycle of a event object. Supports check mode, and attempts to to - be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - action: - description: - - What action was taken/failed regarding to the regarding object. - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - deprecated_count: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: int - deprecated_first_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - deprecated_last_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - deprecated_source_component: - description: - - Component from which the event is generated. - aliases: - - component - deprecated_source_host: - description: - - Node name on which the event is generated. - event_time: - description: - - Required. Time when this Event was first observed. - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - note: - description: - - Optional. A human-readable description of the status of this operation. Maximal - length of the note is 1kB, but libraries should be prepared to handle values - up to 64kB. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - reason: - description: - - Why the action was taken. - regarding_api_version: - description: - - API version of the referent. - aliases: - - api_version - regarding_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - aliases: - - field_path - regarding_kind: - description: - - Kind of the referent. - aliases: - - kind - regarding_name: - description: - - Name of the referent. - regarding_namespace: - description: - - Namespace of the referent. - regarding_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - aliases: - - resource_version - regarding_uid: - description: - - UID of the referent. - aliases: - - uid - related_api_version: - description: - - API version of the referent. - related_field_path: - description: - - 'If referring to a piece of an object instead of an entire object, this string - should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within a pod, this would - take on a value like: "spec.containers{name}" (where "name" refers to the name - of the container that triggered the event) or if no container name is specified - "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of an object.' - related_kind: - description: - - Kind of the referent. - related_name: - description: - - Name of the referent. - related_namespace: - description: - - Namespace of the referent. - related_resource_version: - description: - - Specific resourceVersion to which this reference is made, if any. - related_uid: - description: - - UID of the referent. - reporting_controller: - description: - - Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. - reporting_instance: - description: - - ID of the controller instance, e.g. `kubelet-xyzf`. - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - series_count: - description: - - Number of occurrences in this series up to the last heartbeat time - aliases: - - count - type: int - series_last_observed_time: - description: - - Time when last Event from the series was seen before last heartbeat. - aliases: - - last_observed_time - series_state: - description: - - Information whether this series is ongoing or finished. - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - type: - description: - - Type of this event (Normal, Warning), new types could be added in the future. - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -event: - type: complex - returned: when I(state) = C(present) - contains: - action: - description: - - What action was taken/failed regarding to the regarding object. - type: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - deprecated_count: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: int - deprecated_first_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - contains: {} - deprecated_last_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - contains: {} - deprecated_source: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - event_time: - description: - - Required. Time when this Event was first observed. - type: complex - contains: {} - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - note: - description: - - Optional. A human-readable description of the status of this operation. Maximal - length of the note is 1kB, but libraries should be prepared to handle values - up to 64kB. - type: str - reason: - description: - - Why the action was taken. - type: str - regarding: - description: - - The object this Event is about. In most cases it's an Object reporting controller - implements. E.g. ReplicaSetController implements ReplicaSets and this event - is emitted because it acts on some changes in a ReplicaSet object. - type: complex - related: - description: - - Optional secondary object for more complex actions. E.g. when regarding object - triggers a creation or deletion of related object. - type: complex - reporting_controller: - description: - - Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. - type: str - reporting_instance: - description: - - ID of the controller instance, e.g. `kubelet-xyzf`. - type: str - series: - description: - - Data about the Event series this event represents or nil if it's a singleton - Event. - type: complex - type: - description: - - Type of this event (Normal, Warning), new types could be added in the future. - type: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('event', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_event_list.py b/library/openshift_v1beta1_event_list.py deleted file mode 100644 index fb56a6e1..00000000 --- a/library/openshift_v1beta1_event_list.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_event_list -short_description: OpenShift EventList -description: -- Retrieve a list of events. List operations provide a snapshot read of the underlying - objects, returning a resource_version representing a consistent version of the listed - objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -event_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - Items is a list of schema objects. - type: list - contains: - action: - description: - - What action was taken/failed regarding to the regarding object. - type: str - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - deprecated_count: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: int - deprecated_first_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - contains: {} - deprecated_last_timestamp: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - contains: {} - deprecated_source: - description: - - Deprecated field assuring backward compatibility with core.v1 Event type - type: complex - event_time: - description: - - Required. Time when this Event was first observed. - type: complex - contains: {} - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: [] - type: complex - note: - description: - - Optional. A human-readable description of the status of this operation. - Maximal length of the note is 1kB, but libraries should be prepared to - handle values up to 64kB. - type: str - reason: - description: - - Why the action was taken. - type: str - regarding: - description: - - The object this Event is about. In most cases it's an Object reporting - controller implements. E.g. ReplicaSetController implements ReplicaSets - and this event is emitted because it acts on some changes in a ReplicaSet - object. - type: complex - related: - description: - - Optional secondary object for more complex actions. E.g. when regarding - object triggers a creation or deletion of related object. - type: complex - reporting_controller: - description: - - Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. - type: str - reporting_instance: - description: - - ID of the controller instance, e.g. `kubelet-xyzf`. - type: str - series: - description: - - Data about the Event series this event represents or nil if it's a singleton - Event. - type: complex - type: - description: - - Type of this event (Normal, Warning), new types could be added in the - future. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('event_list', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_mutating_webhook_configuration.py b/library/openshift_v1beta1_mutating_webhook_configuration.py deleted file mode 100644 index cf130183..00000000 --- a/library/openshift_v1beta1_mutating_webhook_configuration.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_mutating_webhook_configuration -short_description: OpenShift MutatingWebhookConfiguration -description: -- Manage the lifecycle of a mutating_webhook_configuration object. Supports check - mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -mutating_webhook_configuration: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the admission webhook. Name should be fully qualified, e.g., - imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, - and kubernetes.io is the name of the organization. Required. - type: str - namespace_selector: - description: - - 'NamespaceSelector decides whether to run the webhook on an object based - on whether the namespace for that object matches the selector. If the - object itself is a namespace, the matching is performed on object.metadata.labels. - If the object is other cluster scoped resource, it is not subjected to - the webhook. For example, to run the webhook on any objects whose namespace - is not associated with "runlevel" of "0" or "1"; you will set the selector - as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", - "operator": "NotIn", "values": [ "0", "1" ] } ] } If instead you want - to only run the webhook on any objects whose namespace is associated with - the "environment" of "prod" or "staging"; you will set the selector as - follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", - "operator": "In", "values": [ "prod", "staging" ] } ] } See for more examples - of label selectors. Default to the empty LabelSelector, which matches - everything.' - type: complex - rules: - description: - - Rules describes what operations on what resources/subresources the webhook - cares about. The webhook cares about an operation if it matches _any_ - Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all groups. - If '*' is present, the length of the slice must be one. Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is all - versions. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - CREATE, - UPDATE, or * for all operations. If '*' is present, the length of - the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means all\ - \ subresources of pods. '*/scale' means all scale subresources. '*/*'\ - \ means all resources and their subresources. If wildcard is present,\ - \ the validation rule will ensure resources do not overlap with each\ - \ other. Depending on the enclosing object, subresources might not\ - \ be allowed. Required." - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('mutating_webhook_configuration', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_mutating_webhook_configuration_list.py b/library/openshift_v1beta1_mutating_webhook_configuration_list.py deleted file mode 100644 index 6b3279bc..00000000 --- a/library/openshift_v1beta1_mutating_webhook_configuration_list.py +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_mutating_webhook_configuration_list -short_description: OpenShift MutatingWebhookConfigurationList -description: -- Retrieve a list of mutating_webhook_configurations. List operations provide a snapshot - read of the underlying objects, returning a resource_version representing a consistent - version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -mutating_webhook_configuration_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of MutatingWebhookConfiguration. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the admission webhook. Name should be fully qualified, - e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of - the webhook, and kubernetes.io is the name of the organization. Required. - type: str - namespace_selector: - description: - - 'NamespaceSelector decides whether to run the webhook on an object - based on whether the namespace for that object matches the selector. - If the object itself is a namespace, the matching is performed on - object.metadata.labels. If the object is other cluster scoped resource, - it is not subjected to the webhook. For example, to run the webhook - on any objects whose namespace is not associated with "runlevel" of - "0" or "1"; you will set the selector as follows: "namespaceSelector": - { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", - "values": [ "0", "1" ] } ] } If instead you want to only run the webhook - on any objects whose namespace is associated with the "environment" - of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": - { "matchExpressions": [ { "key": "environment", "operator": "In", - "values": [ "prod", "staging" ] } ] } See for more examples of label - selectors. Default to the empty LabelSelector, which matches everything.' - type: complex - rules: - description: - - Rules describes what operations on what resources/subresources the - webhook cares about. The webhook cares about an operation if it matches - _any_ Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all - groups. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is - all versions. If '*' is present, the length of the slice must - be one. Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - - CREATE, UPDATE, or * for all operations. If '*' is present, the - length of the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means\ - \ all subresources of pods. '*/scale' means all scale subresources.\ - \ '*/*' means all resources and their subresources. If wildcard\ - \ is present, the validation rule will ensure resources do not\ - \ overlap with each other. Depending on the enclosing object,\ - \ subresources might not be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('mutating_webhook_configuration_list', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_validating_webhook_configuration.py b/library/openshift_v1beta1_validating_webhook_configuration.py deleted file mode 100644 index 7bd1fdfc..00000000 --- a/library/openshift_v1beta1_validating_webhook_configuration.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_validating_webhook_configuration -short_description: OpenShift ValidatingWebhookConfiguration -description: -- Manage the lifecycle of a validating_webhook_configuration object. Supports check - mode, and attempts to to be idempotent. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - annotations: - description: - - Annotations is an unstructured key value map stored with a resource that may - be set by external tools to store and retrieve arbitrary metadata. They are - not queryable and should be preserved when modifying objects. - type: dict - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - labels: - description: - - Map of string keys and values that can be used to organize and categorize (scope - and select) objects. May match selectors of replication controllers and services. - type: dict - name: - description: - - Name must be unique within a namespace. Is required when creating resources, - although some resources may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation idempotence and - configuration definition. Cannot be updated. - namespace: - description: - - Namespace defines the space within each name must be unique. An empty namespace - is equivalent to the "default" namespace, but "default" is the canonical representation. - Not all objects are required to be scoped to a namespace - the value of this - field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -validating_webhook_configuration: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the admission webhook. Name should be fully qualified, e.g., - imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, - and kubernetes.io is the name of the organization. Required. - type: str - namespace_selector: - description: - - 'NamespaceSelector decides whether to run the webhook on an object based - on whether the namespace for that object matches the selector. If the - object itself is a namespace, the matching is performed on object.metadata.labels. - If the object is other cluster scoped resource, it is not subjected to - the webhook. For example, to run the webhook on any objects whose namespace - is not associated with "runlevel" of "0" or "1"; you will set the selector - as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", - "operator": "NotIn", "values": [ "0", "1" ] } ] } If instead you want - to only run the webhook on any objects whose namespace is associated with - the "environment" of "prod" or "staging"; you will set the selector as - follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", - "operator": "In", "values": [ "prod", "staging" ] } ] } See for more examples - of label selectors. Default to the empty LabelSelector, which matches - everything.' - type: complex - rules: - description: - - Rules describes what operations on what resources/subresources the webhook - cares about. The webhook cares about an operation if it matches _any_ - Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all groups. - If '*' is present, the length of the slice must be one. Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is all - versions. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - CREATE, - UPDATE, or * for all operations. If '*' is present, the length of - the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means all\ - \ subresources of pods. '*/scale' means all scale subresources. '*/*'\ - \ means all resources and their subresources. If wildcard is present,\ - \ the validation rule will ensure resources do not overlap with each\ - \ other. Depending on the enclosing object, subresources might not\ - \ be allowed. Required." - type: list - contains: str -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('validating_webhook_configuration', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/library/openshift_v1beta1_validating_webhook_configuration_list.py b/library/openshift_v1beta1_validating_webhook_configuration_list.py deleted file mode 100644 index 583599ae..00000000 --- a/library/openshift_v1beta1_validating_webhook_configuration_list.py +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException - -DOCUMENTATION = ''' -module: openshift_v1beta1_validating_webhook_configuration_list -short_description: OpenShift ValidatingWebhookConfigurationList -description: -- Retrieve a list of validating_webhook_configurations. List operations provide a - snapshot read of the underlying objects, returning a resource_version representing - a consistent version of the listed objects. -version_added: 2.3.0 -author: OpenShift (@openshift) -options: - api_key: - description: - - Token used to connect to the API. - cert_file: - description: - - Path to a certificate used to authenticate with the API. - type: path - context: - description: - - The name of a context found in the Kubernetes config file. - debug: - description: - - Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log - default: false - type: bool - force: - description: - - If set to C(True), and I(state) is C(present), an existing object will updated, - and lists will be replaced, rather than merged. - default: false - type: bool - host: - description: - - Provide a URL for acessing the Kubernetes API. - key_file: - description: - - Path to a key file used to authenticate with the API. - type: path - kubeconfig: - description: - - Path to an existing Kubernetes config file. If not provided, and no other connection - options are provided, the openshift client will attempt to load the default - configuration file from I(~/.kube/config.json). - type: path - password: - description: - - Provide a password for connecting to the API. Use in conjunction with I(username). - resource_definition: - description: - - Provide the YAML definition for the object, bypassing any modules parameters - intended to define object attributes. - type: dict - src: - description: - - Provide a path to a file containing the YAML definition of the object. Mutually - exclusive with I(resource_definition). - type: path - ssl_ca_cert: - description: - - Path to a CA certificate used to authenticate with the API. - type: path - state: - description: - - Determines if an object should be created, patched, or deleted. When set to - C(present), the object will be created, if it does not exist, or patched, if - parameter values differ from the existing object's attributes, and deleted, - if set to C(absent). A patch operation results in merging lists and updating - dictionaries, with lists being merged into a unique set of values. If a list - contains a dictionary with a I(name) or I(type) attribute, a strategic merge - is performed, where individual elements with a matching I(name_) or I(type) - are merged. To force the replacement of lists, set the I(force) option to C(True). - default: present - choices: - - present - - absent - username: - description: - - Provide a username for connecting to the API. - verify_ssl: - description: - - Whether or not to verify the API server's SSL certificates. - type: bool -requirements: -- openshift == 0.4.0.a1 -''' - -EXAMPLES = ''' -''' - -RETURN = ''' -api_version: - description: Requested API version - type: string -validating_webhook_configuration_list: - type: complex - returned: when I(state) = C(present) - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - type: str - items: - description: - - List of ValidatingWebhookConfiguration. - type: list - contains: - api_version: - description: - - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, - and may reject unrecognized values. - type: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. - type: str - metadata: - description: - - Standard object metadata; - type: complex - webhooks: - description: - - Webhooks is a list of webhooks and the affected resources and operations. - type: list - contains: - client_config: - description: - - ClientConfig defines how to communicate with the hook. Required - type: complex - failure_policy: - description: - - FailurePolicy defines how unrecognized errors from the admission endpoint - are handled - allowed values are Ignore or Fail. Defaults to Ignore. - type: str - name: - description: - - The name of the admission webhook. Name should be fully qualified, - e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of - the webhook, and kubernetes.io is the name of the organization. Required. - type: str - namespace_selector: - description: - - 'NamespaceSelector decides whether to run the webhook on an object - based on whether the namespace for that object matches the selector. - If the object itself is a namespace, the matching is performed on - object.metadata.labels. If the object is other cluster scoped resource, - it is not subjected to the webhook. For example, to run the webhook - on any objects whose namespace is not associated with "runlevel" of - "0" or "1"; you will set the selector as follows: "namespaceSelector": - { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", - "values": [ "0", "1" ] } ] } If instead you want to only run the webhook - on any objects whose namespace is associated with the "environment" - of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": - { "matchExpressions": [ { "key": "environment", "operator": "In", - "values": [ "prod", "staging" ] } ] } See for more examples of label - selectors. Default to the empty LabelSelector, which matches everything.' - type: complex - rules: - description: - - Rules describes what operations on what resources/subresources the - webhook cares about. The webhook cares about an operation if it matches - _any_ Rule. - type: list - contains: - api_groups: - description: - - APIGroups is the API groups the resources belong to. '*' is all - groups. If '*' is present, the length of the slice must be one. - Required. - type: list - contains: str - api_versions: - description: - - APIVersions is the API versions the resources belong to. '*' is - all versions. If '*' is present, the length of the slice must - be one. Required. - type: list - contains: str - operations: - description: - - Operations is the operations the admission hook cares about - - CREATE, UPDATE, or * for all operations. If '*' is present, the - length of the slice must be one. Required. - type: list - contains: str - resources: - description: - - "Resources is a list of resources this rule applies to. For example:\ - \ 'pods' means pods. 'pods/log' means the log subresource of pods.\ - \ '*' means all resources, but not subresources. 'pods/*' means\ - \ all subresources of pods. '*/scale' means all scale subresources.\ - \ '*/*' means all resources and their subresources. If wildcard\ - \ is present, the validation rule will ensure resources do not\ - \ overlap with each other. Depending on the enclosing object,\ - \ subresources might not be allowed. Required." - type: list - contains: str - kind: - description: - - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. - type: str - metadata: - description: - - Standard list metadata. - type: complex -''' - - -def main(): - try: - module = OpenShiftAnsibleModule('validating_webhook_configuration_list', 'v1beta1') - except OpenShiftAnsibleException as exc: - # The helper failed to init, so there is no module object. All we can do is raise the error. - raise Exception(exc.message) - - try: - module.execute_module() - except OpenShiftAnsibleException as exc: - module.fail_json(msg="Module failed!", error=str(exc)) - - -if __name__ == '__main__': - main() diff --git a/meta/main.yml b/meta/main.yml deleted file mode 100644 index 8f509dd8..00000000 --- a/meta/main.yml +++ /dev/null @@ -1,52 +0,0 @@ -galaxy_info: - author: Ansible - description: Pre-release Kubernetes modules - company: Ansible by Red Hat - - # If the issue tracker for your role is not on github, uncomment the - # next line and provide a value - issue_tracker_url: https://github.com/openshift/openshift-restclient-python/issues - - # Some suggested licenses: - # - BSD (default) - # - MIT - # - GPLv2 - # - GPLv3 - # - Apache - # - CC-BY - license: Apache V2 - - min_ansible_version: 2.3 - - # Optionally specify the branch Galaxy will use when accessing the GitHub - # repo for this role. During role install, if no tags are available, - # Galaxy will use this branch. During import Galaxy will access files on - # this branch. If travis integration is cofigured, only notification for this - # branch will be accepted. Otherwise, in all cases, the repo's default branch - # (usually master) will be used. - #github_branch: - - # - # Below are all platforms currently available. Just uncomment - # the ones that apply to your role. If you don't see your - # platform on this list, let us know and we'll get it added! - # - platforms: - - name: Fedora - versions: - - all - - name: Ubuntu - versions: - - all - - name: EL - versions: - - all - - galaxy_tags: - - k8s - - kubernetes - - openshift - - modules - - api - -dependencies: [] diff --git a/module_utils/README.md b/module_utils/README.md deleted file mode 100644 index 9847c7f1..00000000 --- a/module_utils/README.md +++ /dev/null @@ -1,3 +0,0 @@ -The `k8_common.py` and `openshift_common.py` modules are not currently available in an official release of Ansible. They are part of Ansible, as you'll find them in the `devel` branch. At some point they will make it into an official release. Until then, they're included here for convenience. - -If you have uncovered a problem, or would like to make a change, please open an issue and submit pull requess at the [Ansible repo](https://github.com/ansible/ansible). diff --git a/module_utils/k8s_common.py b/module_utils/k8s_common.py deleted file mode 100644 index 06716e43..00000000 --- a/module_utils/k8s_common.py +++ /dev/null @@ -1,313 +0,0 @@ -# -# Copyright 2017 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . - -import copy -import json -import os - -from ansible.module_utils.basic import AnsibleModule - -try: - from openshift.helper.ansible import KubernetesAnsibleModuleHelper, ARG_ATTRIBUTES_BLACKLIST - from openshift.helper.exceptions import KubernetesException - HAS_K8S_MODULE_HELPER = True -except ImportError as exc: - HAS_K8S_MODULE_HELPER = False - -try: - import yaml - HAS_YAML = True -except ImportError: - HAS_YAML = False - - -class KubernetesAnsibleException(Exception): - pass - - -class KubernetesAnsibleModule(AnsibleModule): - @staticmethod - def get_helper(api_version, kind): - return KubernetesAnsibleModuleHelper(api_version, kind) - - def __init__(self, kind, api_version): - self.api_version = api_version - self.kind = kind - self.argspec_cache = None - - if not HAS_K8S_MODULE_HELPER: - raise KubernetesAnsibleException( - "This module requires the OpenShift Python client. Try `pip install openshift`" - ) - - if not HAS_YAML: - raise KubernetesAnsibleException( - "This module requires PyYAML. Try `pip install PyYAML`" - ) - - try: - self.helper = self.get_helper(api_version, kind) - except Exception as exc: - raise KubernetesAnsibleException( - "Error initializing AnsibleModuleHelper: {}".format(exc) - ) - - mutually_exclusive = ( - ('resource_definition', 'src'), - ) - - AnsibleModule.__init__(self, - argument_spec=self.argspec, - supports_check_mode=True, - mutually_exclusive=mutually_exclusive) - - @property - def argspec(self): - """ - Build the module argument spec from the helper.argspec, removing any extra attributes not needed by - Ansible. - - :return: dict: a valid Ansible argument spec - """ - if not self.argspec_cache: - spec = { - 'dry_run': { - 'type': 'bool', - 'default': False, - 'description': [ - "If set to C(True) the module will exit without executing any action." - "Useful to only generate YAML file definitions for the resources in the tasks." - ] - } - } - - for arg_name, arg_properties in self.helper.argspec.items(): - spec[arg_name] = {} - for option, option_value in arg_properties.items(): - if option not in ARG_ATTRIBUTES_BLACKLIST: - if option == 'choices': - if isinstance(option_value, dict): - spec[arg_name]['choices'] = [value for key, value in option_value.items()] - else: - spec[arg_name]['choices'] = option_value - else: - spec[arg_name][option] = option_value - - self.argspec_cache = spec - return self.argspec_cache - - def execute_module(self): - """ - Performs basic CRUD operations on the model object. Ends by calling - AnsibleModule.fail_json(), if an error is encountered, otherwise - AnsibleModule.exit_json() with a dict containing: - changed: boolean - api_version: the API version - : a dict representing the object's state - :return: None - """ - - if self.params.get('debug'): - self.helper.enable_debug(reset_logfile=False) - self.helper.log_argspec() - - resource_definition = self.params.get('resource_definition') - if self.params.get('src'): - resource_definition = self.load_resource_definition(self.params['src']) - if resource_definition: - resource_params = self.resource_to_parameters(resource_definition) - self.params.update(resource_params) - - state = self.params.get('state', None) - force = self.params.get('force', False) - dry_run = self.params.pop('dry_run', False) - name = self.params.get('name') - namespace = self.params.get('namespace', None) - existing = None - - return_attributes = dict(changed=False, - api_version=self.api_version, - request=self.helper.request_body_from_params(self.params)) - return_attributes[self.helper.base_model_name_snake] = {} - - if dry_run: - self.exit_json(**return_attributes) - - try: - auth_options = {} - for key, value in self.helper.argspec.items(): - if value.get('auth_option') and self.params.get(key) is not None: - auth_options[key] = self.params[key] - self.helper.set_client_config(**auth_options) - except KubernetesException as e: - self.fail_json(msg='Error loading config', error=str(e)) - - if state is None: - # This is a list, rollback or ? module with no 'state' param - if self.helper.base_model_name_snake.endswith('list'): - # For list modules, execute a GET, and exit - k8s_obj = self._read(name, namespace) - return_attributes[self.kind] = k8s_obj.to_dict() if k8s_obj else {} - self.exit_json(**return_attributes) - elif self.helper.has_method('create'): - # For a rollback, execute a POST, and exit - k8s_obj = self._create(namespace) - return_attributes[self.kind] = k8s_obj.to_dict() if k8s_obj else {} - return_attributes['changed'] = True - self.exit_json(**return_attributes) - else: - self.fail_json(msg="Missing state parameter. Expected one of: present, absent") - - # CRUD modules - try: - existing = self.helper.get_object(name, namespace) - except KubernetesException as exc: - self.fail_json(msg='Failed to retrieve requested object: {}'.format(exc.message), - error=exc.value.get('status')) - - if state == 'absent': - if not existing: - # The object already does not exist - self.exit_json(**return_attributes) - else: - # Delete the object - if not self.check_mode: - try: - self.helper.delete_object(name, namespace) - except KubernetesException as exc: - self.fail_json(msg="Failed to delete object: {}".format(exc.message), - error=exc.value.get('status')) - return_attributes['changed'] = True - self.exit_json(**return_attributes) - else: - if not existing: - k8s_obj = self._create(namespace) - return_attributes[self.kind] = k8s_obj.to_dict() if k8s_obj else {} - return_attributes['changed'] = True - self.exit_json(**return_attributes) - - if existing and force: - k8s_obj = None - request_body = self.helper.request_body_from_params(self.params) - if not self.check_mode: - try: - k8s_obj = self.helper.replace_object(name, namespace, body=request_body) - except KubernetesException as exc: - self.fail_json(msg="Failed to replace object: {}".format(exc.message), - error=exc.value.get('status')) - return_attributes[self.kind] = k8s_obj.to_dict() if k8s_obj else {} - return_attributes['changed'] = True - self.exit_json(**return_attributes) - - # Check if existing object should be patched - k8s_obj = copy.deepcopy(existing) - try: - self.helper.object_from_params(self.params, obj=k8s_obj) - except KubernetesException as exc: - self.fail_json(msg="Failed to patch object: {}".format(exc.message)) - match, diff = self.helper.objects_match(existing, k8s_obj) - if match: - return_attributes[self.kind] = existing.to_dict() - self.exit_json(**return_attributes) - else: - self.helper.log('Existing:') - self.helper.log(existing.to_str()) - self.helper.log('\nDifferences:') - self.helper.log(json.dumps(diff, indent=4)) - # Differences exist between the existing obj and requested params - if not self.check_mode: - try: - k8s_obj = self.helper.patch_object(name, namespace, k8s_obj) - except KubernetesException as exc: - self.fail_json(msg="Failed to patch object: {}".format(exc.message)) - return_attributes[self.kind] = k8s_obj.to_dict() if k8s_obj else {} - return_attributes['changed'] = True - self.exit_json(**return_attributes) - - def _create(self, namespace): - request_body = None - k8s_obj = None - try: - request_body = self.helper.request_body_from_params(self.params) - except KubernetesException as exc: - self.fail_json(msg="Failed to create object: {}".format(exc.message)) - if not self.check_mode: - try: - k8s_obj = self.helper.create_object(namespace, body=request_body) - except KubernetesException as exc: - self.fail_json(msg="Failed to create object: {}".format(exc.message), - error=exc.value.get('status')) - return k8s_obj - - def _read(self, name, namespace): - k8s_obj = None - try: - k8s_obj = self.helper.get_object(name, namespace) - except KubernetesException as exc: - self.fail_json(msg='Failed to retrieve requested object', - error=exc.value.get('status')) - return k8s_obj - - def load_resource_definition(self, src): - """ Load the requested src path """ - result = None - path = os.path.normpath(src) - self.helper.log("Reading definition from {}".format(path)) - if not os.path.exists(path): - self.fail_json(msg="Error accessing {}. Does the file exist?".format(path)) - try: - result = yaml.safe_load(open(path, 'r')) - except (IOError, yaml.YAMLError) as exc: - self.fail_json(msg="Error loading resource_definition: {}".format(exc)) - return result - - def resource_to_parameters(self, resource): - """ Converts a resource definition to module parameters """ - parameters = {} - for key, value in resource.items(): - if key in ('apiVersion', 'kind', 'status'): - continue - elif key == 'metadata' and isinstance(value, dict): - for meta_key, meta_value in value.items(): - if meta_key in ('name', 'namespace', 'labels', 'annotations'): - parameters[meta_key] = meta_value - elif key in self.helper.argspec and value is not None: - parameters[key] = value - elif isinstance(value, dict): - self._add_parameter(value, [key], parameters) - self.helper.log("Request to parameters: {}".format(json.dumps(parameters))) - return parameters - - def _add_parameter(self, request, path, parameters): - for key, value in request.items(): - if path: - param_name = '_'.join(path + [self.helper.attribute_to_snake(key)]) - else: - param_name = self.helper.attribute_to_snake(key) - if param_name in self.helper.argspec and value is not None: - parameters[param_name] = value - elif isinstance(value, dict): - continue_path = copy.copy(path) if path else [] - continue_path.append(self.helper.attribute_to_snake(key)) - self._add_parameter(value, continue_path, parameters) - else: - self.fail_json( - msg=("Error parsing resource definition. Encountered {}, which does not map to a module " - "parameter. If this looks like a problem with the module, please open an issue at " - "github.com/openshift/openshift-restclient-python/issues").format(param_name) - ) diff --git a/module_utils/openshift_common.py b/module_utils/openshift_common.py deleted file mode 100644 index 7b20f2b5..00000000 --- a/module_utils/openshift_common.py +++ /dev/null @@ -1,69 +0,0 @@ -# -# Copyright 2017 Red Hat | Ansible -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . - -from ansible.module_utils.k8s_common import KubernetesAnsibleException, KubernetesAnsibleModule - -try: - from openshift.helper.ansible import OpenShiftAnsibleModuleHelper, ARG_ATTRIBUTES_BLACKLIST - from openshift.helper.exceptions import KubernetesException, OpenShiftException - HAS_OPENSHIFT_HELPER = True -except ImportError as exc: - HAS_OPENSHIFT_HELPER = False - - -class OpenShiftAnsibleException(KubernetesAnsibleException): - pass - - -class OpenShiftAnsibleModule(KubernetesAnsibleModule): - def __init__(self, kind, api_version): - if not HAS_OPENSHIFT_HELPER: - raise OpenShiftAnsibleException( - "This module requires the OpenShift Python client. Try `pip install openshift`" - ) - - try: - super(OpenShiftAnsibleModule, self).__init__(kind, api_version) - except KubernetesAnsibleException as exc: - raise OpenShiftAnsibleException(exc.args) - - @staticmethod - def get_helper(api_version, kind): - return OpenShiftAnsibleModuleHelper(api_version, kind) - - def _create(self, namespace): - if self.kind.lower() == 'project': - return self._create_project() - else: - return super(OpenShiftAnsibleModule, self)._create(namespace) - - def _create_project(self): - new_obj = None - k8s_obj = None - try: - new_obj = self.helper.object_from_params(self.params) - except KubernetesException as exc: - self.fail_json(msg="Failed to create object: {}".format(exc.message)) - try: - k8s_obj = self.helper.create_project(metadata=new_obj.metadata, - display_name=self.params.get('display_name'), - description=self.params.get('description')) - except KubernetesException as exc: - self.fail_json(msg='Failed to retrieve requested object', - error=exc.value.get('status')) - return k8s_obj diff --git a/plugins/modules/__init__.py b/plugins/modules/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/plugins/modules/_kubernetes.py b/plugins/modules/_kubernetes.py new file mode 100644 index 00000000..f039d827 --- /dev/null +++ b/plugins/modules/_kubernetes.py @@ -0,0 +1,18 @@ +#!/usr/bin/python + +# Copyright: (c) 2015, Google Inc. All Rights Reserved. +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['removed'], + 'supported_by': 'community'} + + +from ansible.module_utils.common.removed import removed_module + + +if __name__ == '__main__': + removed_module(removed_in='2.9') diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py new file mode 100644 index 00000000..e61b29b8 --- /dev/null +++ b/plugins/modules/k8s.py @@ -0,0 +1,279 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# (c) 2018, Chris Houseknecht <@chouseknecht> +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' + +module: k8s + +short_description: Manage Kubernetes (K8s) objects + +version_added: "2.6" + +author: + - "Chris Houseknecht (@chouseknecht)" + - "Fabian von Feilitzsch (@fabianvf)" + +description: + - Use the OpenShift Python client to perform CRUD operations on K8s objects. + - Pass the object definition from a source file or inline. See examples for reading + files and using Jinja templates or vault-encrypted files. + - Access to the full range of K8s APIs. + - Use the M(k8s_info) module to obtain a list of items about an object of type C(kind) + - Authenticate using either a config file, certificates, password or token. + - Supports check mode. + +extends_documentation_fragment: + - k8s_state_options + - k8s_name_options + - k8s_resource_options + - k8s_auth_options + +notes: + - If your OpenShift Python library is not 0.9.0 or newer and you are trying to + remove an item from an associative array/dictionary, for example a label or + an annotation, you will need to explicitly set the value of the item to be + removed to `null`. Simply deleting the entry in the dictionary will not + remove it from openshift or kubernetes. + +options: + merge_type: + description: + - Whether to override the default patch merge approach with a specific type. By default, the strategic + merge will typically be used. + - For example, Custom Resource Definitions typically aren't updatable by the usual strategic merge. You may + want to use C(merge) if you see "strategic merge patch format is not supported" + - See U(https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment) + - Requires openshift >= 0.6.2 + - If more than one merge_type is given, the merge_types will be tried in order + - If openshift >= 0.6.2, this defaults to C(['strategic-merge', 'merge']), which is ideal for using the same parameters + on resource kinds that combine Custom Resources and built-in resources. For openshift < 0.6.2, the default + is simply C(strategic-merge). + - mutually exclusive with C(apply) + choices: + - json + - merge + - strategic-merge + type: list + version_added: "2.7" + wait: + description: + - Whether to wait for certain resource kinds to end up in the desired state. By default the module exits once Kubernetes has + received the request + - Implemented for C(state=present) for C(Deployment), C(DaemonSet) and C(Pod), and for C(state=absent) for all resource kinds. + - For resource kinds without an implementation, C(wait) returns immediately unless C(wait_condition) is set. + default: no + type: bool + version_added: "2.8" + wait_sleep: + description: + - Number of seconds to sleep between checks. + default: 5 + version_added: "2.9" + wait_timeout: + description: + - How long in seconds to wait for the resource to end up in the desired state. Ignored if C(wait) is not set. + default: 120 + version_added: "2.8" + wait_condition: + description: + - Specifies a custom condition on the status to wait for. Ignored if C(wait) is not set or is set to False. + suboptions: + type: + description: + - The type of condition to wait for. For example, the C(Pod) resource will set the C(Ready) condition (among others) + - Required if you are specifying a C(wait_condition). If left empty, the C(wait_condition) field will be ignored. + - The possible types for a condition are specific to each resource type in Kubernetes. See the API documentation of the status field + for a given resource to see possible choices. + status: + description: + - The value of the status field in your desired condition. + - For example, if a C(Deployment) is paused, the C(Progressing) C(type) will have the C(Unknown) status. + choices: + - True + - False + - Unknown + reason: + description: + - The value of the reason field in your desired condition + - For example, if a C(Deployment) is paused, The C(Progressing) c(type) will have the C(DeploymentPaused) reason. + - The possible reasons in a condition are specific to each resource type in Kubernetes. See the API documentation of the status field + for a given resource to see possible choices. + version_added: "2.8" + validate: + description: + - how (if at all) to validate the resource definition against the kubernetes schema. + Requires the kubernetes-validate python module + suboptions: + fail_on_error: + description: whether to fail on validation errors. + required: yes + type: bool + version: + description: version of Kubernetes to validate against. defaults to Kubernetes server version + strict: + description: whether to fail when passing unexpected properties + default: no + type: bool + version_added: "2.8" + append_hash: + description: + - Whether to append a hash to a resource name for immutability purposes + - Applies only to ConfigMap and Secret resources + - The parameter will be silently ignored for other resource kinds + - The full definition of an object is needed to generate the hash - this means that deleting an object created with append_hash + will only work if the same object is passed with state=absent (alternatively, just use state=absent with the name including + the generated hash and append_hash=no) + type: bool + version_added: "2.8" + apply: + description: + - C(apply) compares the desired resource definition with the previously supplied resource definition, + ignoring properties that are automatically generated + - C(apply) works better with Services than 'force=yes' + - mutually exclusive with C(merge_type) + type: bool + version_added: "2.9" + +requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" +''' + +EXAMPLES = ''' +- name: Create a k8s namespace + k8s: + name: testing + api_version: v1 + kind: Namespace + state: present + +- name: Create a Service object from an inline definition + k8s: + state: present + definition: + apiVersion: v1 + kind: Service + metadata: + name: web + namespace: testing + labels: + app: galaxy + service: web + spec: + selector: + app: galaxy + service: web + ports: + - protocol: TCP + targetPort: 8000 + name: port-8000-tcp + port: 8000 + +- name: Create a Service object by reading the definition from a file + k8s: + state: present + src: /testing/service.yml + +- name: Remove an existing Service object + k8s: + state: absent + api_version: v1 + kind: Service + namespace: testing + name: web + +# Passing the object definition from a file + +- name: Create a Deployment by reading the definition from a local file + k8s: + state: present + src: /testing/deployment.yml + +- name: >- + Read definition file from the Ansible controller file system. + If the definition file has been encrypted with Ansible Vault it will automatically be decrypted. + k8s: + state: present + definition: "{{ lookup('file', '/testing/deployment.yml') }}" + +- name: Read definition file from the Ansible controller file system after Jinja templating + k8s: + state: present + definition: "{{ lookup('template', '/testing/deployment.yml') }}" + +- name: fail on validation errors + k8s: + state: present + definition: "{{ lookup('template', '/testing/deployment.yml') }}" + validate: + fail_on_error: yes + +- name: warn on validation errors, check for unexpected properties + k8s: + state: present + definition: "{{ lookup('template', '/testing/deployment.yml') }}" + validate: + fail_on_error: no + strict: yes +''' + +RETURN = ''' +result: + description: + - The created, patched, or otherwise present object. Will be empty in the case of a deletion. + returned: success + type: complex + contains: + api_version: + description: The versioned schema of this representation of an object. + returned: success + type: str + kind: + description: Represents the REST resource this object represents. + returned: success + type: str + metadata: + description: Standard object metadata. Includes name, namespace, annotations, labels, etc. + returned: success + type: complex + spec: + description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). + returned: success + type: complex + status: + description: Current status details for the object. + returned: success + type: complex + items: + description: Returned only when multiple yaml documents are passed to src or resource_definition + returned: when resource_definition or src contains list of objects + type: list + duration: + description: elapsed time of task in seconds + returned: when C(wait) is true + type: int + sample: 48 +''' + +from ansible.module_utils.k8s.raw import KubernetesRawModule + + +def main(): + KubernetesRawModule().execute_module() + + +if __name__ == '__main__': + main() diff --git a/plugins/modules/k8s_auth.py b/plugins/modules/k8s_auth.py new file mode 100644 index 00000000..8dfd2efc --- /dev/null +++ b/plugins/modules/k8s_auth.py @@ -0,0 +1,336 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (c) 2018, KubeVirt Team <@kubevirt> +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' + +module: k8s_auth + +short_description: Authenticate to Kubernetes clusters which require an explicit login step + +version_added: "2.8" + +author: KubeVirt Team (@kubevirt) + +description: + - "This module handles authenticating to Kubernetes clusters requiring I(explicit) authentication procedures, + meaning ones where a client logs in (obtains an authentication token), performs API operations using said + token and then logs out (revokes the token). An example of a Kubernetes distribution requiring this module + is OpenShift." + - "On the other hand a popular configuration for username+password authentication is one utilizing HTTP Basic + Auth, which does not involve any additional login/logout steps (instead login credentials can be attached + to each and every API call performed) and as such is handled directly by the C(k8s) module (and other + resource–specific modules) by utilizing the C(host), C(username) and C(password) parameters. Please + consult your preferred module's documentation for more details." + +options: + state: + description: + - If set to I(present) connect to the API server using the URL specified in C(host) and attempt to log in. + - If set to I(absent) attempt to log out by revoking the authentication token specified in C(api_key). + default: present + choices: + - present + - absent + host: + description: + - Provide a URL for accessing the API server. + required: true + username: + description: + - Provide a username for authenticating with the API server. + password: + description: + - Provide a password for authenticating with the API server. + ca_cert: + description: + - "Path to a CA certificate file used to verify connection to the API server. The full certificate chain + must be provided to avoid certificate validation errors." + aliases: [ ssl_ca_cert ] + validate_certs: + description: + - "Whether or not to verify the API server's SSL certificates." + type: bool + default: true + aliases: [ verify_ssl ] + api_key: + description: + - When C(state) is set to I(absent), this specifies the token to revoke. + +requirements: + - python >= 2.7 + - urllib3 + - requests + - requests-oauthlib +''' + +EXAMPLES = ''' +- hosts: localhost + module_defaults: + group/k8s: + host: https://k8s.example.com/ + ca_cert: ca.pem + tasks: + - block: + # It's good practice to store login credentials in a secure vault and not + # directly in playbooks. + - include_vars: k8s_passwords.yml + + - name: Log in (obtain access token) + k8s_auth: + username: admin + password: "{{ k8s_admin_password }}" + register: k8s_auth_results + + # Previous task provides the token/api_key, while all other parameters + # are taken from module_defaults + - name: Get a list of all pods from any namespace + k8s_info: + api_key: "{{ k8s_auth_results.k8s_auth.api_key }}" + kind: Pod + register: pod_list + + always: + - name: If login succeeded, try to log out (revoke access token) + when: k8s_auth_results.k8s_auth.api_key is defined + k8s_auth: + state: absent + api_key: "{{ k8s_auth_results.k8s_auth.api_key }}" +''' + +# Returned value names need to match k8s modules parameter names, to make it +# easy to pass returned values of k8s_auth to other k8s modules. +# Discussion: https://github.com/ansible/ansible/pull/50807#discussion_r248827899 +RETURN = ''' +k8s_auth: + description: Kubernetes authentication facts. + returned: success + type: complex + contains: + api_key: + description: Authentication token. + returned: success + type: str + host: + description: URL for accessing the API server. + returned: success + type: str + ca_cert: + description: Path to a CA certificate file used to verify connection to the API server. + returned: success + type: str + validate_certs: + description: "Whether or not to verify the API server's SSL certificates." + returned: success + type: bool + username: + description: Username for authenticating with the API server. + returned: success + type: str +''' + + +import traceback + +from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.six.moves.urllib_parse import urlparse, parse_qs, urlencode + +# 3rd party imports +try: + import requests + HAS_REQUESTS = True +except ImportError: + HAS_REQUESTS = False + +try: + from requests_oauthlib import OAuth2Session + HAS_REQUESTS_OAUTH = True +except ImportError: + HAS_REQUESTS_OAUTH = False + +try: + from urllib3.util import make_headers + HAS_URLLIB3 = True +except ImportError: + HAS_URLLIB3 = False + + +K8S_AUTH_ARG_SPEC = { + 'state': { + 'default': 'present', + 'choices': ['present', 'absent'], + }, + 'host': {'required': True}, + 'username': {}, + 'password': {'no_log': True}, + 'ca_cert': {'type': 'path', 'aliases': ['ssl_ca_cert']}, + 'validate_certs': { + 'type': 'bool', + 'default': True, + 'aliases': ['verify_ssl'] + }, + 'api_key': {'no_log': True}, +} + + +class KubernetesAuthModule(AnsibleModule): + def __init__(self): + AnsibleModule.__init__( + self, + argument_spec=K8S_AUTH_ARG_SPEC, + required_if=[ + ('state', 'present', ['username', 'password']), + ('state', 'absent', ['api_key']), + ] + ) + + if not HAS_REQUESTS: + self.fail("This module requires the python 'requests' package. Try `pip install requests`.") + + if not HAS_REQUESTS_OAUTH: + self.fail("This module requires the python 'requests-oauthlib' package. Try `pip install requests-oauthlib`.") + + if not HAS_URLLIB3: + self.fail("This module requires the python 'urllib3' package. Try `pip install urllib3`.") + + def execute_module(self): + state = self.params.get('state') + verify_ssl = self.params.get('validate_certs') + ssl_ca_cert = self.params.get('ca_cert') + + self.auth_username = self.params.get('username') + self.auth_password = self.params.get('password') + self.auth_api_key = self.params.get('api_key') + self.con_host = self.params.get('host') + + # python-requests takes either a bool or a path to a ca file as the 'verify' param + if verify_ssl and ssl_ca_cert: + self.con_verify_ca = ssl_ca_cert # path + else: + self.con_verify_ca = verify_ssl # bool + + # Get needed info to access authorization APIs + self.openshift_discover() + + if state == 'present': + new_api_key = self.openshift_login() + result = dict( + host=self.con_host, + validate_certs=verify_ssl, + ca_cert=ssl_ca_cert, + api_key=new_api_key, + username=self.auth_username, + ) + else: + self.openshift_logout() + result = dict() + + self.exit_json(changed=False, k8s_auth=result) + + def openshift_discover(self): + url = '{0}/.well-known/oauth-authorization-server'.format(self.con_host) + ret = requests.get(url, verify=self.con_verify_ca) + + if ret.status_code != 200: + self.fail_request("Couldn't find OpenShift's OAuth API", method='GET', url=url, + reason=ret.reason, status_code=ret.status_code) + + try: + oauth_info = ret.json() + + self.openshift_auth_endpoint = oauth_info['authorization_endpoint'] + self.openshift_token_endpoint = oauth_info['token_endpoint'] + except Exception as e: + self.fail_json(msg="Something went wrong discovering OpenShift OAuth details.", + exception=traceback.format_exc()) + + def openshift_login(self): + os_oauth = OAuth2Session(client_id='openshift-challenging-client') + authorization_url, state = os_oauth.authorization_url(self.openshift_auth_endpoint, + state="1", code_challenge_method='S256') + auth_headers = make_headers(basic_auth='{0}:{1}'.format(self.auth_username, self.auth_password)) + + # Request authorization code using basic auth credentials + ret = os_oauth.get( + authorization_url, + headers={'X-Csrf-Token': state, 'authorization': auth_headers.get('authorization')}, + verify=self.con_verify_ca, + allow_redirects=False + ) + + if ret.status_code != 302: + self.fail_request("Authorization failed.", method='GET', url=authorization_url, + reason=ret.reason, status_code=ret.status_code) + + # In here we have `code` and `state`, I think `code` is the important one + qwargs = {} + for k, v in parse_qs(urlparse(ret.headers['Location']).query).items(): + qwargs[k] = v[0] + qwargs['grant_type'] = 'authorization_code' + + # Using authorization code given to us in the Location header of the previous request, request a token + ret = os_oauth.post( + self.openshift_token_endpoint, + headers={ + 'Accept': 'application/json', + 'Content-Type': 'application/x-www-form-urlencoded', + # This is just base64 encoded 'openshift-challenging-client:' + 'Authorization': 'Basic b3BlbnNoaWZ0LWNoYWxsZW5naW5nLWNsaWVudDo=' + }, + data=urlencode(qwargs), + verify=self.con_verify_ca + ) + + if ret.status_code != 200: + self.fail_request("Failed to obtain an authorization token.", method='POST', + url=self.openshift_token_endpoint, + reason=ret.reason, status_code=ret.status_code) + + return ret.json()['access_token'] + + def openshift_logout(self): + url = '{0}/apis/oauth.openshift.io/v1/oauthaccesstokens/{1}'.format(self.con_host, self.auth_api_key) + headers = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'Authorization': 'Bearer {0}'.format(self.auth_api_key) + } + json = { + "apiVersion": "oauth.openshift.io/v1", + "kind": "DeleteOptions" + } + + ret = requests.delete(url, headers=headers, json=json, verify=self.con_verify_ca) + # Ignore errors, the token will time out eventually anyway + + def fail(self, msg=None): + self.fail_json(msg=msg) + + def fail_request(self, msg, **kwargs): + req_info = {} + for k, v in kwargs.items(): + req_info['req_' + k] = v + self.fail_json(msg=msg, **req_info) + + +def main(): + module = KubernetesAuthModule() + try: + module.execute_module() + except Exception as e: + module.fail_json(msg=str(e), exception=traceback.format_exc()) + + +if __name__ == '__main__': + main() diff --git a/plugins/modules/k8s_info.py b/plugins/modules/k8s_info.py new file mode 100644 index 00000000..99a8fd8c --- /dev/null +++ b/plugins/modules/k8s_info.py @@ -0,0 +1,179 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# (c) 2018, Will Thames <@willthames> +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' +module: k8s_info + +short_description: Describe Kubernetes (K8s) objects + +version_added: "2.7" + +author: + - "Will Thames (@willthames)" + +description: + - Use the OpenShift Python client to perform read operations on K8s objects. + - Access to the full range of K8s APIs. + - Authenticate using either a config file, certificates, password or token. + - Supports check mode. + - This module was called C(k8s_facts) before Ansible 2.9. The usage did not change. + +options: + api_version: + description: + - Use to specify the API version. in conjunction with I(kind), I(name), and I(namespace) to identify a + specific object. + default: v1 + aliases: + - api + - version + kind: + description: + - Use to specify an object model. Use in conjunction with I(api_version), I(name), and I(namespace) to identify a + specific object. + required: yes + name: + description: + - Use to specify an object name. Use in conjunction with I(api_version), I(kind) and I(namespace) to identify a + specific object. + namespace: + description: + - Use to specify an object namespace. Use in conjunction with I(api_version), I(kind), and I(name) + to identify a specific object. + label_selectors: + description: List of label selectors to use to filter results + field_selectors: + description: List of field selectors to use to filter results + +extends_documentation_fragment: + - k8s_auth_options + +requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" +''' + +EXAMPLES = ''' +- name: Get an existing Service object + k8s_info: + api_version: v1 + kind: Service + name: web + namespace: testing + register: web_service + +- name: Get a list of all service objects + k8s_info: + api_version: v1 + kind: Service + namespace: testing + register: service_list + +- name: Get a list of all pods from any namespace + k8s_info: + kind: Pod + register: pod_list + +- name: Search for all Pods labelled app=web + k8s_info: + kind: Pod + label_selectors: + - app = web + - tier in (dev, test) + +- name: Search for all running pods + k8s_info: + kind: Pod + field_selectors: + - status.phase=Running +''' + +RETURN = ''' +resources: + description: + - The object(s) that exists + returned: success + type: complex + contains: + api_version: + description: The versioned schema of this representation of an object. + returned: success + type: str + kind: + description: Represents the REST resource this object represents. + returned: success + type: str + metadata: + description: Standard object metadata. Includes name, namespace, annotations, labels, etc. + returned: success + type: dict + spec: + description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). + returned: success + type: dict + status: + description: Current status details for the object. + returned: success + type: dict +''' + + +from ansible.module_utils.k8s.common import KubernetesAnsibleModule, AUTH_ARG_SPEC +import copy + + +class KubernetesInfoModule(KubernetesAnsibleModule): + + def __init__(self, *args, **kwargs): + KubernetesAnsibleModule.__init__(self, *args, + supports_check_mode=True, + **kwargs) + if self._name == 'k8s_facts': + self.deprecate("The 'k8s_facts' module has been renamed to 'k8s_info'", version='2.13') + + def execute_module(self): + self.client = self.get_api_client() + + self.exit_json(changed=False, + **self.kubernetes_facts(self.params['kind'], + self.params['api_version'], + self.params['name'], + self.params['namespace'], + self.params['label_selectors'], + self.params['field_selectors'])) + + @property + def argspec(self): + args = copy.deepcopy(AUTH_ARG_SPEC) + args.update( + dict( + kind=dict(required=True), + api_version=dict(default='v1', aliases=['api', 'version']), + name=dict(), + namespace=dict(), + label_selectors=dict(type='list', default=[]), + field_selectors=dict(type='list', default=[]), + ) + ) + return args + + +def main(): + KubernetesInfoModule().execute_module() + + +if __name__ == '__main__': + main() diff --git a/plugins/modules/k8s_scale.py b/plugins/modules/k8s_scale.py new file mode 100644 index 00000000..2afb0f95 --- /dev/null +++ b/plugins/modules/k8s_scale.py @@ -0,0 +1,129 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# (c) 2018, Chris Houseknecht <@chouseknecht> +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' + +module: k8s_scale + +short_description: Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job. + +version_added: "2.5" + +author: + - "Chris Houseknecht (@chouseknecht)" + - "Fabian von Feilitzsch (@fabianvf)" + +description: + - Similar to the kubectl scale command. Use to set the number of replicas for a Deployment, ReplicaSet, + or Replication Controller, or the parallelism attribute of a Job. Supports check mode. + +extends_documentation_fragment: + - k8s_name_options + - k8s_auth_options + - k8s_resource_options + - k8s_scale_options + +requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" +''' + +EXAMPLES = ''' +- name: Scale deployment up, and extend timeout + k8s_scale: + api_version: v1 + kind: Deployment + name: elastic + namespace: myproject + replicas: 3 + wait_timeout: 60 + +- name: Scale deployment down when current replicas match + k8s_scale: + api_version: v1 + kind: Deployment + name: elastic + namespace: myproject + current_replicas: 3 + replicas: 2 + +- name: Increase job parallelism + k8s_scale: + api_version: batch/v1 + kind: job + name: pi-with-timeout + namespace: testing + replicas: 2 + +# Match object using local file or inline definition + +- name: Scale deployment based on a file from the local filesystem + k8s_scale: + src: /myproject/elastic_deployment.yml + replicas: 3 + wait: no + +- name: Scale deployment based on a template output + k8s_scale: + resource_definition: "{{ lookup('template', '/myproject/elastic_deployment.yml') | from_yaml }}" + replicas: 3 + wait: no + +- name: Scale deployment based on a file from the Ansible controller filesystem + k8s_scale: + resource_definition: "{{ lookup('file', '/myproject/elastic_deployment.yml') | from_yaml }}" + replicas: 3 + wait: no +''' + +RETURN = ''' +result: + description: + - If a change was made, will return the patched object, otherwise returns the existing object. + returned: success + type: complex + contains: + api_version: + description: The versioned schema of this representation of an object. + returned: success + type: str + kind: + description: Represents the REST resource this object represents. + returned: success + type: str + metadata: + description: Standard object metadata. Includes name, namespace, annotations, labels, etc. + returned: success + type: complex + spec: + description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). + returned: success + type: complex + status: + description: Current status details for the object. + returned: success + type: complex +''' + +from ansible.module_utils.k8s.scale import KubernetesAnsibleScaleModule + + +def main(): + KubernetesAnsibleScaleModule().execute_module() + + +if __name__ == '__main__': + main() diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py new file mode 100644 index 00000000..82a89828 --- /dev/null +++ b/plugins/modules/k8s_service.py @@ -0,0 +1,267 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright (c) 2018, KubeVirt Team <@kubevirt> +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +__metaclass__ = type + + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' + +module: k8s_service + +short_description: Manage Services on Kubernetes + +version_added: "2.8" + +author: KubeVirt Team (@kubevirt) + +description: + - Use Openshift Python SDK to manage Services on Kubernetes + +extends_documentation_fragment: + - k8s_auth_options + +options: + resource_definition: + description: + - A partial YAML definition of the Service object being created/updated. Here you can define Kubernetes + Service Resource parameters not covered by this module's parameters. + - "NOTE: I(resource_definition) has lower priority than module parameters. If you try to define e.g. + I(metadata.namespace) here, that value will be ignored and I(metadata) used instead." + aliases: + - definition + - inline + type: dict + state: + description: + - Determines if an object should be created, patched, or deleted. When set to C(present), an object will be + created, if it does not already exist. If set to C(absent), an existing object will be deleted. If set to + C(present), an existing object will be patched, if its attributes differ from those specified using + module options and I(resource_definition). + default: present + choices: + - present + - absent + force: + description: + - If set to C(True), and I(state) is C(present), an existing object will be replaced. + default: false + type: bool + merge_type: + description: + - Whether to override the default patch merge approach with a specific type. By default, the strategic + merge will typically be used. + - For example, Custom Resource Definitions typically aren't updatable by the usual strategic merge. You may + want to use C(merge) if you see "strategic merge patch format is not supported" + - See U(https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment) + - Requires openshift >= 0.6.2 + - If more than one merge_type is given, the merge_types will be tried in order + - If openshift >= 0.6.2, this defaults to C(['strategic-merge', 'merge']), which is ideal for using the same parameters + on resource kinds that combine Custom Resources and built-in resources. For openshift < 0.6.2, the default + is simply C(strategic-merge). + choices: + - json + - merge + - strategic-merge + type: list + name: + description: + - Use to specify a Service object name. + required: true + type: str + namespace: + description: + - Use to specify a Service object namespace. + required: true + type: str + type: + description: + - Specifies the type of Service to create. + - See U(https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) + choices: + - NodePort + - ClusterIP + - LoadBalancer + - ExternalName + ports: + description: + - A list of ports to expose. + - U(https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services) + type: list + selector: + description: + - Label selectors identify objects this Service should apply to. + - U(https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) + type: dict + +requirements: + - python >= 2.7 + - openshift >= 0.6.2 +''' + +EXAMPLES = ''' +- name: Expose https port with ClusterIP + k8s_service: + state: present + name: test-https + namespace: default + ports: + - port: 443 + protocol: TCP + selector: + key: special + +- name: Expose https port with ClusterIP using spec + k8s_service: + state: present + name: test-https + namespace: default + inline: + spec: + ports: + - port: 443 + protocol: TCP + selector: + key: special +''' + +RETURN = ''' +result: + description: + - The created, patched, or otherwise present Service object. Will be empty in the case of a deletion. + returned: success + type: complex + contains: + api_version: + description: The versioned schema of this representation of an object. + returned: success + type: str + kind: + description: Always 'Service'. + returned: success + type: str + metadata: + description: Standard object metadata. Includes name, namespace, annotations, labels, etc. + returned: success + type: complex + spec: + description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). + returned: success + type: complex + status: + description: Current status details for the object. + returned: success + type: complex +''' + +import copy +import traceback + +from collections import defaultdict + +from ansible.module_utils.k8s.common import AUTH_ARG_SPEC, COMMON_ARG_SPEC +from ansible.module_utils.k8s.raw import KubernetesRawModule + + +SERVICE_ARG_SPEC = { + 'state': { + 'default': 'present', + 'choices': ['present', 'absent'], + }, + 'force': { + 'type': 'bool', + 'default': False, + }, + 'resource_definition': { + 'type': 'dict', + 'aliases': ['definition', 'inline'] + }, + 'name': {'required': True}, + 'namespace': {'required': True}, + 'merge_type': {'type': 'list', 'choices': ['json', 'merge', 'strategic-merge']}, + 'selector': {'type': 'dict'}, + 'type': { + 'type': 'str', + 'choices': [ + 'NodePort', 'ClusterIP', 'LoadBalancer', 'ExternalName' + ], + }, + 'ports': {'type': 'list'}, +} + + +class KubernetesService(KubernetesRawModule): + def __init__(self, *args, **kwargs): + super(KubernetesService, self).__init__(*args, k8s_kind='Service', **kwargs) + + @staticmethod + def merge_dicts(x, y): + for k in set(x.keys()).union(y.keys()): + if k in x and k in y: + if isinstance(x[k], dict) and isinstance(y[k], dict): + yield (k, dict(KubernetesService.merge_dicts(x[k], y[k]))) + else: + yield (k, y[k]) + elif k in x: + yield (k, x[k]) + else: + yield (k, y[k]) + + @property + def argspec(self): + """ argspec property builder """ + argument_spec = copy.deepcopy(AUTH_ARG_SPEC) + argument_spec.update(SERVICE_ARG_SPEC) + return argument_spec + + def execute_module(self): + """ Module execution """ + self.client = self.get_api_client() + + api_version = 'v1' + selector = self.params.get('selector') + service_type = self.params.get('type') + ports = self.params.get('ports') + + definition = defaultdict(defaultdict) + + definition['kind'] = 'Service' + definition['apiVersion'] = api_version + + def_spec = definition['spec'] + def_spec['type'] = service_type + def_spec['ports'] = ports + def_spec['selector'] = selector + + def_meta = definition['metadata'] + def_meta['name'] = self.params.get('name') + def_meta['namespace'] = self.params.get('namespace') + + # 'resource_definition:' has lower priority than module parameters + definition = dict(self.merge_dicts(self.resource_definitions[0], definition)) + + resource = self.find_resource('Service', api_version, fail=True) + definition = self.set_defaults(resource, definition) + result = self.perform_action(resource, definition) + + self.exit_json(**result) + + +def main(): + module = KubernetesService() + try: + module.execute_module() + except Exception as e: + module.fail_json(msg=str(e), exception=traceback.format_exc()) + + +if __name__ == '__main__': + main() diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index be9925fe..00000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -https://github.com/openshift/openshift-restclient-python/archive/master.tar.gz#egg=openshift diff --git a/tasks/main.yml b/tasks/main.yml deleted file mode 100644 index 55c73ccf..00000000 --- a/tasks/main.yml +++ /dev/null @@ -1,10 +0,0 @@ -# tasks/main.yml ---- - -- name: Install latest openshift client - pip: - name: https://github.com/openshift/openshift-restclient-python/archive/master.tar.gz - state: latest - virtualenv: "{{ virtualenv }}" - when: install_python_requirements - diff --git a/test/integration/targets/k8s/k8s/README.md b/test/integration/targets/k8s/k8s/README.md new file mode 100644 index 00000000..7cb72b16 --- /dev/null +++ b/test/integration/targets/k8s/k8s/README.md @@ -0,0 +1,23 @@ +Wait tests +---------- + +wait tests require at least one node, and don't work on the normal k8s +openshift-origin container as provided by ansible-test --docker -v k8s + +minikube, Kubernetes from Docker or any other Kubernetes service will +suffice. + +If kubectl is already using the right config file and context, you can +just do + +``` +cd test/integration/targets/k8s +./runme.sh -vv +``` + +otherwise set one or both of `K8S_AUTH_KUBECONFIG` and `K8S_AUTH_CONTEXT` +and use the same command + + + + diff --git a/test/integration/targets/k8s/k8s/aliases b/test/integration/targets/k8s/k8s/aliases new file mode 100644 index 00000000..326e6910 --- /dev/null +++ b/test/integration/targets/k8s/k8s/aliases @@ -0,0 +1,2 @@ +cloud/openshift +shippable/cloud/group1 diff --git a/test/integration/targets/k8s/k8s/defaults/main.yml b/test/integration/targets/k8s/k8s/defaults/main.yml new file mode 100644 index 00000000..68fde7c4 --- /dev/null +++ b/test/integration/targets/k8s/k8s/defaults/main.yml @@ -0,0 +1,32 @@ +recreate_crd_default_merge_expectation: recreate_crd is not failed + +k8s_pod_metadata: + labels: + app: "{{ k8s_pod_name }}" + +k8s_pod_spec: + containers: + - image: "{{ k8s_pod_image }}" + imagePullPolicy: Always + name: "{{ k8s_pod_name }}" + command: "{{ k8s_pod_command }}" + readinessProbe: + initialDelaySeconds: 15 + exec: + command: + - /bin/true + resources: + limits: + cpu: "100m" + memory: "100Mi" + ports: "{{ k8s_pod_ports }}" + +k8s_pod_command: [] + +k8s_pod_ports: [] + +k8s_pod_template: + metadata: "{{ k8s_pod_metadata }}" + spec: "{{ k8s_pod_spec }}" + +k8s_openshift: yes diff --git a/test/integration/targets/k8s/k8s/files/crd-resource.yml b/test/integration/targets/k8s/k8s/files/crd-resource.yml new file mode 100644 index 00000000..9804d4d1 --- /dev/null +++ b/test/integration/targets/k8s/k8s/files/crd-resource.yml @@ -0,0 +1,20 @@ +apiVersion: certmanager.k8s.io/v1alpha1 +kind: Certificate +metadata: + name: acme-crt +spec: + secretName: acme-crt-secret + dnsNames: + - foo.example.com + - bar.example.com + acme: + config: + - ingressClass: nginx + domains: + - foo.example.com + - bar.example.com + issuerRef: + name: letsencrypt-prod + # We can reference ClusterIssuers by changing the kind here. + # The default value is Issuer (i.e. a locally namespaced Issuer) + kind: Issuer diff --git a/test/integration/targets/k8s/k8s/files/kuard-extra-property.yml b/test/integration/targets/k8s/k8s/files/kuard-extra-property.yml new file mode 100644 index 00000000..2d5b7994 --- /dev/null +++ b/test/integration/targets/k8s/k8s/files/kuard-extra-property.yml @@ -0,0 +1,21 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: kuard + name: kuard + namespace: default +spec: + replicas: 3 + selector: + matchLabels: + app: kuard + unwanted: value + template: + metadata: + labels: + app: kuard + spec: + containers: + - image: gcr.io/kuar-demo/kuard-amd64:1 + name: kuard diff --git a/test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml b/test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml new file mode 100644 index 00000000..7a5f73d9 --- /dev/null +++ b/test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml @@ -0,0 +1,20 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + labels: + app: kuard + name: kuard + namespace: default +spec: + replicas: hello + selector: + matchLabels: + app: kuard + template: + metadata: + labels: + app: kuard + spec: + containers: + - image: gcr.io/kuar-demo/kuard-amd64:1 + name: kuard diff --git a/test/integration/targets/k8s/k8s/files/setup-crd.yml b/test/integration/targets/k8s/k8s/files/setup-crd.yml new file mode 100644 index 00000000..a8e2d51e --- /dev/null +++ b/test/integration/targets/k8s/k8s/files/setup-crd.yml @@ -0,0 +1,14 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: certificates.certmanager.k8s.io +spec: + group: certmanager.k8s.io + version: v1alpha1 + scope: Namespaced + names: + kind: Certificate + plural: certificates + shortNames: + - cert + - certs diff --git a/test/integration/targets/k8s/k8s/meta/main.yml b/test/integration/targets/k8s/k8s/meta/main.yml new file mode 100644 index 00000000..1810d4be --- /dev/null +++ b/test/integration/targets/k8s/k8s/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - setup_remote_tmp_dir diff --git a/test/integration/targets/k8s/k8s/tasks/append_hash.yml b/test/integration/targets/k8s/k8s/tasks/append_hash.yml new file mode 100644 index 00000000..876e876a --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/append_hash.yml @@ -0,0 +1,68 @@ +- block: + - name: Ensure that append_hash namespace exists + k8s: + kind: Namespace + name: append-hash + + - name: create k8s_resource variable + set_fact: + k8s_resource: + metadata: + name: config-map-test + namespace: append-hash + apiVersion: v1 + kind: ConfigMap + data: + hello: world + + - name: Create config map + k8s: + definition: "{{ k8s_resource }}" + append_hash: yes + register: k8s_configmap1 + + - name: check configmap is created with a hash + assert: + that: + - k8s_configmap1 is changed + - k8s_configmap1.result.metadata.name != 'config-map-test' + - k8s_configmap1.result.metadata.name[:-10] == 'config-map-test-' + + - name: recreate same config map + k8s: + definition: "{{ k8s_resource }}" + append_hash: yes + register: k8s_configmap2 + + - name: check configmaps are different + assert: + that: + - k8s_configmap2 is not changed + - k8s_configmap1.result.metadata.name == k8s_configmap2.result.metadata.name + + - name: add key to config map + k8s: + definition: + metadata: + name: config-map-test + namespace: append-hash + apiVersion: v1 + kind: ConfigMap + data: + hello: world + another: value + append_hash: yes + register: k8s_configmap3 + + - name: check configmaps are different + assert: + that: + - k8s_configmap3 is changed + - k8s_configmap1.result.metadata.name != k8s_configmap3.result.metadata.name + + always: + - name: ensure that namespace is removed + k8s: + kind: Namespace + name: append-hash + state: absent diff --git a/test/integration/targets/k8s/k8s/tasks/apply.yml b/test/integration/targets/k8s/k8s/tasks/apply.yml new file mode 100644 index 00000000..abfda06a --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/apply.yml @@ -0,0 +1,191 @@ +- block: + - python_requirements_info: + dependencies: + - openshift + - kubernetes + + - set_fact: + apply_namespace: apply + + - name: ensure namespace exists + k8s: + definition: + apiVersion: v1 + kind: Namespace + metadata: + name: "{{ apply_namespace }}" + + - name: add a configmap + k8s: + name: "apply-configmap" + namespace: "{{ apply_namespace }}" + definition: + kind: ConfigMap + apiVersion: v1 + data: + one: "1" + two: "2" + three: "3" + apply: yes + register: k8s_configmap + + - name: check configmap was created + assert: + that: + - k8s_configmap is changed + - k8s_configmap.result.metadata.annotations|default(False) + + - name: add same configmap again + k8s: + definition: + kind: ConfigMap + apiVersion: v1 + metadata: + name: "apply-configmap" + namespace: "{{ apply_namespace }}" + data: + one: "1" + two: "2" + three: "3" + apply: yes + register: k8s_configmap_2 + + - name: check nothing changed + assert: + that: + - k8s_configmap_2 is not changed + + - name: add same configmap again with check mode on + k8s: + definition: + kind: ConfigMap + apiVersion: v1 + metadata: + name: "apply-configmap" + namespace: "{{ apply_namespace }}" + data: + one: "1" + two: "2" + three: "3" + apply: yes + check_mode: yes + register: k8s_configmap_check + + - name: check nothing changed + assert: + that: + - k8s_configmap_check is not changed + + - name: add same configmap again but using name and namespace args + k8s: + name: "apply-configmap" + namespace: "{{ apply_namespace }}" + definition: + kind: ConfigMap + apiVersion: v1 + data: + one: "1" + two: "2" + three: "3" + apply: yes + register: k8s_configmap_2a + + - name: check nothing changed + assert: + that: + - k8s_configmap_2a is not changed + + - name: update configmap + k8s: + definition: + kind: ConfigMap + apiVersion: v1 + metadata: + name: "apply-configmap" + namespace: "{{ apply_namespace }}" + data: + one: "1" + three: "3" + four: "4" + apply: yes + register: k8s_configmap_3 + + - name: ensure that configmap has been correctly updated + assert: + that: + - k8s_configmap_3 is changed + - "'four' in k8s_configmap_3.result.data" + - "'two' not in k8s_configmap_3.result.data" + + - name: add a service + k8s: + definition: + apiVersion: v1 + kind: Service + metadata: + name: apply-svc + namespace: "{{ apply_namespace }}" + spec: + selector: + app: whatever + ports: + - name: http + port: 8080 + targetPort: 8080 + apply: yes + register: k8s_service + + - name: add exactly same service + k8s: + definition: + apiVersion: v1 + kind: Service + metadata: + name: apply-svc + namespace: "{{ apply_namespace }}" + spec: + selector: + app: whatever + ports: + - name: http + port: 8080 + targetPort: 8080 + apply: yes + register: k8s_service_2 + + - name: check nothing changed + assert: + that: + - k8s_service_2 is not changed + + - name: change service ports + k8s: + definition: + apiVersion: v1 + kind: Service + metadata: + name: apply-svc + namespace: "{{ apply_namespace }}" + spec: + selector: + app: whatever + ports: + - name: http + port: 8081 + targetPort: 8081 + apply: yes + register: k8s_service_3 + + - name: check ports are correct + assert: + that: + - k8s_service_3 is changed + - k8s_service_3.result.spec.ports | length == 1 + - k8s_service_3.result.spec.ports[0].port == 8081 + + always: + - name: remove namespace + k8s: + kind: Namespace + name: "{{ apply_namespace }}" + state: absent diff --git a/test/integration/targets/k8s/k8s/tasks/crd.yml b/test/integration/targets/k8s/k8s/tasks/crd.yml new file mode 100644 index 00000000..c9e47632 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/crd.yml @@ -0,0 +1,71 @@ +# TODO: This is the only way I could get the kubeconfig, I don't know why. Running the lookup outside of debug seems to return an empty string +#- debug: msg={{ lookup('env', 'K8S_AUTH_KUBECONFIG') }} +# register: kubeconfig + +# Kubernetes resources + +- block: + - name: Create a namespace + k8s: + name: crd + kind: Namespace + + - name: install custom resource definitions + k8s: + definition: "{{ lookup('file', role_path + '/files/setup-crd.yml') }}" + + - name: pause 5 seconds to avoid race condition + pause: + seconds: 5 + + - name: create custom resource definition + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + namespace: crd + apply: "{{ create_crd_with_apply | default(omit) }}" + register: create_crd + + - name: patch custom resource definition + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + namespace: crd + register: recreate_crd + ignore_errors: yes + + - name: assert that recreating crd is as expected + assert: + that: + - recreate_crd_default_merge_expectation + + - block: + - name: recreate custom resource definition with merge_type + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + merge_type: merge + namespace: crd + register: recreate_crd_with_merge + + - name: recreate custom resource definition with merge_type list + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + merge_type: + - strategic-merge + - merge + namespace: crd + register: recreate_crd_with_merge_list + when: recreate_crd is successful + + + - name: remove crd + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + namespace: crd + state: absent + + always: + - name: remove crd namespace + k8s: + kind: Namespace + name: crd + state: absent + ignore_errors: yes diff --git a/test/integration/targets/k8s/k8s/tasks/delete.yml b/test/integration/targets/k8s/k8s/tasks/delete.yml new file mode 100644 index 00000000..fef6e5e9 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/delete.yml @@ -0,0 +1,101 @@ +- name: ensure that there are actually some nodes + k8s_info: + kind: Node + register: nodes + +- block: + - set_fact: + delete_namespace: delete + + - name: ensure namespace exists + k8s: + definition: + apiVersion: v1 + kind: Namespace + metadata: + name: "{{ delete_namespace }}" + + - name: add a daemonset + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: DaemonSet + metadata: + name: delete-daemonset + namespace: "{{ delete_namespace }}" + spec: + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + template: "{{ k8s_pod_template }}" + wait: yes + wait_timeout: 180 + vars: + k8s_pod_name: delete-ds + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:1 + register: ds + + - name: check that daemonset wait worked + assert: + that: + - ds.result.status.currentNumberScheduled == ds.result.status.desiredNumberScheduled + + - name: check if pods exist + k8s_info: + namespace: "{{ delete_namespace }}" + kind: Pod + label_selectors: + - "app={{ k8s_pod_name }}" + vars: + k8s_pod_name: delete-ds + register: pods_create + + - name: assert that there are pods + assert: + that: + - pods_create.resources + + - name: remove the daemonset + k8s: + kind: DaemonSet + name: delete-daemonset + namespace: "{{ delete_namespace }}" + state: absent + wait: yes + + - name: show status of pods + k8s_info: + namespace: "{{ delete_namespace }}" + kind: Pod + label_selectors: + - "app={{ k8s_pod_name }}" + vars: + k8s_pod_name: delete-ds + + - name: wait for background deletion + pause: + seconds: 30 + + - name: check if pods still exist + k8s_info: + namespace: "{{ delete_namespace }}" + kind: Pod + label_selectors: + - "app={{ k8s_pod_name }}" + vars: + k8s_pod_name: delete-ds + register: pods_delete + + - name: assert that deleting the daemonset deleted the pods + assert: + that: + - not pods_delete.resources + + always: + - name: remove namespace + k8s: + kind: Namespace + name: "{{ delete_namespace }}" + state: absent + + when: (nodes.resources | length) > 0 diff --git a/test/integration/targets/k8s/k8s/tasks/full_test.yml b/test/integration/targets/k8s/k8s/tasks/full_test.yml new file mode 100644 index 00000000..fdf3d700 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/full_test.yml @@ -0,0 +1,375 @@ +# TODO: This is the only way I could get the kubeconfig, I don't know why. Running the lookup outside of debug seems to return an empty string +#- debug: msg={{ lookup('env', 'K8S_AUTH_KUBECONFIG') }} +# register: kubeconfig + +# Kubernetes resources + +- include_tasks: delete.yml +- include_tasks: apply.yml +- include_tasks: waiter.yml + +- block: + - name: Create a namespace + k8s: + name: testing + kind: Namespace + register: output + + - name: show output + debug: + var: output + + - name: Setting validate_certs to true causes a failure + k8s: + name: testing + kind: Namespace + validate_certs: yes + ignore_errors: yes + register: output + + - name: assert that validate_certs caused a failure (and therefore was correctly translated to verify_ssl) + assert: + that: + - output is failed + + - name: k8s_info works with empty resources + k8s_info: + kind: Deployment + namespace: testing + api_version: extensions/v1beta1 + register: k8s_info + + - name: assert that k8s_info is in correct format + assert: + that: + - "'resources' in k8s_info" + - not k8s_info.resources + + - name: Create a service + k8s: + state: present + resource_definition: &svc + apiVersion: v1 + kind: Service + metadata: + name: web + namespace: testing + labels: + app: galaxy + service: web + spec: + selector: + app: galaxy + service: web + ports: + - protocol: TCP + targetPort: 8000 + name: port-8000-tcp + port: 8000 + register: output + + - name: show output + debug: + var: output + + - name: Create the service again + k8s: + state: present + resource_definition: *svc + register: output + + - name: Service creation should be idempotent + assert: + that: not output.changed + + - name: Create a ConfigMap + k8s: + kind: ConfigMap + name: test-force-update + namespace: testing + definition: + data: + key: value + + - name: Force update ConfigMap + k8s: + kind: ConfigMap + name: test-force-update + namespace: testing + definition: + data: + key: newvalue + force: yes + + - name: Create PVC + k8s: + state: present + inline: &pvc + apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + name: elastic-volume + namespace: testing + spec: + resources: + requests: + storage: 5Gi + accessModes: + - ReadWriteOnce + + - name: Show output + debug: + var: output + + - name: Create the PVC again + k8s: + state: present + inline: *pvc + + - name: PVC creation should be idempotent + assert: + that: not output.changed + + - name: Create deployment + k8s: + state: present + inline: &deployment + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + name: elastic + labels: + app: galaxy + service: elastic + namespace: testing + spec: + template: + metadata: + labels: + app: galaxy + service: elastic + spec: + containers: + - name: elastic + volumeMounts: + - mountPath: /usr/share/elasticsearch/data + name: elastic-volume + command: ['elasticsearch'] + image: 'ansible/galaxy-elasticsearch:2.4.6' + volumes: + - name: elastic-volume + persistentVolumeClaim: + claimName: elastic-volume + replicas: 1 + strategy: + type: RollingUpdate + register: output + + - name: Show output + debug: + var: output + + - name: Create deployment again + k8s: + state: present + inline: *deployment + register: output + + - name: Deployment creation should be idempotent + assert: + that: not output.changed + + - debug: + var: k8s_openshift + + - include: openshift.yml + when: k8s_openshift | bool + + ### Type tests + - name: Create a namespace from a string + k8s: + definition: |+ + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing1 + + - name: Namespace should exist + k8s_info: + kind: Namespace + api_version: v1 + name: testing1 + register: k8s_info_testing1 + failed_when: not k8s_info_testing1.resources or k8s_info_testing1.resources[0].status.phase != "Active" + + - name: Create resources from a multidocument yaml string + k8s: + definition: |+ + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing2 + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing3 + + - name: Lookup namespaces + k8s_info: + api_version: v1 + kind: Namespace + name: "{{ item }}" + loop: + - testing2 + - testing3 + register: k8s_namespaces + + - name: Resources should exist + assert: + that: item.resources[0].status.phase == 'Active' + loop: "{{ k8s_namespaces.results }}" + + - name: Delete resources from a multidocument yaml string + k8s: + state: absent + definition: |+ + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing2 + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing3 + + - name: Lookup namespaces + k8s_info: + api_version: v1 + kind: Namespace + name: "{{ item }}" + loop: + - testing2 + - testing3 + register: k8s_namespaces + + - name: Resources should not exist + assert: + that: + - not item.resources or item.resources[0].status.phase == "Terminating" + loop: "{{ k8s_namespaces.results }}" + + - name: Create resources from a list + k8s: + definition: + - kind: Namespace + apiVersion: v1 + metadata: + name: testing4 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing5 + + - name: Lookup namespaces + k8s_info: + api_version: v1 + kind: Namespace + name: "{{ item }}" + loop: + - testing4 + - testing5 + register: k8s_namespaces + + - name: Resources should exist + assert: + that: item.resources[0].status.phase == 'Active' + loop: "{{ k8s_namespaces.results }}" + + - name: Delete resources from a list + k8s: + state: absent + definition: + - kind: Namespace + apiVersion: v1 + metadata: + name: testing4 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing5 + + - k8s_info: + api_version: v1 + kind: Namespace + name: "{{ item }}" + loop: + - testing4 + - testing5 + register: k8s_info + + - name: Resources are terminating if still in results + assert: + that: not item.resources or item.resources[0].status.phase == "Terminating" + loop: "{{ k8s_info.results }}" + + - name: Create resources from a yaml string ending with --- + k8s: + definition: |+ + --- + kind: Namespace + apiVersion: v1 + metadata: + name: testing6 + --- + + - name: Namespace should exist + k8s_info: + kind: Namespace + api_version: v1 + name: testing6 + register: k8s_info_testing6 + failed_when: not k8s_info_testing6.resources or k8s_info_testing6.resources[0].status.phase != "Active" + + - include_tasks: crd.yml + - include_tasks: lists.yml + - include_tasks: append_hash.yml + + always: + - name: Delete all namespaces + k8s: + state: absent + definition: + - kind: Namespace + apiVersion: v1 + metadata: + name: testing + - kind: Namespace + apiVersion: v1 + metadata: + name: testing1 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing2 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing3 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing4 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing5 + - kind: Namespace + apiVersion: v1 + metadata: + name: testing6 + ignore_errors: yes diff --git a/test/integration/targets/k8s/k8s/tasks/lists.yml b/test/integration/targets/k8s/k8s/tasks/lists.yml new file mode 100644 index 00000000..4d464df7 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/lists.yml @@ -0,0 +1,140 @@ +--- + +- name: Ensure testing1 namespace exists + k8s: + api_version: v1 + kind: Namespace + name: testing1 + +- block: + - name: Create configmaps + k8s: + namespace: testing1 + definition: + apiVersion: v1 + kind: ConfigMapList + items: '{{ configmaps }}' + + - name: Get ConfigMaps + k8s_info: + api_version: v1 + kind: ConfigMap + namespace: testing1 + label_selectors: + - app=test + register: cms + + - name: All three configmaps should exist + assert: + that: item.data.a is defined + with_items: '{{ cms.resources }}' + + - name: Delete configmaps + k8s: + state: absent + namespace: testing1 + definition: + apiVersion: v1 + kind: ConfigMapList + items: '{{ configmaps }}' + + - name: Get ConfigMaps + k8s_info: + api_version: v1 + kind: ConfigMap + namespace: testing1 + label_selectors: + - app=test + register: cms + + - name: All three configmaps should not exist + assert: + that: not cms.resources + vars: + configmaps: + - metadata: + name: list-example-1 + labels: + app: test + data: + a: first + - metadata: + name: list-example-2 + labels: + app: test + data: + a: second + - metadata: + name: list-example-3 + labels: + app: test + data: + a: third + +- block: + - name: Create list of arbitrary resources + k8s: + namespace: testing1 + definition: + apiVersion: v1 + kind: List + namespace: testing1 + items: '{{ resources }}' + + - name: Get the created resources + k8s_info: + api_version: '{{ item.apiVersion }}' + kind: '{{ item.kind }}' + namespace: testing1 + name: '{{ item.metadata.name }}' + register: list_resources + with_items: '{{ resources }}' + + - name: All resources should exist + assert: + that: ((list_resources.results | sum(attribute="resources", start=[])) | length) == (resources | length) + + - name: Delete list of arbitrary resources + k8s: + state: absent + namespace: testing1 + definition: + apiVersion: v1 + kind: List + namespace: testing1 + items: '{{ resources }}' + + - name: Get the resources + k8s_info: + api_version: '{{ item.apiVersion }}' + kind: '{{ item.kind }}' + namespace: testing1 + name: '{{ item.metadata.name }}' + register: list_resources + with_items: '{{ resources }}' + + - name: The resources should not exist + assert: + that: not ((list_resources.results | sum(attribute="resources", start=[])) | length) + vars: + resources: + - apiVersion: v1 + kind: ConfigMap + metadata: + name: list-example-4 + data: + key: value + - apiVersion: v1 + kind: Service + metadata: + name: list-example-svc + labels: + app: test + spec: + selector: + app: test + ports: + - protocol: TCP + targetPort: 8000 + name: port-8000-tcp + port: 8000 diff --git a/test/integration/targets/k8s/k8s/tasks/main.yml b/test/integration/targets/k8s/k8s/tasks/main.yml new file mode 100644 index 00000000..bb11bbc6 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/main.yml @@ -0,0 +1,92 @@ +- set_fact: + virtualenv: "{{ remote_tmp_dir }}/virtualenv" + virtualenv_command: "{{ ansible_python_interpreter }} -m virtualenv" + +- set_fact: + virtualenv_interpreter: "{{ virtualenv }}/bin/python" + +- pip: + name: virtualenv + +# Test graceful failure for missing kubernetes-validate + +- pip: + name: + - openshift>=0.9.2 + - coverage + virtualenv: "{{ virtualenv }}" + virtualenv_command: "{{ virtualenv_command }}" + virtualenv_site_packages: no + +- include_tasks: validate_not_installed.yml + vars: + ansible_python_interpreter: "{{ virtualenv_interpreter }}" + +- file: + path: "{{ virtualenv }}" + state: absent + no_log: yes + +# Test validate with kubernetes-validate + +- pip: + name: + - kubernetes-validate==1.12.0 + - openshift>=0.9.2 + - coverage + virtualenv: "{{ virtualenv }}" + virtualenv_command: "{{ virtualenv_command }}" + virtualenv_site_packages: no + +- include_tasks: validate_installed.yml + vars: + ansible_python_interpreter: "{{ virtualenv_interpreter }}" + playbook_namespace: ansible-test-k8s-validate + +- file: + path: "{{ virtualenv }}" + state: absent + no_log: yes + +# Test graceful failure for older versions of openshift + +- pip: + name: + - openshift==0.6.0 + - kubernetes==6.0.0 + - coverage + virtualenv: "{{ virtualenv }}" + virtualenv_command: "{{ virtualenv_command }}" + virtualenv_site_packages: no + +- include_tasks: older_openshift_fail.yml + vars: + ansible_python_interpreter: "{{ virtualenv_interpreter }}" + recreate_crd_default_merge_expectation: recreate_crd is failed + playbook_namespace: ansible-test-k8s-older-openshift + +- file: + path: "{{ virtualenv }}" + state: absent + no_log: yes + +# Run full test suite + +- pip: + name: + - openshift>=0.9.2 + - coverage + virtualenv: "{{ virtualenv }}" + virtualenv_command: "{{ virtualenv_command }}" + virtualenv_site_packages: no + +- include_tasks: full_test.yml + vars: + ansible_python_interpreter: "{{ virtualenv_interpreter }}" + create_crd_with_apply: no + playbook_namespace: ansible-test-k8s-full + +- file: + path: "{{ virtualenv }}" + state: absent + no_log: yes diff --git a/test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml b/test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml new file mode 100644 index 00000000..2acf3d21 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml @@ -0,0 +1,69 @@ + - python_requirements_info: + dependencies: + - openshift==0.6.0 + - kubernetes==6.0.0 + + # append_hash + - name: use append_hash with ConfigMap + k8s: + definition: + metadata: + name: config-map-test + namespace: "{{ playbook_namespace }}" + apiVersion: v1 + kind: ConfigMap + data: + hello: world + append_hash: yes + ignore_errors: yes + register: k8s_append_hash + + - name: assert that append_hash fails gracefully + assert: + that: + - k8s_append_hash is failed + - "'Failed to import the required Python library (openshift >= 0.7.2)' in k8s_append_hash.msg" + - "'. This is required for append_hash.' in k8s_append_hash.msg" + + # validate + - name: attempt to use validate with older openshift + k8s: + definition: + metadata: + name: config-map-test + namespace: "{{ playbook_namespace }}" + apiVersion: v1 + kind: ConfigMap + data: + hello: world + validate: + fail_on_error: yes + ignore_errors: yes + register: k8s_validate + + - name: assert that validate fails gracefully + assert: + that: + - k8s_validate is failed + - "k8s_validate.msg == 'openshift >= 0.8.0 is required for validate'" + + # apply + - name: attempt to use apply with older openshift + k8s: + definition: + metadata: + name: config-map-test + namespace: "{{ playbook_namespace }}" + apiVersion: v1 + kind: ConfigMap + data: + hello: world + apply: yes + ignore_errors: yes + register: k8s_apply + + - name: assert that apply fails gracefully + assert: + that: + - k8s_apply is failed + - "k8s_apply.msg.startswith('Failed to import the required Python library (openshift >= 0.9.2)')" diff --git a/test/integration/targets/k8s/k8s/tasks/openshift.yml b/test/integration/targets/k8s/k8s/tasks/openshift.yml new file mode 100644 index 00000000..f4a90061 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/openshift.yml @@ -0,0 +1,61 @@ +# OpenShift Resources +- name: Create a project + k8s: + name: testing + kind: Project + api_version: v1 + apply: no + register: output + +- name: show output + debug: + var: output + +- name: Create deployment config + k8s: + state: present + inline: &dc + apiVersion: v1 + kind: DeploymentConfig + metadata: + name: elastic + labels: + app: galaxy + service: elastic + namespace: testing + spec: + template: + metadata: + labels: + app: galaxy + service: elastic + spec: + containers: + - name: elastic + volumeMounts: + - mountPath: /usr/share/elasticsearch/data + name: elastic-volume + command: ['elasticsearch'] + image: 'ansible/galaxy-elasticsearch:2.4.6' + volumes: + - name: elastic-volume + persistentVolumeClaim: + claimName: elastic-volume + replicas: 1 + strategy: + type: Rolling + register: output + +- name: Show output + debug: + var: output + +- name: Create deployment config again + k8s: + state: present + inline: *dc + register: output + +- name: DC creation should be idempotent + assert: + that: not output.changed diff --git a/test/integration/targets/k8s/k8s/tasks/validate_installed.yml b/test/integration/targets/k8s/k8s/tasks/validate_installed.yml new file mode 100644 index 00000000..224bd2eb --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/validate_installed.yml @@ -0,0 +1,125 @@ +- block: + - name: Create a namespace + k8s: + name: "{{ playbook_namespace }}" + kind: Namespace + + - copy: + src: files + dest: "{{ remote_tmp_dir }}" + + - name: incredibly simple ConfigMap + k8s: + definition: + apiVersion: v1 + kind: ConfigMap + metadata: + name: hello + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: yes + register: k8s_with_validate + + - name: assert that k8s_with_validate succeeds + assert: + that: + - k8s_with_validate is successful + + - name: extra property does not fail without strict + k8s: + src: "{{ remote_tmp_dir }}/files/kuard-extra-property.yml" + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: yes + strict: no + + - name: extra property fails with strict + k8s: + src: "{{ remote_tmp_dir }}/files/kuard-extra-property.yml" + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: yes + strict: yes + ignore_errors: yes + register: extra_property + + - name: check that extra property fails with strict + assert: + that: + - extra_property is failed + + - name: invalid type fails at validation stage + k8s: + src: "{{ remote_tmp_dir }}/files/kuard-invalid-type.yml" + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: yes + strict: no + ignore_errors: yes + register: invalid_type + + - name: check that invalid type fails + assert: + that: + - invalid_type is failed + + - name: invalid type fails with warnings when fail_on_error is False + k8s: + src: "{{ remote_tmp_dir }}/files/kuard-invalid-type.yml" + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: no + strict: no + ignore_errors: yes + register: invalid_type_no_fail + + - name: check that invalid type fails + assert: + that: + - invalid_type_no_fail is failed + + - name: setup custom resource definition + k8s: + src: "{{ remote_tmp_dir }}/files/setup-crd.yml" + + - name: wait a few seconds + pause: + seconds: 5 + + - name: add custom resource definition + k8s: + src: "{{ remote_tmp_dir }}/files/crd-resource.yml" + namespace: "{{ playbook_namespace }}" + validate: + fail_on_error: yes + strict: yes + register: unknown_kind + + - name: check that unknown kind warns + assert: + that: + - unknown_kind is successful + - "'warnings' in unknown_kind" + + always: + - name: remove custom resource + k8s: + definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}" + namespace: "{{ playbook_namespace }}" + state: absent + ignore_errors: yes + + - name: remove custom resource definitions + k8s: + definition: "{{ lookup('file', role_path + '/files/setup-crd.yml') }}" + state: absent + + - name: Delete namespace + k8s: + state: absent + definition: + - kind: Namespace + apiVersion: v1 + metadata: + name: "{{ playbook_namespace }}" + ignore_errors: yes diff --git a/test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml b/test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml new file mode 100644 index 00000000..ecd17f7e --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml @@ -0,0 +1,23 @@ + - python_requirements_info: + dependencies: + - openshift + - kubernetes + - kubernetes-validate + + - k8s: + definition: + apiVersion: v1 + kind: ConfigMap + metadata: + name: hello + namespace: default + validate: + fail_on_error: yes + ignore_errors: yes + register: k8s_no_validate + + - name: assert that k8s_no_validate fails gracefully + assert: + that: + - k8s_no_validate is failed + - "k8s_no_validate.msg == 'kubernetes-validate python library is required to validate resources'" diff --git a/test/integration/targets/k8s/k8s/tasks/waiter.yml b/test/integration/targets/k8s/k8s/tasks/waiter.yml new file mode 100644 index 00000000..757d7899 --- /dev/null +++ b/test/integration/targets/k8s/k8s/tasks/waiter.yml @@ -0,0 +1,355 @@ +- name: ensure that there are actually some nodes + k8s_info: + kind: Node + register: nodes + +- block: + - set_fact: + wait_namespace: wait + + - name: ensure namespace exists + k8s: + definition: + apiVersion: v1 + kind: Namespace + metadata: + name: "{{ wait_namespace }}" + + - name: add a simple pod + k8s: + definition: + apiVersion: v1 + kind: Pod + metadata: + name: "{{ k8s_pod_name }}" + namespace: "{{ wait_namespace }}" + spec: "{{ k8s_pod_spec }}" + wait: yes + vars: + k8s_pod_name: wait-pod + k8s_pod_image: alpine:3.8 + k8s_pod_command: + - sleep + - "10000" + register: wait_pod + ignore_errors: yes + + - name: assert that pod creation succeeded + assert: + that: + - wait_pod is successful + + - name: add a daemonset + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: DaemonSet + metadata: + name: wait-daemonset + namespace: "{{ wait_namespace }}" + spec: + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + template: "{{ k8s_pod_template }}" + wait: yes + wait_sleep: 3 + wait_timeout: 180 + vars: + k8s_pod_name: wait-ds + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:1 + register: ds + + - name: check that daemonset wait worked + assert: + that: + - ds.result.status.currentNumberScheduled == ds.result.status.desiredNumberScheduled + + - name: update a daemonset in check_mode + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: DaemonSet + metadata: + name: wait-daemonset + namespace: "{{ wait_namespace }}" + spec: + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + updateStrategy: + type: RollingUpdate + template: "{{ k8s_pod_template }}" + wait: yes + wait_sleep: 3 + wait_timeout: 180 + vars: + k8s_pod_name: wait-ds + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:2 + register: update_ds_check_mode + + - name: check that check_mode returned changed + assert: + that: + - update_ds_check_mode is changed + + - name: update a daemonset + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: DaemonSet + metadata: + name: wait-daemonset + namespace: "{{ wait_namespace }}" + spec: + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + updateStrategy: + type: RollingUpdate + template: "{{ k8s_pod_template }}" + wait: yes + wait_sleep: 3 + wait_timeout: 180 + vars: + k8s_pod_name: wait-ds + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:3 + register: ds + + - name: get updated pods + k8s_info: + api_version: v1 + kind: Pod + namespace: "{{ wait_namespace }}" + label_selectors: + - app=wait-ds + register: updated_ds_pods + + - name: check that daemonset wait worked + assert: + that: + - ds.result.status.currentNumberScheduled == ds.result.status.desiredNumberScheduled + - updated_ds_pods.resources[0].spec.containers[0].image.endswith(":3") + + - name: add a crashing pod + k8s: + definition: + apiVersion: v1 + kind: Pod + metadata: + name: "{{ k8s_pod_name }}" + namespace: "{{ wait_namespace }}" + spec: "{{ k8s_pod_spec }}" + wait: yes + wait_sleep: 1 + wait_timeout: 30 + vars: + k8s_pod_name: wait-crash-pod + k8s_pod_image: alpine:3.8 + k8s_pod_command: + - /bin/false + register: crash_pod + ignore_errors: yes + + - name: check that task failed + assert: + that: + - crash_pod is failed + + - name: use a non-existent image + k8s: + definition: + apiVersion: v1 + kind: Pod + metadata: + name: "{{ k8s_pod_name }}" + namespace: "{{ wait_namespace }}" + spec: "{{ k8s_pod_spec }}" + wait: yes + wait_sleep: 1 + wait_timeout: 30 + vars: + k8s_pod_name: wait-no-image-pod + k8s_pod_image: i_made_this_up:and_this_too + register: no_image_pod + ignore_errors: yes + + - name: check that task failed + assert: + that: + - no_image_pod is failed + + - name: add a deployment + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + name: wait-deploy + namespace: "{{ wait_namespace }}" + spec: + replicas: 3 + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + template: "{{ k8s_pod_template }}" + wait: yes + vars: + k8s_pod_name: wait-deploy + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:1 + k8s_pod_ports: + - containerPort: 8080 + name: http + protocol: TCP + + register: deploy + + - name: check that deployment wait worked + assert: + that: + - deploy.result.status.availableReplicas == deploy.result.status.replicas + + - name: update a deployment + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + name: wait-deploy + namespace: "{{ wait_namespace }}" + spec: + replicas: 3 + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + template: "{{ k8s_pod_template }}" + wait: yes + vars: + k8s_pod_name: wait-deploy + k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:2 + k8s_pod_ports: + - containerPort: 8080 + name: http + protocol: TCP + register: update_deploy + + - name: get updated pods + k8s_info: + api_version: v1 + kind: Pod + namespace: "{{ wait_namespace }}" + label_selectors: + - app=wait-deploy + register: updated_deploy_pods + + - name: check that deployment wait worked + assert: + that: + - deploy.result.status.availableReplicas == deploy.result.status.replicas + - updated_deploy_pods.resources[0].spec.containers[0].image.endswith(":2") + + - name: pause a deployment + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + name: wait-deploy + namespace: "{{ wait_namespace }}" + spec: + paused: True + apply: no + wait: yes + wait_condition: + type: Progressing + status: Unknown + reason: DeploymentPaused + register: pause_deploy + + - name: check that paused deployment wait worked + assert: + that: + - condition.reason == "DeploymentPaused" + - condition.status == "Unknown" + vars: + condition: '{{ pause_deploy.result.status.conditions | json_query("[?type==`Progressing`]") | first }}' + + - name: add a service based on the deployment + k8s: + definition: + apiVersion: v1 + kind: Service + metadata: + name: wait-svc + namespace: "{{ wait_namespace }}" + spec: + selector: + app: "{{ k8s_pod_name }}" + ports: + - port: 8080 + targetPort: 8080 + protocol: TCP + wait: yes + vars: + k8s_pod_name: wait-deploy + register: service + + - name: assert that waiting for service works + assert: + that: + - service is successful + + - name: add a crashing deployment + k8s: + definition: + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + name: wait-crash-deploy + namespace: "{{ wait_namespace }}" + spec: + replicas: 3 + selector: + matchLabels: + app: "{{ k8s_pod_name }}" + template: "{{ k8s_pod_template }}" + wait: yes + vars: + k8s_pod_name: wait-crash-deploy + k8s_pod_image: alpine:3.8 + k8s_pod_command: + - /bin/false + register: wait_crash_deploy + ignore_errors: yes + + - name: check that task failed + assert: + that: + - wait_crash_deploy is failed + + - name: remove Pod with very short timeout + k8s: + api_version: v1 + kind: Pod + name: wait-pod + namespace: "{{ wait_namespace }}" + state: absent + wait: yes + wait_sleep: 2 + wait_timeout: 5 + ignore_errors: yes + register: short_wait_remove_pod + + - name: check that task failed + assert: + that: + - short_wait_remove_pod is failed + + always: + - name: remove namespace + k8s: + kind: Namespace + name: "{{ wait_namespace }}" + state: absent + + when: (nodes.resources | length) > 0 diff --git a/tests/ansible.cfg b/tests/ansible.cfg deleted file mode 100644 index 914479ca..00000000 --- a/tests/ansible.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[defaults] -command_warnings = False -system_warnings = False -deprecation_warnings = False diff --git a/tests/inventory b/tests/inventory deleted file mode 100644 index 2302edae..00000000 --- a/tests/inventory +++ /dev/null @@ -1 +0,0 @@ -localhost ansible_connection=local diff --git a/tests/roles/hello-templates/files/deployment.yml b/tests/roles/hello-templates/files/deployment.yml deleted file mode 100644 index 80ab1075..00000000 --- a/tests/roles/hello-templates/files/deployment.yml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: v1 -kind: DeploymentConfig -metadata: - name: hello-depoy - namespace: hello - labels: - app: hello -spec: - strategy: - type: Rolling - rollingParams: - updatePeriodSeconds: 1 - intervalSeconds: 1 - timeoutSeconds: 600 - maxUnavailable: 25% - maxSurge: 25% - resources: {} - triggers: - - type: ConfigChange - replicas: 1 - test: false - selector: - app: hello - template: - metadata: - name: hello-pod - labels: - app: hello - spec: - containers: - - name: hello - image: openshift/busybox-http-app - ports: - - name: web-8100-tcp - containerPort: 8080 - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - imagePullPolicy: Always - restartPolicy: Always - terminationGracePeriodSeconds: 30 - dnsPolicy: ClusterFirst - securityContext: {} diff --git a/tests/roles/hello-templates/tasks/main.yml b/tests/roles/hello-templates/tasks/main.yml deleted file mode 100644 index 0e8490e7..00000000 --- a/tests/roles/hello-templates/tasks/main.yml +++ /dev/null @@ -1,60 +0,0 @@ -- name: Create project - openshift_v1_project: - name: test-resource-defn - display_name: Resource Defn - description: Load resources - debug: no - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_project - -- debug: var=create_project - -# Create service from unaltered YAML copied from console -- name: Create service from resource definition - k8s_v1_service: - state: present - debug: yes - resource_definition: - apiVersion: v1 - kind: Service - metadata: - name: hello-service - namespace: test-resource-defn - selfLink: /api/v1/namespaces/hello/services/hello-service - uid: fd228ddb-0f38-11e7-840c-a2a3304da08d - resourceVersion: '42303' - creationTimestamp: '2017-03-22T19:51:49Z' - labels: - app: hello - spec: - ports: - - name: web-tcp - protocol: TCP - port: 8080 - targetPort: 8080 - selector: - app: hello - type: ClusterIP - sessionAffinity: None - status: - loadBalancer: {} - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_service - -- debug: var=create_service - -- name: Create deployment from resource file - openshift_v1_deployment_config: - state: present - debug: yes - src: "{{ role_path }}/files/deployment.yml" - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: deployment_create - -- debug: var=deployment_create diff --git a/tests/roles/hello-world/tasks/main.yml b/tests/roles/hello-world/tasks/main.yml deleted file mode 100644 index 1409e033..00000000 --- a/tests/roles/hello-world/tasks/main.yml +++ /dev/null @@ -1,96 +0,0 @@ -- name: Delete project - openshift_v1_project: - name: hello - state: absent - debug: yes - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: delete_project - -- debug: var=delete_project - -- name: Create project - openshift_v1_project: - name: hello - state: present - display_name: Hello World - description: Hello. - debug: yes - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_project - -- debug: var=create_project - -- name: Create service - k8s_v1_service: - name: hello-service - namespace: hello - state: present - ports: - - port: 8080 - target_port: 8080 - name: web-tcp - selector: - app: hello - labels: - app: hello - debug: yes - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_service - -- debug: var=create_service - -- name: Create deployment config - openshift_v1_deployment_config: - name: hello-deploy - namespace: hello - state: present - debug: yes - labels: - app: hello - spec_template_metadata_name: hello-pod - spec_template_metadata_labels: - app: hello - containers: - - name: hello - image: openshift/busybox-http-app - ports: - - container_port: 8080 - protocol: TCP - name: web-8080-tcp - - container_port: 8100 - protocol: TCP - name: web-8100-tcp - replicas: 1 - selector: - app: hello - strategy_type: Rolling - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_deployment - -- debug: var=create_deployment - -- name: Create route - openshift_v1_route: - name: hello-route - namespace: hello - state: present - to_kind: Service - to_name: hello-service - to_weight: 100 - port_target_port: web-tcp - tls_termination: edge - kubeconfig: '{{ os_kubeconfig }}' - host: '{{ os_host }}' - verify_ssl: '{{ os_verify_ssl }}' - register: create_route - -- debug: var=create_route - diff --git a/tests/test.yml b/tests/test.yml deleted file mode 100644 index 46fcaf8d..00000000 --- a/tests/test.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Load the modules - hosts: all - gather_facts: no - vars: - os_kubeconfig: konfig.json - os_host: localhost:8443 - os_verify_ssl: False - roles: - - role: ansible-kubernetes-modules - - role: hello-world - - role: hello-templates From 2e807f946ae2b1dd4bb823de355354b5db8017f1 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 11:30:34 -0600 Subject: [PATCH 02/11] Issue #2: Get tests working with GitHub Actions for now. --- .github/workflows/ansible-test.yml | 26 +++++++++++++++++++ .../integration/targets/k8s/k8s/README.md | 0 .../integration/targets/k8s/k8s/aliases | 0 .../targets/k8s/k8s/defaults/main.yml | 0 .../targets/k8s/k8s/files/crd-resource.yml | 0 .../k8s/k8s/files/kuard-extra-property.yml | 0 .../k8s/k8s/files/kuard-invalid-type.yml | 0 .../targets/k8s/k8s/files/setup-crd.yml | 0 .../integration/targets/k8s/k8s/meta/main.yml | 0 .../targets/k8s/k8s/tasks/append_hash.yml | 0 .../targets/k8s/k8s/tasks/apply.yml | 0 .../integration/targets/k8s/k8s/tasks/crd.yml | 0 .../targets/k8s/k8s/tasks/delete.yml | 0 .../targets/k8s/k8s/tasks/full_test.yml | 0 .../targets/k8s/k8s/tasks/lists.yml | 0 .../targets/k8s/k8s/tasks/main.yml | 0 .../k8s/k8s/tasks/older_openshift_fail.yml | 0 .../targets/k8s/k8s/tasks/openshift.yml | 0 .../k8s/k8s/tasks/validate_installed.yml | 0 .../k8s/k8s/tasks/validate_not_installed.yml | 0 .../targets/k8s/k8s/tasks/waiter.yml | 0 21 files changed, 26 insertions(+) create mode 100644 .github/workflows/ansible-test.yml rename {test => tests}/integration/targets/k8s/k8s/README.md (100%) rename {test => tests}/integration/targets/k8s/k8s/aliases (100%) rename {test => tests}/integration/targets/k8s/k8s/defaults/main.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/files/crd-resource.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/files/kuard-extra-property.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/files/kuard-invalid-type.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/files/setup-crd.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/meta/main.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/append_hash.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/apply.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/crd.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/delete.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/full_test.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/lists.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/main.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/openshift.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/validate_installed.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/validate_not_installed.yml (100%) rename {test => tests}/integration/targets/k8s/k8s/tasks/waiter.yml (100%) diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml new file mode 100644 index 00000000..87a7f078 --- /dev/null +++ b/.github/workflows/ansible-test.yml @@ -0,0 +1,26 @@ +name: CI +on: + - pull_request + +jobs: + integration: + runs-on: ubuntu-latest + strategy: + matrix: + python_version: ["3.6"] + steps: + - name: Check out code + uses: actions/checkout@v1 + with: + path: ansible_collections/community/kubernetes + + - name: Set up Python ${{ matrix.python_version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python_version }} + + - name: Install ansible-base + run: pip install git+https://github.com/ansible-collection-migration/ansible-base.git --disable-pip-version-check + + - name: Run integration tests on Python ${{ matrix.python_version }} + run: ansible-test integration --docker -v --color --retry-on-error --python ${{ matrix.python_version }} --continue-on-error --diff --coverage diff --git a/test/integration/targets/k8s/k8s/README.md b/tests/integration/targets/k8s/k8s/README.md similarity index 100% rename from test/integration/targets/k8s/k8s/README.md rename to tests/integration/targets/k8s/k8s/README.md diff --git a/test/integration/targets/k8s/k8s/aliases b/tests/integration/targets/k8s/k8s/aliases similarity index 100% rename from test/integration/targets/k8s/k8s/aliases rename to tests/integration/targets/k8s/k8s/aliases diff --git a/test/integration/targets/k8s/k8s/defaults/main.yml b/tests/integration/targets/k8s/k8s/defaults/main.yml similarity index 100% rename from test/integration/targets/k8s/k8s/defaults/main.yml rename to tests/integration/targets/k8s/k8s/defaults/main.yml diff --git a/test/integration/targets/k8s/k8s/files/crd-resource.yml b/tests/integration/targets/k8s/k8s/files/crd-resource.yml similarity index 100% rename from test/integration/targets/k8s/k8s/files/crd-resource.yml rename to tests/integration/targets/k8s/k8s/files/crd-resource.yml diff --git a/test/integration/targets/k8s/k8s/files/kuard-extra-property.yml b/tests/integration/targets/k8s/k8s/files/kuard-extra-property.yml similarity index 100% rename from test/integration/targets/k8s/k8s/files/kuard-extra-property.yml rename to tests/integration/targets/k8s/k8s/files/kuard-extra-property.yml diff --git a/test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml b/tests/integration/targets/k8s/k8s/files/kuard-invalid-type.yml similarity index 100% rename from test/integration/targets/k8s/k8s/files/kuard-invalid-type.yml rename to tests/integration/targets/k8s/k8s/files/kuard-invalid-type.yml diff --git a/test/integration/targets/k8s/k8s/files/setup-crd.yml b/tests/integration/targets/k8s/k8s/files/setup-crd.yml similarity index 100% rename from test/integration/targets/k8s/k8s/files/setup-crd.yml rename to tests/integration/targets/k8s/k8s/files/setup-crd.yml diff --git a/test/integration/targets/k8s/k8s/meta/main.yml b/tests/integration/targets/k8s/k8s/meta/main.yml similarity index 100% rename from test/integration/targets/k8s/k8s/meta/main.yml rename to tests/integration/targets/k8s/k8s/meta/main.yml diff --git a/test/integration/targets/k8s/k8s/tasks/append_hash.yml b/tests/integration/targets/k8s/k8s/tasks/append_hash.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/append_hash.yml rename to tests/integration/targets/k8s/k8s/tasks/append_hash.yml diff --git a/test/integration/targets/k8s/k8s/tasks/apply.yml b/tests/integration/targets/k8s/k8s/tasks/apply.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/apply.yml rename to tests/integration/targets/k8s/k8s/tasks/apply.yml diff --git a/test/integration/targets/k8s/k8s/tasks/crd.yml b/tests/integration/targets/k8s/k8s/tasks/crd.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/crd.yml rename to tests/integration/targets/k8s/k8s/tasks/crd.yml diff --git a/test/integration/targets/k8s/k8s/tasks/delete.yml b/tests/integration/targets/k8s/k8s/tasks/delete.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/delete.yml rename to tests/integration/targets/k8s/k8s/tasks/delete.yml diff --git a/test/integration/targets/k8s/k8s/tasks/full_test.yml b/tests/integration/targets/k8s/k8s/tasks/full_test.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/full_test.yml rename to tests/integration/targets/k8s/k8s/tasks/full_test.yml diff --git a/test/integration/targets/k8s/k8s/tasks/lists.yml b/tests/integration/targets/k8s/k8s/tasks/lists.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/lists.yml rename to tests/integration/targets/k8s/k8s/tasks/lists.yml diff --git a/test/integration/targets/k8s/k8s/tasks/main.yml b/tests/integration/targets/k8s/k8s/tasks/main.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/main.yml rename to tests/integration/targets/k8s/k8s/tasks/main.yml diff --git a/test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml b/tests/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml rename to tests/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml diff --git a/test/integration/targets/k8s/k8s/tasks/openshift.yml b/tests/integration/targets/k8s/k8s/tasks/openshift.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/openshift.yml rename to tests/integration/targets/k8s/k8s/tasks/openshift.yml diff --git a/test/integration/targets/k8s/k8s/tasks/validate_installed.yml b/tests/integration/targets/k8s/k8s/tasks/validate_installed.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/validate_installed.yml rename to tests/integration/targets/k8s/k8s/tasks/validate_installed.yml diff --git a/test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml b/tests/integration/targets/k8s/k8s/tasks/validate_not_installed.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/validate_not_installed.yml rename to tests/integration/targets/k8s/k8s/tasks/validate_not_installed.yml diff --git a/test/integration/targets/k8s/k8s/tasks/waiter.yml b/tests/integration/targets/k8s/k8s/tasks/waiter.yml similarity index 100% rename from test/integration/targets/k8s/k8s/tasks/waiter.yml rename to tests/integration/targets/k8s/k8s/tasks/waiter.yml From d94dd72ae69cfe59903c87d28ae1296db187be6a Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 13:51:43 -0600 Subject: [PATCH 03/11] Issue #1, Issue #2: Move more content into collection, fix tests. --- plugins/connection/kubectl.py | 356 + plugins/filter/k8s.py | 40 + plugins/inventory/k8s.py | 360 + plugins/inventory/openshift.py | 201 + plugins/lookup/k8s.py | 299 + plugins/module_utils/__init__.py | 0 plugins/module_utils/common.py | 286 + plugins/module_utils/raw.py | 514 ++ plugins/module_utils/scale.py | 243 + plugins/modules/_oc.py | 21 + plugins/modules/k8s.py | 2 +- plugins/modules/k8s_info.py | 2 +- plugins/modules/k8s_scale.py | 2 +- plugins/modules/k8s_service.py | 4 +- .../integration/targets/k8s/k8s/meta/main.yml | 2 - .../targets/{k8s/k8s => kubernetes}/README.md | 6 +- .../targets/{k8s/k8s => kubernetes}/aliases | 0 .../{k8s/k8s => kubernetes}/defaults/main.yml | 0 .../k8s => kubernetes}/files/crd-resource.yml | 0 .../files/kuard-extra-property.yml | 0 .../files/kuard-invalid-type.yml | 0 .../k8s => kubernetes}/files/setup-crd.yml | 0 .../targets/kubernetes/handlers/main.yml | 5 + .../targets/kubernetes/meta/main.yml | 1 + .../k8s => kubernetes}/tasks/append_hash.yml | 0 .../{k8s/k8s => kubernetes}/tasks/apply.yml | 0 .../{k8s/k8s => kubernetes}/tasks/crd.yml | 0 .../{k8s/k8s => kubernetes}/tasks/delete.yml | 0 .../k8s => kubernetes}/tasks/full_test.yml | 0 .../{k8s/k8s => kubernetes}/tasks/lists.yml | 0 .../{k8s/k8s => kubernetes}/tasks/main.yml | 2 + .../tasks/older_openshift_fail.yml | 0 .../k8s => kubernetes}/tasks/openshift.yml | 0 .../kubernetes/tasks/setup_remote_tmp_dir.yml | 11 + .../tasks/validate_installed.yml | 0 .../tasks/validate_not_installed.yml | 0 .../{k8s/k8s => kubernetes}/tasks/waiter.yml | 0 .../data/integration-2020-01-30-18-12-28.json | 11 + .../data/integration-2020-01-30-18-17-09.json | 3 + .../data/integration-2020-01-30-18-38-09.json | 11 + .../data/integration-2020-01-30-18-38-46.json | 3 + .../data/integration-2020-01-30-18-39-24.json | 11 + .../data/integration-2020-01-30-18-40-04.json | 3 + .../data/integration-2020-01-30-19-31-05.json | 11 + .../data/integration-2020-01-30-19-31-39.json | 3 + .../data/integration-2020-01-30-19-33-27.json | 11 + .../data/integration-2020-01-30-19-34-06.json | 3 + .../data/integration-2020-01-30-19-37-59.json | 11 + .../data/integration-2020-01-30-19-38-31.json | 3 + .../data/integration-2020-01-30-19-39-12.json | 11 + .../data/integration-2020-01-30-19-47-17.json | 39 + .../kubernetes-6diisgn1-1580413636.348936.xml | 6629 +++++++++++++++++ tests/sanity/ignore.txt | 6620 ++++++++++++++++ 53 files changed, 15728 insertions(+), 12 deletions(-) create mode 100644 plugins/connection/kubectl.py create mode 100644 plugins/filter/k8s.py create mode 100644 plugins/inventory/k8s.py create mode 100644 plugins/inventory/openshift.py create mode 100644 plugins/lookup/k8s.py create mode 100644 plugins/module_utils/__init__.py create mode 100644 plugins/module_utils/common.py create mode 100644 plugins/module_utils/raw.py create mode 100644 plugins/module_utils/scale.py create mode 100644 plugins/modules/_oc.py delete mode 100644 tests/integration/targets/k8s/k8s/meta/main.yml rename tests/integration/targets/{k8s/k8s => kubernetes}/README.md (92%) rename tests/integration/targets/{k8s/k8s => kubernetes}/aliases (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/defaults/main.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/files/crd-resource.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/files/kuard-extra-property.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/files/kuard-invalid-type.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/files/setup-crd.yml (100%) create mode 100644 tests/integration/targets/kubernetes/handlers/main.yml create mode 100644 tests/integration/targets/kubernetes/meta/main.yml rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/append_hash.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/apply.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/crd.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/delete.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/full_test.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/lists.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/main.yml (98%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/older_openshift_fail.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/openshift.yml (100%) create mode 100644 tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/validate_installed.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/validate_not_installed.yml (100%) rename tests/integration/targets/{k8s/k8s => kubernetes}/tasks/waiter.yml (100%) create mode 100644 tests/output/data/integration-2020-01-30-18-12-28.json create mode 100644 tests/output/data/integration-2020-01-30-18-17-09.json create mode 100644 tests/output/data/integration-2020-01-30-18-38-09.json create mode 100644 tests/output/data/integration-2020-01-30-18-38-46.json create mode 100644 tests/output/data/integration-2020-01-30-18-39-24.json create mode 100644 tests/output/data/integration-2020-01-30-18-40-04.json create mode 100644 tests/output/data/integration-2020-01-30-19-31-05.json create mode 100644 tests/output/data/integration-2020-01-30-19-31-39.json create mode 100644 tests/output/data/integration-2020-01-30-19-33-27.json create mode 100644 tests/output/data/integration-2020-01-30-19-34-06.json create mode 100644 tests/output/data/integration-2020-01-30-19-37-59.json create mode 100644 tests/output/data/integration-2020-01-30-19-38-31.json create mode 100644 tests/output/data/integration-2020-01-30-19-39-12.json create mode 100644 tests/output/data/integration-2020-01-30-19-47-17.json create mode 100644 tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml create mode 100644 tests/sanity/ignore.txt diff --git a/plugins/connection/kubectl.py b/plugins/connection/kubectl.py new file mode 100644 index 00000000..d8a0fcf6 --- /dev/null +++ b/plugins/connection/kubectl.py @@ -0,0 +1,356 @@ +# Based on the docker connection plugin +# +# Connection plugin for configuring kubernetes containers with kubectl +# (c) 2017, XuXinkun +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +DOCUMENTATION = """ + author: + - xuxinkun + + connection: kubectl + + short_description: Execute tasks in pods running on Kubernetes. + + description: + - Use the kubectl exec command to run tasks in, or put/fetch files to, pods running on the Kubernetes + container platform. + + version_added: "2.5" + + requirements: + - kubectl (go binary) + + options: + kubectl_pod: + description: + - Pod name. Required when the host name does not match pod name. + default: '' + vars: + - name: ansible_kubectl_pod + env: + - name: K8S_AUTH_POD + kubectl_container: + description: + - Container name. Required when a pod contains more than one container. + default: '' + vars: + - name: ansible_kubectl_container + env: + - name: K8S_AUTH_CONTAINER + kubectl_namespace: + description: + - The namespace of the pod + default: '' + vars: + - name: ansible_kubectl_namespace + env: + - name: K8S_AUTH_NAMESPACE + kubectl_extra_args: + description: + - Extra arguments to pass to the kubectl command line. + default: '' + vars: + - name: ansible_kubectl_extra_args + env: + - name: K8S_AUTH_EXTRA_ARGS + kubectl_kubeconfig: + description: + - Path to a kubectl config file. Defaults to I(~/.kube/config) + default: '' + vars: + - name: ansible_kubectl_kubeconfig + - name: ansible_kubectl_config + env: + - name: K8S_AUTH_KUBECONFIG + kubectl_context: + description: + - The name of a context found in the K8s config file. + default: '' + vars: + - name: ansible_kubectl_context + env: + - name: k8S_AUTH_CONTEXT + kubectl_host: + description: + - URL for accessing the API. + default: '' + vars: + - name: ansible_kubectl_host + - name: ansible_kubectl_server + env: + - name: K8S_AUTH_HOST + - name: K8S_AUTH_SERVER + kubectl_username: + description: + - Provide a username for authenticating with the API. + default: '' + vars: + - name: ansible_kubectl_username + - name: ansible_kubectl_user + env: + - name: K8S_AUTH_USERNAME + kubectl_password: + description: + - Provide a password for authenticating with the API. + default: '' + vars: + - name: ansible_kubectl_password + env: + - name: K8S_AUTH_PASSWORD + kubectl_token: + description: + - API authentication bearer token. + vars: + - name: ansible_kubectl_token + - name: ansible_kubectl_api_key + env: + - name: K8S_AUTH_TOKEN + - name: K8S_AUTH_API_KEY + client_cert: + description: + - Path to a certificate used to authenticate with the API. + default: '' + vars: + - name: ansible_kubectl_cert_file + - name: ansible_kubectl_client_cert + env: + - name: K8S_AUTH_CERT_FILE + aliases: [ kubectl_cert_file ] + client_key: + description: + - Path to a key file used to authenticate with the API. + default: '' + vars: + - name: ansible_kubectl_key_file + - name: ansible_kubectl_client_key + env: + - name: K8S_AUTH_KEY_FILE + aliases: [ kubectl_key_file ] + ca_cert: + description: + - Path to a CA certificate used to authenticate with the API. + default: '' + vars: + - name: ansible_kubectl_ssl_ca_cert + - name: ansible_kubectl_ca_cert + env: + - name: K8S_AUTH_SSL_CA_CERT + aliases: [ kubectl_ssl_ca_cert ] + validate_certs: + description: + - Whether or not to verify the API server's SSL certificate. Defaults to I(true). + default: '' + vars: + - name: ansible_kubectl_verify_ssl + - name: ansible_kubectl_validate_certs + env: + - name: K8S_AUTH_VERIFY_SSL + aliases: [ kubectl_verify_ssl ] +""" + +import distutils.spawn +import os +import os.path +import subprocess + +import ansible.constants as C +from ansible.parsing.yaml.loader import AnsibleLoader +from ansible.errors import AnsibleError, AnsibleFileNotFound +from ansible.module_utils.six.moves import shlex_quote +from ansible.module_utils._text import to_bytes +from ansible.plugins.connection import ConnectionBase, BUFSIZE +from ansible.utils.display import Display + +display = Display() + + +CONNECTION_TRANSPORT = 'kubectl' + +CONNECTION_OPTIONS = { + 'kubectl_container': '-c', + 'kubectl_namespace': '-n', + 'kubectl_kubeconfig': '--kubeconfig', + 'kubectl_context': '--context', + 'kubectl_host': '--server', + 'kubectl_username': '--username', + 'kubectl_password': '--password', + 'client_cert': '--client-certificate', + 'client_key': '--client-key', + 'ca_cert': '--certificate-authority', + 'validate_certs': '--insecure-skip-tls-verify', + 'kubectl_token': '--token' +} + + +class Connection(ConnectionBase): + ''' Local kubectl based connections ''' + + transport = CONNECTION_TRANSPORT + connection_options = CONNECTION_OPTIONS + documentation = DOCUMENTATION + has_pipelining = True + transport_cmd = None + + def __init__(self, play_context, new_stdin, *args, **kwargs): + super(Connection, self).__init__(play_context, new_stdin, *args, **kwargs) + + # Note: kubectl runs commands as the user that started the container. + # It is impossible to set the remote user for a kubectl connection. + cmd_arg = '{0}_command'.format(self.transport) + if cmd_arg in kwargs: + self.transport_cmd = kwargs[cmd_arg] + else: + self.transport_cmd = distutils.spawn.find_executable(self.transport) + if not self.transport_cmd: + raise AnsibleError("{0} command not found in PATH".format(self.transport)) + + def _build_exec_cmd(self, cmd): + """ Build the local kubectl exec command to run cmd on remote_host + """ + local_cmd = [self.transport_cmd] + + # Build command options based on doc string + doc_yaml = AnsibleLoader(self.documentation).get_single_data() + for key in doc_yaml.get('options'): + if key.endswith('verify_ssl') and self.get_option(key) != '': + # Translate verify_ssl to skip_verify_ssl, and output as string + skip_verify_ssl = not self.get_option(key) + local_cmd.append(u'{0}={1}'.format(self.connection_options[key], str(skip_verify_ssl).lower())) + elif not key.endswith('container') and self.get_option(key) and self.connection_options.get(key): + cmd_arg = self.connection_options[key] + local_cmd += [cmd_arg, self.get_option(key)] + + extra_args_name = u'{0}_extra_args'.format(self.transport) + if self.get_option(extra_args_name): + local_cmd += self.get_option(extra_args_name).split(' ') + + pod = self.get_option(u'{0}_pod'.format(self.transport)) + if not pod: + pod = self._play_context.remote_addr + # -i is needed to keep stdin open which allows pipelining to work + local_cmd += ['exec', '-i', pod] + + # if the pod has more than one container, then container is required + container_arg_name = u'{0}_container'.format(self.transport) + if self.get_option(container_arg_name): + local_cmd += ['-c', self.get_option(container_arg_name)] + + local_cmd += ['--'] + cmd + + return local_cmd + + def _connect(self, port=None): + """ Connect to the container. Nothing to do """ + super(Connection, self)._connect() + if not self._connected: + display.vvv(u"ESTABLISH {0} CONNECTION".format(self.transport), host=self._play_context.remote_addr) + self._connected = True + + def exec_command(self, cmd, in_data=None, sudoable=False): + """ Run a command in the container """ + super(Connection, self).exec_command(cmd, in_data=in_data, sudoable=sudoable) + + local_cmd = self._build_exec_cmd([self._play_context.executable, '-c', cmd]) + + display.vvv("EXEC %s" % (local_cmd,), host=self._play_context.remote_addr) + local_cmd = [to_bytes(i, errors='surrogate_or_strict') for i in local_cmd] + p = subprocess.Popen(local_cmd, shell=False, stdin=subprocess.PIPE, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + stdout, stderr = p.communicate(in_data) + return (p.returncode, stdout, stderr) + + def _prefix_login_path(self, remote_path): + ''' Make sure that we put files into a standard path + + If a path is relative, then we need to choose where to put it. + ssh chooses $HOME but we aren't guaranteed that a home dir will + exist in any given chroot. So for now we're choosing "/" instead. + This also happens to be the former default. + + Can revisit using $HOME instead if it's a problem + ''' + if not remote_path.startswith(os.path.sep): + remote_path = os.path.join(os.path.sep, remote_path) + return os.path.normpath(remote_path) + + def put_file(self, in_path, out_path): + """ Transfer a file from local to the container """ + super(Connection, self).put_file(in_path, out_path) + display.vvv("PUT %s TO %s" % (in_path, out_path), host=self._play_context.remote_addr) + + out_path = self._prefix_login_path(out_path) + if not os.path.exists(to_bytes(in_path, errors='surrogate_or_strict')): + raise AnsibleFileNotFound( + "file or module does not exist: %s" % in_path) + + out_path = shlex_quote(out_path) + # kubectl doesn't have native support for copying files into + # running containers, so we use kubectl exec to implement this + with open(to_bytes(in_path, errors='surrogate_or_strict'), 'rb') as in_file: + if not os.fstat(in_file.fileno()).st_size: + count = ' count=0' + else: + count = '' + args = self._build_exec_cmd([self._play_context.executable, "-c", "dd of=%s bs=%s%s" % (out_path, BUFSIZE, count)]) + args = [to_bytes(i, errors='surrogate_or_strict') for i in args] + try: + p = subprocess.Popen(args, stdin=in_file, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except OSError: + raise AnsibleError("kubectl connection requires dd command in the container to put files") + stdout, stderr = p.communicate() + + if p.returncode != 0: + raise AnsibleError("failed to transfer file %s to %s:\n%s\n%s" % (in_path, out_path, stdout, stderr)) + + def fetch_file(self, in_path, out_path): + """ Fetch a file from container to local. """ + super(Connection, self).fetch_file(in_path, out_path) + display.vvv("FETCH %s TO %s" % (in_path, out_path), host=self._play_context.remote_addr) + + in_path = self._prefix_login_path(in_path) + out_dir = os.path.dirname(out_path) + + # kubectl doesn't have native support for fetching files from + # running containers, so we use kubectl exec to implement this + args = self._build_exec_cmd([self._play_context.executable, "-c", "dd if=%s bs=%s" % (in_path, BUFSIZE)]) + args = [to_bytes(i, errors='surrogate_or_strict') for i in args] + actual_out_path = os.path.join(out_dir, os.path.basename(in_path)) + with open(to_bytes(actual_out_path, errors='surrogate_or_strict'), 'wb') as out_file: + try: + p = subprocess.Popen(args, stdin=subprocess.PIPE, + stdout=out_file, stderr=subprocess.PIPE) + except OSError: + raise AnsibleError( + "{0} connection requires dd command in the container to fetch files".format(self.transport) + ) + stdout, stderr = p.communicate() + + if p.returncode != 0: + raise AnsibleError("failed to fetch file %s to %s:\n%s\n%s" % (in_path, out_path, stdout, stderr)) + + if actual_out_path != out_path: + os.rename(to_bytes(actual_out_path, errors='strict'), to_bytes(out_path, errors='strict')) + + def close(self): + """ Terminate the connection. Nothing to do for kubectl""" + super(Connection, self).close() + self._connected = False diff --git a/plugins/filter/k8s.py b/plugins/filter/k8s.py new file mode 100644 index 00000000..f6cb0579 --- /dev/null +++ b/plugins/filter/k8s.py @@ -0,0 +1,40 @@ +# Copyright (c) 2017 Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +ANSIBLE_METADATA = { + 'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community' +} + + +try: + from openshift.helper.hashes import generate_hash + HAS_GENERATE_HASH = True +except ImportError: + HAS_GENERATE_HASH = False + +from ansible.errors import AnsibleFilterError + + +def k8s_config_resource_name(resource): + if not HAS_GENERATE_HASH: + raise AnsibleFilterError("k8s_config_resource_name requires openshift>=0.7.2") + try: + return resource['metadata']['name'] + '-' + generate_hash(resource) + except KeyError: + raise AnsibleFilterError("resource must have a metadata.name key to generate a resource name") + + +# ---- Ansible filters ---- +class FilterModule(object): + + def filters(self): + return { + 'k8s_config_resource_name': k8s_config_resource_name + } diff --git a/plugins/inventory/k8s.py b/plugins/inventory/k8s.py new file mode 100644 index 00000000..4db69c52 --- /dev/null +++ b/plugins/inventory/k8s.py @@ -0,0 +1,360 @@ +# Copyright (c) 2018 Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +DOCUMENTATION = ''' + name: k8s + plugin_type: inventory + author: + - Chris Houseknecht <@chouseknecht> + - Fabian von Feilitzsch <@fabianvf> + + short_description: Kubernetes (K8s) inventory source + + description: + - Fetch containers and services for one or more clusters + - Groups by cluster name, namespace, namespace_services, namespace_pods, and labels + - Uses k8s.(yml|yaml) YAML configuration file to set parameter values. + + options: + plugin: + description: token that ensures this is a source file for the 'k8s' plugin. + required: True + choices: ['k8s'] + connections: + description: + - Optional list of cluster connection settings. If no connections are provided, the default + I(~/.kube/config) and active context will be used, and objects will be returned for all namespaces + the active user is authorized to access. + name: + description: + - Optional name to assign to the cluster. If not provided, a name is constructed from the server + and port. + kubeconfig: + description: + - Path to an existing Kubernetes config file. If not provided, and no other connection + options are provided, the OpenShift client will attempt to load the default + configuration file from I(~/.kube/config.json). Can also be specified via K8S_AUTH_KUBECONFIG + environment variable. + context: + description: + - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment + variable. + host: + description: + - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable. + api_key: + description: + - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment + variable. + username: + description: + - Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME + environment variable. + password: + description: + - Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD + environment variable. + client_cert: + description: + - Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE + environment variable. + aliases: [ cert_file ] + client_key: + description: + - Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_KEY_FILE + environment variable. + aliases: [ key_file ] + ca_cert: + description: + - Path to a CA certificate used to authenticate with the API. Can also be specified via + K8S_AUTH_SSL_CA_CERT environment variable. + aliases: [ ssl_ca_cert ] + validate_certs: + description: + - "Whether or not to verify the API server's SSL certificates. Can also be specified via + K8S_AUTH_VERIFY_SSL environment variable." + type: bool + aliases: [ verify_ssl ] + namespaces: + description: + - List of namespaces. If not specified, will fetch all containers for all namespaces user is authorized + to access. + + requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" +''' + +EXAMPLES = ''' +# File must be named k8s.yaml or k8s.yml + +# Authenticate with token, and return all pods and services for all namespaces +plugin: k8s +connections: + - host: https://192.168.64.4:8443 + token: xxxxxxxxxxxxxxxx + validate_certs: false + +# Use default config (~/.kube/config) file and active context, and return objects for a specific namespace +plugin: k8s +connections: + - namespaces: + - testing + +# Use a custom config file, and a specific context. +plugin: k8s +connections: + - kubeconfig: /path/to/config + context: 'awx/192-168-64-4:8443/developer' +''' + +import json + +from ansible.errors import AnsibleError +from ansible_collections.community.kubernetes.plugins.module_utils.common import K8sAnsibleMixin, HAS_K8S_MODULE_HELPER, k8s_import_exception +from ansible.plugins.inventory import BaseInventoryPlugin, Constructable, Cacheable + +try: + from openshift.dynamic.exceptions import DynamicApiError +except ImportError: + pass + + +def format_dynamic_api_exc(exc): + if exc.body: + if exc.headers and exc.headers.get('Content-Type') == 'application/json': + message = json.loads(exc.body).get('message') + if message: + return message + return exc.body + else: + return '%s Reason: %s' % (exc.status, exc.reason) + + +class K8sInventoryException(Exception): + pass + + +class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable, K8sAnsibleMixin): + NAME = 'k8s' + + transport = 'kubectl' + + def parse(self, inventory, loader, path, cache=True): + super(InventoryModule, self).parse(inventory, loader, path) + cache_key = self._get_cache_prefix(path) + config_data = self._read_config_data(path) + self.setup(config_data, cache, cache_key) + + def setup(self, config_data, cache, cache_key): + connections = config_data.get('connections') + + if not HAS_K8S_MODULE_HELPER: + raise K8sInventoryException( + "This module requires the OpenShift Python client. Try `pip install openshift`. Detail: {0}".format(k8s_import_exception) + ) + + source_data = None + if cache and cache_key in self._cache: + try: + source_data = self._cache[cache_key] + except KeyError: + pass + + if not source_data: + self.fetch_objects(connections) + + def fetch_objects(self, connections): + + if connections: + if not isinstance(connections, list): + raise K8sInventoryException("Expecting connections to be a list.") + + for connection in connections: + if not isinstance(connection, dict): + raise K8sInventoryException("Expecting connection to be a dictionary.") + client = self.get_api_client(**connection) + name = connection.get('name', self.get_default_host_name(client.configuration.host)) + if connection.get('namespaces'): + namespaces = connection['namespaces'] + else: + namespaces = self.get_available_namespaces(client) + for namespace in namespaces: + self.get_pods_for_namespace(client, name, namespace) + self.get_services_for_namespace(client, name, namespace) + else: + client = self.get_api_client() + name = self.get_default_host_name(client.configuration.host) + namespaces = self.get_available_namespaces(client) + for namespace in namespaces: + self.get_pods_for_namespace(client, name, namespace) + self.get_services_for_namespace(client, name, namespace) + + @staticmethod + def get_default_host_name(host): + return host.replace('https://', '').replace('http://', '').replace('.', '-').replace(':', '_') + + def get_available_namespaces(self, client): + v1_namespace = client.resources.get(api_version='v1', kind='Namespace') + try: + obj = v1_namespace.get() + except DynamicApiError as exc: + self.display.debug(exc) + raise K8sInventoryException('Error fetching Namespace list: %s' % format_dynamic_api_exc(exc)) + return [namespace.metadata.name for namespace in obj.items] + + def get_pods_for_namespace(self, client, name, namespace): + v1_pod = client.resources.get(api_version='v1', kind='Pod') + try: + obj = v1_pod.get(namespace=namespace) + except DynamicApiError as exc: + self.display.debug(exc) + raise K8sInventoryException('Error fetching Pod list: %s' % format_dynamic_api_exc(exc)) + + namespace_group = 'namespace_{0}'.format(namespace) + namespace_pods_group = '{0}_pods'.format(namespace_group) + + self.inventory.add_group(name) + self.inventory.add_group(namespace_group) + self.inventory.add_child(name, namespace_group) + self.inventory.add_group(namespace_pods_group) + self.inventory.add_child(namespace_group, namespace_pods_group) + + for pod in obj.items: + pod_name = pod.metadata.name + pod_groups = [] + pod_annotations = {} if not pod.metadata.annotations else dict(pod.metadata.annotations) + + if pod.metadata.labels: + # create a group for each label_value + for key, value in pod.metadata.labels: + group_name = 'label_{0}_{1}'.format(key, value) + if group_name not in pod_groups: + pod_groups.append(group_name) + self.inventory.add_group(group_name) + pod_labels = dict(pod.metadata.labels) + else: + pod_labels = {} + + if not pod.status.containerStatuses: + continue + + for container in pod.status.containerStatuses: + # add each pod_container to the namespace group, and to each label_value group + container_name = '{0}_{1}'.format(pod.metadata.name, container.name) + self.inventory.add_host(container_name) + self.inventory.add_child(namespace_pods_group, container_name) + if pod_groups: + for group in pod_groups: + self.inventory.add_child(group, container_name) + + # Add hostvars + self.inventory.set_variable(container_name, 'object_type', 'pod') + self.inventory.set_variable(container_name, 'labels', pod_labels) + self.inventory.set_variable(container_name, 'annotations', pod_annotations) + self.inventory.set_variable(container_name, 'cluster_name', pod.metadata.clusterName) + self.inventory.set_variable(container_name, 'pod_node_name', pod.spec.nodeName) + self.inventory.set_variable(container_name, 'pod_name', pod.spec.name) + self.inventory.set_variable(container_name, 'pod_host_ip', pod.status.hostIP) + self.inventory.set_variable(container_name, 'pod_phase', pod.status.phase) + self.inventory.set_variable(container_name, 'pod_ip', pod.status.podIP) + self.inventory.set_variable(container_name, 'pod_self_link', pod.metadata.selfLink) + self.inventory.set_variable(container_name, 'pod_resource_version', pod.metadata.resourceVersion) + self.inventory.set_variable(container_name, 'pod_uid', pod.metadata.uid) + self.inventory.set_variable(container_name, 'container_name', container.image) + self.inventory.set_variable(container_name, 'container_image', container.image) + if container.state.running: + self.inventory.set_variable(container_name, 'container_state', 'Running') + if container.state.terminated: + self.inventory.set_variable(container_name, 'container_state', 'Terminated') + if container.state.waiting: + self.inventory.set_variable(container_name, 'container_state', 'Waiting') + self.inventory.set_variable(container_name, 'container_ready', container.ready) + self.inventory.set_variable(container_name, 'ansible_remote_tmp', '/tmp/') + self.inventory.set_variable(container_name, 'ansible_connection', self.transport) + self.inventory.set_variable(container_name, 'ansible_{0}_pod'.format(self.transport), + pod_name) + self.inventory.set_variable(container_name, 'ansible_{0}_container'.format(self.transport), + container.name) + self.inventory.set_variable(container_name, 'ansible_{0}_namespace'.format(self.transport), + namespace) + + def get_services_for_namespace(self, client, name, namespace): + v1_service = client.resources.get(api_version='v1', kind='Service') + try: + obj = v1_service.get(namespace=namespace) + except DynamicApiError as exc: + self.display.debug(exc) + raise K8sInventoryException('Error fetching Service list: %s' % format_dynamic_api_exc(exc)) + + namespace_group = 'namespace_{0}'.format(namespace) + namespace_services_group = '{0}_services'.format(namespace_group) + + self.inventory.add_group(name) + self.inventory.add_group(namespace_group) + self.inventory.add_child(name, namespace_group) + self.inventory.add_group(namespace_services_group) + self.inventory.add_child(namespace_group, namespace_services_group) + + for service in obj.items: + service_name = service.metadata.name + service_labels = {} if not service.metadata.labels else dict(service.metadata.labels) + service_annotations = {} if not service.metadata.annotations else dict(service.metadata.annotations) + + self.inventory.add_host(service_name) + + if service.metadata.labels: + # create a group for each label_value + for key, value in service.metadata.labels: + group_name = 'label_{0}_{1}'.format(key, value) + self.inventory.add_group(group_name) + self.inventory.add_child(group_name, service_name) + + try: + self.inventory.add_child(namespace_services_group, service_name) + except AnsibleError as e: + raise + + ports = [{'name': port.name, + 'port': port.port, + 'protocol': port.protocol, + 'targetPort': port.targetPort, + 'nodePort': port.nodePort} for port in service.spec.ports or []] + + # add hostvars + self.inventory.set_variable(service_name, 'object_type', 'service') + self.inventory.set_variable(service_name, 'labels', service_labels) + self.inventory.set_variable(service_name, 'annotations', service_annotations) + self.inventory.set_variable(service_name, 'cluster_name', service.metadata.clusterName) + self.inventory.set_variable(service_name, 'ports', ports) + self.inventory.set_variable(service_name, 'type', service.spec.type) + self.inventory.set_variable(service_name, 'self_link', service.metadata.selfLink) + self.inventory.set_variable(service_name, 'resource_version', service.metadata.resourceVersion) + self.inventory.set_variable(service_name, 'uid', service.metadata.uid) + + if service.spec.externalTrafficPolicy: + self.inventory.set_variable(service_name, 'external_traffic_policy', + service.spec.externalTrafficPolicy) + if service.spec.externalIPs: + self.inventory.set_variable(service_name, 'external_ips', service.spec.externalIPs) + + if service.spec.externalName: + self.inventory.set_variable(service_name, 'external_name', service.spec.externalName) + + if service.spec.healthCheckNodePort: + self.inventory.set_variable(service_name, 'health_check_node_port', + service.spec.healthCheckNodePort) + if service.spec.loadBalancerIP: + self.inventory.set_variable(service_name, 'load_balancer_ip', + service.spec.loadBalancerIP) + if service.spec.selector: + self.inventory.set_variable(service_name, 'selector', dict(service.spec.selector)) + + if hasattr(service.status.loadBalancer, 'ingress') and service.status.loadBalancer.ingress: + load_balancer = [{'hostname': ingress.hostname, + 'ip': ingress.ip} for ingress in service.status.loadBalancer.ingress] + self.inventory.set_variable(service_name, 'load_balancer', load_balancer) diff --git a/plugins/inventory/openshift.py b/plugins/inventory/openshift.py new file mode 100644 index 00000000..db3392cd --- /dev/null +++ b/plugins/inventory/openshift.py @@ -0,0 +1,201 @@ +# Copyright (c) 2018 Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import (absolute_import, division, print_function) + +__metaclass__ = type + +DOCUMENTATION = ''' + name: openshift + plugin_type: inventory + author: + - Chris Houseknecht <@chouseknecht> + + short_description: OpenShift inventory source + + description: + - Fetch containers, services and routes for one or more clusters + - Groups by cluster name, namespace, namespace_services, namespace_pods, namespace_routes, and labels + - Uses openshift.(yml|yaml) YAML configuration file to set parameter values. + + options: + plugin: + description: token that ensures this is a source file for the 'openshift' plugin. + required: True + choices: ['openshift'] + connections: + description: + - Optional list of cluster connection settings. If no connections are provided, the default + I(~/.kube/config) and active context will be used, and objects will be returned for all namespaces + the active user is authorized to access. + name: + description: + - Optional name to assign to the cluster. If not provided, a name is constructed from the server + and port. + kubeconfig: + description: + - Path to an existing Kubernetes config file. If not provided, and no other connection + options are provided, the OpenShift client will attempt to load the default + configuration file from I(~/.kube/config.json). Can also be specified via K8S_AUTH_KUBECONFIG + environment variable. + context: + description: + - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment + variable. + host: + description: + - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable. + api_key: + description: + - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment + variable. + username: + description: + - Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME + environment variable. + password: + description: + - Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD + environment variable. + client_cert: + description: + - Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE + environment variable. + aliases: [ cert_file ] + client_key: + description: + - Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_KEY_FILE + environment variable. + aliases: [ key_file ] + ca_cert: + description: + - Path to a CA certificate used to authenticate with the API. Can also be specified via + K8S_AUTH_SSL_CA_CERT environment variable. + aliases: [ ssl_ca_cert ] + validate_certs: + description: + - "Whether or not to verify the API server's SSL certificates. Can also be specified via + K8S_AUTH_VERIFY_SSL environment variable." + type: bool + aliases: [ verify_ssl ] + namespaces: + description: + - List of namespaces. If not specified, will fetch all containers for all namespaces user is authorized + to access. + + requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" +''' + +EXAMPLES = ''' +# File must be named openshift.yaml or openshift.yml + +# Authenticate with token, and return all pods and services for all namespaces +plugin: openshift +connections: + - host: https://192.168.64.4:8443 + api_key: xxxxxxxxxxxxxxxx + verify_ssl: false + +# Use default config (~/.kube/config) file and active context, and return objects for a specific namespace +plugin: openshift +connections: + - namespaces: + - testing + +# Use a custom config file, and a specific context. +plugin: openshift +connections: + - kubeconfig: /path/to/config + context: 'awx/192-168-64-4:8443/developer' +''' + +from ansible.plugins.inventory.k8s import K8sInventoryException, InventoryModule as K8sInventoryModule, format_dynamic_api_exc + +try: + from openshift.dynamic.exceptions import DynamicApiError +except ImportError: + pass + + +class InventoryModule(K8sInventoryModule): + NAME = 'openshift' + + transport = 'oc' + + def fetch_objects(self, connections): + super(InventoryModule, self).fetch_objects(connections) + + if connections: + if not isinstance(connections, list): + raise K8sInventoryException("Expecting connections to be a list.") + + for connection in connections: + client = self.get_api_client(**connection) + name = connection.get('name', self.get_default_host_name(client.configuration.host)) + if connection.get('namespaces'): + namespaces = connection['namespaces'] + else: + namespaces = self.get_available_namespaces(client) + for namespace in namespaces: + self.get_routes_for_namespace(client, name, namespace) + else: + client = self.get_api_client() + name = self.get_default_host_name(client.configuration.host) + namespaces = self.get_available_namespaces(client) + for namespace in namespaces: + self.get_routes_for_namespace(client, name, namespace) + + def get_routes_for_namespace(self, client, name, namespace): + v1_route = client.resources.get(api_version='v1', kind='Route') + try: + obj = v1_route.get(namespace=namespace) + except DynamicApiError as exc: + self.display.debug(exc) + raise K8sInventoryException('Error fetching Routes list: %s' % format_dynamic_api_exc(exc)) + + namespace_group = 'namespace_{0}'.format(namespace) + namespace_routes_group = '{0}_routes'.format(namespace_group) + + self.inventory.add_group(name) + self.inventory.add_group(namespace_group) + self.inventory.add_child(name, namespace_group) + self.inventory.add_group(namespace_routes_group) + self.inventory.add_child(namespace_group, namespace_routes_group) + for route in obj.items: + route_name = route.metadata.name + route_annotations = {} if not route.metadata.annotations else dict(route.metadata.annotations) + + self.inventory.add_host(route_name) + + if route.metadata.labels: + # create a group for each label_value + for key, value in route.metadata.labels: + group_name = 'label_{0}_{1}'.format(key, value) + self.inventory.add_group(group_name) + self.inventory.add_child(group_name, route_name) + route_labels = dict(route.metadata.labels) + else: + route_labels = {} + + self.inventory.add_child(namespace_routes_group, route_name) + + # add hostvars + self.inventory.set_variable(route_name, 'labels', route_labels) + self.inventory.set_variable(route_name, 'annotations', route_annotations) + self.inventory.set_variable(route_name, 'cluster_name', route.metadata.clusterName) + self.inventory.set_variable(route_name, 'object_type', 'route') + self.inventory.set_variable(route_name, 'self_link', route.metadata.selfLink) + self.inventory.set_variable(route_name, 'resource_version', route.metadata.resourceVersion) + self.inventory.set_variable(route_name, 'uid', route.metadata.uid) + + if route.spec.host: + self.inventory.set_variable(route_name, 'host', route.spec.host) + + if route.spec.path: + self.inventory.set_variable(route_name, 'path', route.spec.path) + + if hasattr(route.spec.port, 'targetPort') and route.spec.port.targetPort: + self.inventory.set_variable(route_name, 'port', dict(route.spec.port)) diff --git a/plugins/lookup/k8s.py b/plugins/lookup/k8s.py new file mode 100644 index 00000000..be7bf91d --- /dev/null +++ b/plugins/lookup/k8s.py @@ -0,0 +1,299 @@ +# +# Copyright 2018 Red Hat | Ansible +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +from __future__ import (absolute_import, division, print_function) + +__metaclass__ = type + +DOCUMENTATION = """ + lookup: k8s + + version_added: "2.5" + + short_description: Query the K8s API + + description: + - Uses the OpenShift Python client to fetch a specific object by name, all matching objects within a + namespace, or all matching objects for all namespaces, as well as information about the cluster. + - Provides access the full range of K8s APIs. + - Enables authentication via config file, certificates, password or token. + + options: + cluster_info: + description: + - Use to specify the type of cluster information you are attempting to retrieve. Will take priority + over all the other options. + api_version: + description: + - Use to specify the API version. If I(resource definition) is provided, the I(apiVersion) from the + I(resource_definition) will override this option. + default: v1 + kind: + description: + - Use to specify an object model. If I(resource definition) is provided, the I(kind) from a + I(resource_definition) will override this option. + required: true + resource_name: + description: + - Fetch a specific object by name. If I(resource definition) is provided, the I(metadata.name) value + from the I(resource_definition) will override this option. + namespace: + description: + - Limit the objects returned to a specific namespace. If I(resource definition) is provided, the + I(metadata.namespace) value from the I(resource_definition) will override this option. + label_selector: + description: + - Additional labels to include in the query. Ignored when I(resource_name) is provided. + field_selector: + description: + - Specific fields on which to query. Ignored when I(resource_name) is provided. + resource_definition: + description: + - "Provide a YAML configuration for an object. NOTE: I(kind), I(api_version), I(resource_name), + and I(namespace) will be overwritten by corresponding values found in the provided I(resource_definition)." + src: + description: + - "Provide a path to a file containing a valid YAML definition of an object dated. Mutually + exclusive with I(resource_definition). NOTE: I(kind), I(api_version), I(resource_name), and I(namespace) + will be overwritten by corresponding values found in the configuration read in from the I(src) file." + - Reads from the local file system. To read from the Ansible controller's file system, use the file lookup + plugin or template lookup plugin, combined with the from_yaml filter, and pass the result to + I(resource_definition). See Examples below. + host: + description: + - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable. + api_key: + description: + - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment variable. + kubeconfig: + description: + - Path to an existing Kubernetes config file. If not provided, and no other connection + options are provided, the openshift client will attempt to load the default + configuration file from I(~/.kube/config.json). Can also be specified via K8S_AUTH_KUBECONFIG environment + variable. + context: + description: + - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment + variable. + username: + description: + - Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME environment + variable. + password: + description: + - Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD environment + variable. + client_cert: + description: + - Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE + environment + variable. + aliases: [ cert_file ] + client_key: + description: + - Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_KEY_FILE environment + variable. + aliases: [ key_file ] + ca_cert: + description: + - Path to a CA certificate used to authenticate with the API. Can also be specified via K8S_AUTH_SSL_CA_CERT + environment variable. + aliases: [ ssl_ca_cert ] + validate_certs: + description: + - Whether or not to verify the API server's SSL certificates. Can also be specified via K8S_AUTH_VERIFY_SSL + environment variable. + type: bool + aliases: [ verify_ssl ] + + requirements: + - "python >= 2.7" + - "openshift >= 0.6" + - "PyYAML >= 3.11" + + notes: + - "The OpenShift Python client wraps the K8s Python client, providing full access to + all of the APIS and models available on both platforms. For API version details and + additional information visit https://github.com/openshift/openshift-restclient-python" +""" + +EXAMPLES = """ +- name: Fetch a list of namespaces + set_fact: + projects: "{{ lookup('k8s', api_version='v1', kind='Namespace') }}" + +- name: Fetch all deployments + set_fact: + deployments: "{{ lookup('k8s', kind='Deployment') }}" + +- name: Fetch all deployments in a namespace + set_fact: + deployments: "{{ lookup('k8s', kind='Deployment', namespace='testing') }}" + +- name: Fetch a specific deployment by name + set_fact: + deployments: "{{ lookup('k8s', kind='Deployment', namespace='testing', resource_name='elastic') }}" + +- name: Fetch with label selector + set_fact: + service: "{{ lookup('k8s', kind='Service', label_selector='app=galaxy') }}" + +# Use parameters from a YAML config + +- name: Load config from the Ansible controller filesystem + set_fact: + config: "{{ lookup('file', 'service.yml') | from_yaml }}" + +- name: Using the config (loaded from a file in prior task), fetch the latest version of the object + set_fact: + service: "{{ lookup('k8s', resource_definition=config) }}" + +- name: Use a config from the local filesystem + set_fact: + service: "{{ lookup('k8s', src='service.yml') }}" +""" + +RETURN = """ + _list: + description: + - One ore more object definitions returned from the API. + type: complex + contains: + api_version: + description: The versioned schema of this representation of an object. + returned: success + type: str + kind: + description: Represents the REST resource this object represents. + returned: success + type: str + metadata: + description: Standard object metadata. Includes name, namespace, annotations, labels, etc. + returned: success + type: complex + spec: + description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). + returned: success + type: complex + status: + description: Current status details for the object. + returned: success + type: complex +""" + +from ansible.plugins.lookup import LookupBase + +from ansible_collections.community.kubernetes.plugins.module_utils.common import K8sAnsibleMixin + +from ansible.errors import AnsibleError + + +try: + from openshift.dynamic import DynamicClient + from openshift.dynamic.exceptions import NotFoundError + HAS_K8S_MODULE_HELPER = True + k8s_import_exception = None +except ImportError as e: + HAS_K8S_MODULE_HELPER = False + k8s_import_exception = e + +try: + import yaml + HAS_YAML = True +except ImportError: + HAS_YAML = False + + +class KubernetesLookup(K8sAnsibleMixin): + + def __init__(self): + + if not HAS_K8S_MODULE_HELPER: + raise Exception( + "Requires the OpenShift Python client. Try `pip install openshift`. Detail: {0}".format(k8s_import_exception) + ) + + if not HAS_YAML: + raise Exception( + "Requires PyYAML. Try `pip install PyYAML`" + ) + + self.kind = None + self.name = None + self.namespace = None + self.api_version = None + self.label_selector = None + self.field_selector = None + self.include_uninitialized = None + self.resource_definition = None + self.helper = None + self.connection = {} + + def fail(self, msg=None): + raise AnsibleError(msg) + + def run(self, terms, variables=None, **kwargs): + self.params = kwargs + self.client = self.get_api_client() + + cluster_info = kwargs.get('cluster_info') + if cluster_info == 'version': + return [self.client.version] + if cluster_info == 'api_groups': + return [self.client.resources.api_groups] + + self.kind = kwargs.get('kind') + self.name = kwargs.get('resource_name') + self.namespace = kwargs.get('namespace') + self.api_version = kwargs.get('api_version', 'v1') + self.label_selector = kwargs.get('label_selector') + self.field_selector = kwargs.get('field_selector') + self.include_uninitialized = kwargs.get('include_uninitialized', False) + + resource_definition = kwargs.get('resource_definition') + src = kwargs.get('src') + if src: + resource_definition = self.load_resource_definitions(src)[0] + if resource_definition: + self.kind = resource_definition.get('kind', self.kind) + self.api_version = resource_definition.get('apiVersion', self.api_version) + self.name = resource_definition.get('metadata', {}).get('name', self.name) + self.namespace = resource_definition.get('metadata', {}).get('namespace', self.namespace) + + if not self.kind: + raise AnsibleError( + "Error: no Kind specified. Use the 'kind' parameter, or provide an object YAML configuration " + "using the 'resource_definition' parameter." + ) + + resource = self.find_resource(self.kind, self.api_version, fail=True) + try: + k8s_obj = resource.get(name=self.name, namespace=self.namespace, label_selector=self.label_selector, field_selector=self.field_selector) + except NotFoundError: + return [] + + if self.name: + return [k8s_obj.to_dict()] + + return k8s_obj.to_dict().get('items') + + +class LookupModule(LookupBase): + + def run(self, terms, variables=None, **kwargs): + return KubernetesLookup().run(terms, variables=variables, **kwargs) diff --git a/plugins/module_utils/__init__.py b/plugins/module_utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/plugins/module_utils/common.py b/plugins/module_utils/common.py new file mode 100644 index 00000000..eccef990 --- /dev/null +++ b/plugins/module_utils/common.py @@ -0,0 +1,286 @@ +# Copyright 2018 Red Hat | Ansible +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +from __future__ import absolute_import, division, print_function + +import copy +import json +import os +import traceback + + +from ansible.module_utils.basic import AnsibleModule, missing_required_lib +from ansible.module_utils.common.dict_transformations import recursive_diff +from ansible.module_utils.six import iteritems, string_types +from ansible.module_utils._text import to_native + +K8S_IMP_ERR = None +try: + import kubernetes + import openshift + from openshift.dynamic import DynamicClient + from openshift.dynamic.exceptions import ResourceNotFoundError, ResourceNotUniqueError + HAS_K8S_MODULE_HELPER = True + k8s_import_exception = None +except ImportError as e: + HAS_K8S_MODULE_HELPER = False + k8s_import_exception = e + K8S_IMP_ERR = traceback.format_exc() + +YAML_IMP_ERR = None +try: + import yaml + HAS_YAML = True +except ImportError: + YAML_IMP_ERR = traceback.format_exc() + HAS_YAML = False + +try: + import urllib3 + urllib3.disable_warnings() +except ImportError: + pass + + +def list_dict_str(value): + if isinstance(value, list): + return value + elif isinstance(value, dict): + return value + elif isinstance(value, string_types): + return value + raise TypeError + + +ARG_ATTRIBUTES_BLACKLIST = ('property_path',) + +COMMON_ARG_SPEC = { + 'state': { + 'default': 'present', + 'choices': ['present', 'absent'], + }, + 'force': { + 'type': 'bool', + 'default': False, + }, + 'resource_definition': { + 'type': list_dict_str, + 'aliases': ['definition', 'inline'] + }, + 'src': { + 'type': 'path', + }, + 'kind': {}, + 'name': {}, + 'namespace': {}, + 'api_version': { + 'default': 'v1', + 'aliases': ['api', 'version'], + }, +} + +AUTH_ARG_SPEC = { + 'kubeconfig': { + 'type': 'path', + }, + 'context': {}, + 'host': {}, + 'api_key': { + 'no_log': True, + }, + 'username': {}, + 'password': { + 'no_log': True, + }, + 'validate_certs': { + 'type': 'bool', + 'aliases': ['verify_ssl'], + }, + 'ca_cert': { + 'type': 'path', + 'aliases': ['ssl_ca_cert'], + }, + 'client_cert': { + 'type': 'path', + 'aliases': ['cert_file'], + }, + 'client_key': { + 'type': 'path', + 'aliases': ['key_file'], + }, + 'proxy': {}, +} + +# Map kubernetes-client parameters to ansible parameters +AUTH_ARG_MAP = { + 'kubeconfig': 'kubeconfig', + 'context': 'context', + 'host': 'host', + 'api_key': 'api_key', + 'username': 'username', + 'password': 'password', + 'verify_ssl': 'validate_certs', + 'ssl_ca_cert': 'ca_cert', + 'cert_file': 'client_cert', + 'key_file': 'client_key', + 'proxy': 'proxy', +} + + +class K8sAnsibleMixin(object): + _argspec_cache = None + + @property + def argspec(self): + """ + Introspect the model properties, and return an Ansible module arg_spec dict. + :return: dict + """ + if self._argspec_cache: + return self._argspec_cache + argument_spec = copy.deepcopy(COMMON_ARG_SPEC) + argument_spec.update(copy.deepcopy(AUTH_ARG_SPEC)) + self._argspec_cache = argument_spec + return self._argspec_cache + + def get_api_client(self, **auth_params): + auth_params = auth_params or getattr(self, 'params', {}) + auth = {} + + # If authorization variables aren't defined, look for them in environment variables + for true_name, arg_name in AUTH_ARG_MAP.items(): + if auth_params.get(arg_name) is None: + env_value = os.getenv('K8S_AUTH_{0}'.format(arg_name.upper()), None) or os.getenv('K8S_AUTH_{0}'.format(true_name.upper()), None) + if env_value is not None: + if AUTH_ARG_SPEC[arg_name].get('type') == 'bool': + env_value = env_value.lower() not in ['0', 'false', 'no'] + auth[true_name] = env_value + else: + auth[true_name] = auth_params[arg_name] + + def auth_set(*names): + return all([auth.get(name) for name in names]) + + if auth_set('username', 'password', 'host') or auth_set('api_key', 'host'): + # We have enough in the parameters to authenticate, no need to load incluster or kubeconfig + pass + elif auth_set('kubeconfig') or auth_set('context'): + kubernetes.config.load_kube_config(auth.get('kubeconfig'), auth.get('context')) + else: + # First try to do incluster config, then kubeconfig + try: + kubernetes.config.load_incluster_config() + except kubernetes.config.ConfigException: + kubernetes.config.load_kube_config(auth.get('kubeconfig'), auth.get('context')) + + # Override any values in the default configuration with Ansible parameters + configuration = kubernetes.client.Configuration() + for key, value in iteritems(auth): + if key in AUTH_ARG_MAP.keys() and value is not None: + if key == 'api_key': + setattr(configuration, key, {'authorization': "Bearer {0}".format(value)}) + else: + setattr(configuration, key, value) + + kubernetes.client.Configuration.set_default(configuration) + return DynamicClient(kubernetes.client.ApiClient(configuration)) + + def find_resource(self, kind, api_version, fail=False): + for attribute in ['kind', 'name', 'singular_name']: + try: + return self.client.resources.get(**{'api_version': api_version, attribute: kind}) + except (ResourceNotFoundError, ResourceNotUniqueError): + pass + try: + return self.client.resources.get(api_version=api_version, short_names=[kind]) + except (ResourceNotFoundError, ResourceNotUniqueError): + if fail: + self.fail(msg='Failed to find exact match for {0}.{1} by [kind, name, singularName, shortNames]'.format(api_version, kind)) + + def kubernetes_facts(self, kind, api_version, name=None, namespace=None, label_selectors=None, field_selectors=None): + resource = self.find_resource(kind, api_version) + if not resource: + return dict(resources=[]) + try: + result = resource.get(name=name, + namespace=namespace, + label_selector=','.join(label_selectors), + field_selector=','.join(field_selectors)).to_dict() + except openshift.dynamic.exceptions.NotFoundError: + return dict(resources=[]) + + if 'items' in result: + return dict(resources=result['items']) + else: + return dict(resources=[result]) + + def remove_aliases(self): + """ + The helper doesn't know what to do with aliased keys + """ + for k, v in iteritems(self.argspec): + if 'aliases' in v: + for alias in v['aliases']: + if alias in self.params: + self.params.pop(alias) + + def load_resource_definitions(self, src): + """ Load the requested src path """ + result = None + path = os.path.normpath(src) + if not os.path.exists(path): + self.fail(msg="Error accessing {0}. Does the file exist?".format(path)) + try: + with open(path, 'r') as f: + result = list(yaml.safe_load_all(f)) + except (IOError, yaml.YAMLError) as exc: + self.fail(msg="Error loading resource_definition: {0}".format(exc)) + return result + + @staticmethod + def diff_objects(existing, new): + result = dict() + diff = recursive_diff(existing, new) + if diff: + result['before'] = diff[0] + result['after'] = diff[1] + return not diff, result + + +class KubernetesAnsibleModule(AnsibleModule, K8sAnsibleMixin): + resource_definition = None + api_version = None + kind = None + + def __init__(self, *args, **kwargs): + + kwargs['argument_spec'] = self.argspec + AnsibleModule.__init__(self, *args, **kwargs) + + if not HAS_K8S_MODULE_HELPER: + self.fail_json(msg=missing_required_lib('openshift'), exception=K8S_IMP_ERR, + error=to_native(k8s_import_exception)) + self.openshift_version = openshift.__version__ + + if not HAS_YAML: + self.fail_json(msg=missing_required_lib("PyYAML"), exception=YAML_IMP_ERR) + + def execute_module(self): + raise NotImplementedError() + + def fail(self, msg=None): + self.fail_json(msg=msg) diff --git a/plugins/module_utils/raw.py b/plugins/module_utils/raw.py new file mode 100644 index 00000000..eff77bf3 --- /dev/null +++ b/plugins/module_utils/raw.py @@ -0,0 +1,514 @@ +# +# Copyright 2018 Red Hat | Ansible +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +from __future__ import absolute_import, division, print_function + +import copy +from datetime import datetime +from distutils.version import LooseVersion +import time +import sys +import traceback + +from ansible.module_utils.basic import missing_required_lib +from ansible_collections.community.kubernetes.plugins.module_utils.common import AUTH_ARG_SPEC, COMMON_ARG_SPEC +from ansible.module_utils.six import string_types +from ansible_collections.community.kubernetes.plugins.module_utils.common import KubernetesAnsibleModule +from ansible.module_utils.common.dict_transformations import dict_merge + + +try: + import yaml + from openshift.dynamic.exceptions import DynamicApiError, NotFoundError, ConflictError, ForbiddenError, KubernetesValidateMissing +except ImportError: + # Exceptions handled in common + pass + +try: + import kubernetes_validate + HAS_KUBERNETES_VALIDATE = True +except ImportError: + HAS_KUBERNETES_VALIDATE = False + +K8S_CONFIG_HASH_IMP_ERR = None +try: + from openshift.helper.hashes import generate_hash + HAS_K8S_CONFIG_HASH = True +except ImportError: + K8S_CONFIG_HASH_IMP_ERR = traceback.format_exc() + HAS_K8S_CONFIG_HASH = False + +HAS_K8S_APPLY = None +try: + from openshift.dynamic.apply import apply_object + HAS_K8S_APPLY = True +except ImportError: + HAS_K8S_APPLY = False + + +class KubernetesRawModule(KubernetesAnsibleModule): + + @property + def validate_spec(self): + return dict( + fail_on_error=dict(type='bool'), + version=dict(), + strict=dict(type='bool', default=True) + ) + + @property + def condition_spec(self): + return dict( + type=dict(), + status=dict(default=True, choices=[True, False, "Unknown"]), + reason=dict() + ) + + @property + def argspec(self): + argument_spec = copy.deepcopy(COMMON_ARG_SPEC) + argument_spec.update(copy.deepcopy(AUTH_ARG_SPEC)) + argument_spec['merge_type'] = dict(type='list', choices=['json', 'merge', 'strategic-merge']) + argument_spec['wait'] = dict(type='bool', default=False) + argument_spec['wait_sleep'] = dict(type='int', default=5) + argument_spec['wait_timeout'] = dict(type='int', default=120) + argument_spec['wait_condition'] = dict(type='dict', default=None, options=self.condition_spec) + argument_spec['validate'] = dict(type='dict', default=None, options=self.validate_spec) + argument_spec['append_hash'] = dict(type='bool', default=False) + argument_spec['apply'] = dict(type='bool', default=False) + return argument_spec + + def __init__(self, k8s_kind=None, *args, **kwargs): + self.client = None + self.warnings = [] + + mutually_exclusive = [ + ('resource_definition', 'src'), + ('merge_type', 'apply'), + ] + + KubernetesAnsibleModule.__init__(self, *args, + mutually_exclusive=mutually_exclusive, + supports_check_mode=True, + **kwargs) + self.kind = k8s_kind or self.params.get('kind') + self.api_version = self.params.get('api_version') + self.name = self.params.get('name') + self.namespace = self.params.get('namespace') + resource_definition = self.params.get('resource_definition') + validate = self.params.get('validate') + if validate: + if LooseVersion(self.openshift_version) < LooseVersion("0.8.0"): + self.fail_json(msg="openshift >= 0.8.0 is required for validate") + self.append_hash = self.params.get('append_hash') + if self.append_hash: + if not HAS_K8S_CONFIG_HASH: + self.fail_json(msg=missing_required_lib("openshift >= 0.7.2", reason="for append_hash"), + exception=K8S_CONFIG_HASH_IMP_ERR) + if self.params['merge_type']: + if LooseVersion(self.openshift_version) < LooseVersion("0.6.2"): + self.fail_json(msg=missing_required_lib("openshift >= 0.6.2", reason="for merge_type")) + self.apply = self.params.get('apply', False) + if self.apply: + if not HAS_K8S_APPLY: + self.fail_json(msg=missing_required_lib("openshift >= 0.9.2", reason="for apply")) + + if resource_definition: + if isinstance(resource_definition, string_types): + try: + self.resource_definitions = yaml.safe_load_all(resource_definition) + except (IOError, yaml.YAMLError) as exc: + self.fail(msg="Error loading resource_definition: {0}".format(exc)) + elif isinstance(resource_definition, list): + self.resource_definitions = resource_definition + else: + self.resource_definitions = [resource_definition] + src = self.params.get('src') + if src: + self.resource_definitions = self.load_resource_definitions(src) + try: + self.resource_definitions = [item for item in self.resource_definitions if item] + except AttributeError: + pass + + if not resource_definition and not src: + implicit_definition = dict( + kind=self.kind, + apiVersion=self.api_version, + metadata=dict(name=self.name) + ) + if self.namespace: + implicit_definition['metadata']['namespace'] = self.namespace + self.resource_definitions = [implicit_definition] + + def flatten_list_kind(self, list_resource, definitions): + flattened = [] + parent_api_version = list_resource.group_version if list_resource else None + parent_kind = list_resource.kind[:-4] if list_resource else None + for definition in definitions.get('items', []): + resource = self.find_resource(definition.get('kind', parent_kind), definition.get('apiVersion', parent_api_version), fail=True) + flattened.append((resource, self.set_defaults(resource, definition))) + return flattened + + def execute_module(self): + changed = False + results = [] + self.client = self.get_api_client() + + flattened_definitions = [] + for definition in self.resource_definitions: + kind = definition.get('kind', self.kind) + api_version = definition.get('apiVersion', self.api_version) + if kind.endswith('List'): + resource = self.find_resource(kind, api_version, fail=False) + flattened_definitions.extend(self.flatten_list_kind(resource, definition)) + else: + resource = self.find_resource(kind, api_version, fail=True) + flattened_definitions.append((resource, definition)) + + for (resource, definition) in flattened_definitions: + kind = definition.get('kind', self.kind) + api_version = definition.get('apiVersion', self.api_version) + definition = self.set_defaults(resource, definition) + self.warnings = [] + if self.params['validate'] is not None: + self.warnings = self.validate(definition) + result = self.perform_action(resource, definition) + result['warnings'] = self.warnings + changed = changed or result['changed'] + results.append(result) + + if len(results) == 1: + self.exit_json(**results[0]) + + self.exit_json(**{ + 'changed': changed, + 'result': { + 'results': results + } + }) + + def validate(self, resource): + def _prepend_resource_info(resource, msg): + return "%s %s: %s" % (resource['kind'], resource['metadata']['name'], msg) + + try: + warnings, errors = self.client.validate(resource, self.params['validate'].get('version'), self.params['validate'].get('strict')) + except KubernetesValidateMissing: + self.fail_json(msg="kubernetes-validate python library is required to validate resources") + + if errors and self.params['validate']['fail_on_error']: + self.fail_json(msg="\n".join([_prepend_resource_info(resource, error) for error in errors])) + else: + return [_prepend_resource_info(resource, msg) for msg in warnings + errors] + + def set_defaults(self, resource, definition): + definition['kind'] = resource.kind + definition['apiVersion'] = resource.group_version + metadata = definition.get('metadata', {}) + if self.name and not metadata.get('name'): + metadata['name'] = self.name + if resource.namespaced and self.namespace and not metadata.get('namespace'): + metadata['namespace'] = self.namespace + definition['metadata'] = metadata + return definition + + def perform_action(self, resource, definition): + result = {'changed': False, 'result': {}} + state = self.params.get('state', None) + force = self.params.get('force', False) + name = definition['metadata'].get('name') + namespace = definition['metadata'].get('namespace') + existing = None + wait = self.params.get('wait') + wait_sleep = self.params.get('wait_sleep') + wait_timeout = self.params.get('wait_timeout') + wait_condition = None + if self.params.get('wait_condition') and self.params['wait_condition'].get('type'): + wait_condition = self.params['wait_condition'] + + self.remove_aliases() + + try: + # ignore append_hash for resources other than ConfigMap and Secret + if self.append_hash and definition['kind'] in ['ConfigMap', 'Secret']: + name = '%s-%s' % (name, generate_hash(definition)) + definition['metadata']['name'] = name + params = dict(name=name) + if namespace: + params['namespace'] = namespace + existing = resource.get(**params) + except NotFoundError: + # Remove traceback so that it doesn't show up in later failures + try: + sys.exc_clear() + except AttributeError: + # no sys.exc_clear on python3 + pass + except ForbiddenError as exc: + if definition['kind'] in ['Project', 'ProjectRequest'] and state != 'absent': + return self.create_project_request(definition) + self.fail_json(msg='Failed to retrieve requested object: {0}'.format(exc.body), + error=exc.status, status=exc.status, reason=exc.reason) + except DynamicApiError as exc: + self.fail_json(msg='Failed to retrieve requested object: {0}'.format(exc.body), + error=exc.status, status=exc.status, reason=exc.reason) + + if state == 'absent': + result['method'] = "delete" + if not existing: + # The object already does not exist + return result + else: + # Delete the object + result['changed'] = True + if not self.check_mode: + try: + k8s_obj = resource.delete(**params) + result['result'] = k8s_obj.to_dict() + except DynamicApiError as exc: + self.fail_json(msg="Failed to delete object: {0}".format(exc.body), + error=exc.status, status=exc.status, reason=exc.reason) + if wait: + success, resource, duration = self.wait(resource, definition, wait_sleep, wait_timeout, 'absent') + result['duration'] = duration + if not success: + self.fail_json(msg="Resource deletion timed out", **result) + return result + else: + if self.apply: + if self.check_mode: + ignored, k8s_obj = apply_object(resource, definition) + else: + try: + k8s_obj = resource.apply(definition, namespace=namespace).to_dict() + except DynamicApiError as exc: + msg = "Failed to apply object: {0}".format(exc.body) + if self.warnings: + msg += "\n" + "\n ".join(self.warnings) + self.fail_json(msg=msg, error=exc.status, status=exc.status, reason=exc.reason) + success = True + result['result'] = k8s_obj + if wait: + success, result['result'], result['duration'] = self.wait(resource, definition, wait_sleep, wait_timeout, condition=wait_condition) + if existing: + existing = existing.to_dict() + else: + existing = {} + match, diffs = self.diff_objects(existing, result['result']) + result['changed'] = not match + result['diff'] = diffs + result['method'] = 'apply' + if not success: + self.fail_json(msg="Resource apply timed out", **result) + return result + + if not existing: + if self.check_mode: + k8s_obj = definition + else: + try: + k8s_obj = resource.create(definition, namespace=namespace).to_dict() + except ConflictError: + # Some resources, like ProjectRequests, can't be created multiple times, + # because the resources that they create don't match their kind + # In this case we'll mark it as unchanged and warn the user + self.warn("{0} was not found, but creating it returned a 409 Conflict error. This can happen \ + if the resource you are creating does not directly create a resource of the same kind.".format(name)) + return result + except DynamicApiError as exc: + msg = "Failed to create object: {0}".format(exc.body) + if self.warnings: + msg += "\n" + "\n ".join(self.warnings) + self.fail_json(msg=msg, error=exc.status, status=exc.status, reason=exc.reason) + success = True + result['result'] = k8s_obj + if wait and not self.check_mode: + success, result['result'], result['duration'] = self.wait(resource, definition, wait_sleep, wait_timeout, condition=wait_condition) + result['changed'] = True + result['method'] = 'create' + if not success: + self.fail_json(msg="Resource creation timed out", **result) + return result + + match = False + diffs = [] + + if existing and force: + if self.check_mode: + k8s_obj = definition + else: + try: + k8s_obj = resource.replace(definition, name=name, namespace=namespace, append_hash=self.append_hash).to_dict() + except DynamicApiError as exc: + msg = "Failed to replace object: {0}".format(exc.body) + if self.warnings: + msg += "\n" + "\n ".join(self.warnings) + self.fail_json(msg=msg, error=exc.status, status=exc.status, reason=exc.reason) + match, diffs = self.diff_objects(existing.to_dict(), k8s_obj) + success = True + result['result'] = k8s_obj + if wait: + success, result['result'], result['duration'] = self.wait(resource, definition, wait_sleep, wait_timeout, condition=wait_condition) + match, diffs = self.diff_objects(existing.to_dict(), result['result']) + result['changed'] = not match + result['method'] = 'replace' + result['diff'] = diffs + if not success: + self.fail_json(msg="Resource replacement timed out", **result) + return result + + # Differences exist between the existing obj and requested params + if self.check_mode: + k8s_obj = dict_merge(existing.to_dict(), definition) + else: + if LooseVersion(self.openshift_version) < LooseVersion("0.6.2"): + k8s_obj, error = self.patch_resource(resource, definition, existing, name, + namespace) + else: + for merge_type in self.params['merge_type'] or ['strategic-merge', 'merge']: + k8s_obj, error = self.patch_resource(resource, definition, existing, name, + namespace, merge_type=merge_type) + if not error: + break + if error: + self.fail_json(**error) + + success = True + result['result'] = k8s_obj + if wait: + success, result['result'], result['duration'] = self.wait(resource, definition, wait_sleep, wait_timeout, condition=wait_condition) + match, diffs = self.diff_objects(existing.to_dict(), result['result']) + result['changed'] = not match + result['method'] = 'patch' + result['diff'] = diffs + + if not success: + self.fail_json(msg="Resource update timed out", **result) + return result + + def patch_resource(self, resource, definition, existing, name, namespace, merge_type=None): + try: + params = dict(name=name, namespace=namespace) + if merge_type: + params['content_type'] = 'application/{0}-patch+json'.format(merge_type) + k8s_obj = resource.patch(definition, **params).to_dict() + match, diffs = self.diff_objects(existing.to_dict(), k8s_obj) + error = {} + return k8s_obj, {} + except DynamicApiError as exc: + msg = "Failed to patch object: {0}".format(exc.body) + if self.warnings: + msg += "\n" + "\n ".join(self.warnings) + error = dict(msg=msg, error=exc.status, status=exc.status, reason=exc.reason, warnings=self.warnings) + return None, error + + def create_project_request(self, definition): + definition['kind'] = 'ProjectRequest' + result = {'changed': False, 'result': {}} + resource = self.find_resource('ProjectRequest', definition['apiVersion'], fail=True) + if not self.check_mode: + try: + k8s_obj = resource.create(definition) + result['result'] = k8s_obj.to_dict() + except DynamicApiError as exc: + self.fail_json(msg="Failed to create object: {0}".format(exc.body), + error=exc.status, status=exc.status, reason=exc.reason) + result['changed'] = True + result['method'] = 'create' + return result + + def _wait_for(self, resource, name, namespace, predicate, sleep, timeout, state): + start = datetime.now() + + def _wait_for_elapsed(): + return (datetime.now() - start).seconds + + response = None + while _wait_for_elapsed() < timeout: + try: + response = resource.get(name=name, namespace=namespace) + if predicate(response): + if response: + return True, response.to_dict(), _wait_for_elapsed() + else: + return True, {}, _wait_for_elapsed() + time.sleep(sleep) + except NotFoundError: + if state == 'absent': + return True, {}, _wait_for_elapsed() + if response: + response = response.to_dict() + return False, response, _wait_for_elapsed() + + def wait(self, resource, definition, sleep, timeout, state='present', condition=None): + + def _deployment_ready(deployment): + # FIXME: frustratingly bool(deployment.status) is True even if status is empty + # Furthermore deployment.status.availableReplicas == deployment.status.replicas == None if status is empty + return (deployment.status and deployment.status.replicas is not None and + deployment.status.availableReplicas == deployment.status.replicas and + deployment.status.observedGeneration == deployment.metadata.generation) + + def _pod_ready(pod): + return (pod.status and pod.status.containerStatuses is not None and + all([container.ready for container in pod.status.containerStatuses])) + + def _daemonset_ready(daemonset): + return (daemonset.status and daemonset.status.desiredNumberScheduled is not None and + daemonset.status.numberReady == daemonset.status.desiredNumberScheduled and + daemonset.status.observedGeneration == daemonset.metadata.generation) + + def _custom_condition(resource): + if not resource.status or not resource.status.conditions: + return False + match = [x for x in resource.status.conditions if x.type == condition['type']] + if not match: + return False + # There should never be more than one condition of a specific type + match = match[0] + if match.status == 'Unknown': + if match.status == condition['status']: + if 'reason' not in condition: + return True + if condition['reason']: + return match.reason == condition['reason'] + return False + status = True if match.status == 'True' else False + if status == condition['status']: + if condition.get('reason'): + return match.reason == condition['reason'] + return True + return False + + def _resource_absent(resource): + return not resource + + waiter = dict( + Deployment=_deployment_ready, + DaemonSet=_daemonset_ready, + Pod=_pod_ready + ) + kind = definition['kind'] + if state == 'present' and not condition: + predicate = waiter.get(kind, lambda x: x) + elif state == 'present' and condition: + predicate = _custom_condition + else: + predicate = _resource_absent + return self._wait_for(resource, definition['metadata']['name'], definition['metadata'].get('namespace'), predicate, sleep, timeout, state) diff --git a/plugins/module_utils/scale.py b/plugins/module_utils/scale.py new file mode 100644 index 00000000..c0a7efb8 --- /dev/null +++ b/plugins/module_utils/scale.py @@ -0,0 +1,243 @@ +# +# Copyright 2018 Red Hat | Ansible +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +from __future__ import absolute_import, division, print_function + +import copy +import math +import time + +from ansible_collections.community.kubernetes.plugins.module_utils.common import AUTH_ARG_SPEC, COMMON_ARG_SPEC +from ansible_collections.community.kubernetes.plugins.module_utils.common import KubernetesAnsibleModule +from ansible.module_utils.six import string_types + +try: + import yaml + from openshift import watch + from openshift.dynamic.client import ResourceInstance + from openshift.helper.exceptions import KubernetesException +except ImportError as exc: + class KubernetesException(Exception): + pass + + +SCALE_ARG_SPEC = { + 'replicas': {'type': 'int', 'required': True}, + 'current_replicas': {'type': 'int'}, + 'resource_version': {}, + 'wait': {'type': 'bool', 'default': True}, + 'wait_timeout': {'type': 'int', 'default': 20}, +} + + +class KubernetesAnsibleScaleModule(KubernetesAnsibleModule): + + def __init__(self, k8s_kind=None, *args, **kwargs): + self.client = None + self.warnings = [] + + mutually_exclusive = [ + ('resource_definition', 'src'), + ] + + KubernetesAnsibleModule.__init__(self, *args, + mutually_exclusive=mutually_exclusive, + supports_check_mode=True, + **kwargs) + self.kind = k8s_kind or self.params.get('kind') + self.api_version = self.params.get('api_version') + self.name = self.params.get('name') + self.namespace = self.params.get('namespace') + resource_definition = self.params.get('resource_definition') + + if resource_definition: + if isinstance(resource_definition, string_types): + try: + self.resource_definitions = yaml.safe_load_all(resource_definition) + except (IOError, yaml.YAMLError) as exc: + self.fail(msg="Error loading resource_definition: {0}".format(exc)) + elif isinstance(resource_definition, list): + self.resource_definitions = resource_definition + else: + self.resource_definitions = [resource_definition] + src = self.params.get('src') + if src: + self.resource_definitions = self.load_resource_definitions(src) + + if not resource_definition and not src: + implicit_definition = dict( + kind=self.kind, + apiVersion=self.api_version, + metadata=dict(name=self.name) + ) + if self.namespace: + implicit_definition['metadata']['namespace'] = self.namespace + self.resource_definitions = [implicit_definition] + + def execute_module(self): + definition = self.resource_definitions[0] + + self.client = self.get_api_client() + + name = definition['metadata']['name'] + namespace = definition['metadata'].get('namespace') + api_version = definition['apiVersion'] + kind = definition['kind'] + current_replicas = self.params.get('current_replicas') + replicas = self.params.get('replicas') + resource_version = self.params.get('resource_version') + + wait = self.params.get('wait') + wait_time = self.params.get('wait_timeout') + existing = None + existing_count = None + return_attributes = dict(changed=False, result=dict()) + + resource = self.find_resource(kind, api_version, fail=True) + + try: + existing = resource.get(name=name, namespace=namespace) + return_attributes['result'] = existing.to_dict() + except KubernetesException as exc: + self.fail_json(msg='Failed to retrieve requested object: {0}'.format(exc), + error=exc.value.get('status')) + + if self.kind == 'job': + existing_count = existing.spec.parallelism + elif hasattr(existing.spec, 'replicas'): + existing_count = existing.spec.replicas + + if existing_count is None: + self.fail_json(msg='Failed to retrieve the available count for the requested object.') + + if resource_version and resource_version != existing.metadata.resourceVersion: + self.exit_json(**return_attributes) + + if current_replicas is not None and existing_count != current_replicas: + self.exit_json(**return_attributes) + + if existing_count != replicas: + return_attributes['changed'] = True + if not self.check_mode: + if self.kind == 'job': + existing.spec.parallelism = replicas + k8s_obj = resource.patch(existing.to_dict()) + else: + k8s_obj = self.scale(resource, existing, replicas, wait, wait_time) + return_attributes['result'] = k8s_obj.to_dict() + + self.exit_json(**return_attributes) + + @property + def argspec(self): + args = copy.deepcopy(COMMON_ARG_SPEC) + args.pop('state') + args.pop('force') + args.update(AUTH_ARG_SPEC) + args.update(SCALE_ARG_SPEC) + return args + + def scale(self, resource, existing_object, replicas, wait, wait_time): + name = existing_object.metadata.name + namespace = existing_object.metadata.namespace + + if not hasattr(resource, 'scale'): + self.fail_json( + msg="Cannot perform scale on resource of kind {0}".format(resource.kind) + ) + + scale_obj = {'metadata': {'name': name, 'namespace': namespace}, 'spec': {'replicas': replicas}} + + return_obj = None + stream = None + + if wait: + w, stream = self._create_stream(resource, namespace, wait_time) + + try: + resource.scale.patch(body=scale_obj) + except Exception as exc: + self.fail_json( + msg="Scale request failed: {0}".format(exc) + ) + + if wait and stream is not None: + return_obj = self._read_stream(resource, w, stream, name, replicas) + + if not return_obj: + return_obj = self._wait_for_response(resource, name, namespace) + + return return_obj + + def _create_stream(self, resource, namespace, wait_time): + """ Create a stream of events for the object """ + w = None + stream = None + try: + w = watch.Watch() + w._api_client = self.client.client + if namespace: + stream = w.stream(resource.get, serialize=False, namespace=namespace, timeout_seconds=wait_time) + else: + stream = w.stream(resource.get, serialize=False, namespace=namespace, timeout_seconds=wait_time) + except KubernetesException: + pass + return w, stream + + def _read_stream(self, resource, watcher, stream, name, replicas): + """ Wait for ready_replicas to equal the requested number of replicas. """ + return_obj = None + try: + for event in stream: + if event.get('object'): + obj = ResourceInstance(resource, event['object']) + if obj.metadata.name == name and hasattr(obj, 'status'): + if replicas == 0: + if not hasattr(obj.status, 'readyReplicas') or not obj.status.readyReplicas: + return_obj = obj + watcher.stop() + break + if hasattr(obj.status, 'readyReplicas') and obj.status.readyReplicas == replicas: + return_obj = obj + watcher.stop() + break + except Exception as exc: + self.fail_json(msg="Exception reading event stream: {0}".format(exc)) + + if not return_obj: + self.fail_json(msg="Error fetching the patched object. Try a higher wait_timeout value.") + if replicas and return_obj.status.readyReplicas is None: + self.fail_json(msg="Failed to fetch the number of ready replicas. Try a higher wait_timeout value.") + if replicas and return_obj.status.readyReplicas != replicas: + self.fail_json(msg="Number of ready replicas is {0}. Failed to reach {1} ready replicas within " + "the wait_timeout period.".format(return_obj.status.ready_replicas, replicas)) + return return_obj + + def _wait_for_response(self, resource, name, namespace): + """ Wait for an API response """ + tries = 0 + half = math.ceil(20 / 2) + obj = None + + while tries <= half: + obj = resource.get(name=name, namespace=namespace) + if obj: + break + tries += 2 + time.sleep(2) + return obj diff --git a/plugins/modules/_oc.py b/plugins/modules/_oc.py new file mode 100644 index 00000000..5fdcf542 --- /dev/null +++ b/plugins/modules/_oc.py @@ -0,0 +1,21 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# (c) 2017, Kenneth D. Evensen + +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + +ANSIBLE_METADATA = { + 'metadata_version': '1.1', + 'status': ['removed'], + 'supported_by': 'community' +} + + +from ansible.module_utils.common.removed import removed_module + + +if __name__ == '__main__': + removed_module(removed_in='2.9') diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py index e61b29b8..34843e3a 100644 --- a/plugins/modules/k8s.py +++ b/plugins/modules/k8s.py @@ -268,7 +268,7 @@ result: sample: 48 ''' -from ansible.module_utils.k8s.raw import KubernetesRawModule +from ansible_collections.community.kubernetes.plugins.module_utils.raw import KubernetesRawModule def main(): diff --git a/plugins/modules/k8s_info.py b/plugins/modules/k8s_info.py index 99a8fd8c..42a06c7e 100644 --- a/plugins/modules/k8s_info.py +++ b/plugins/modules/k8s_info.py @@ -131,7 +131,7 @@ resources: ''' -from ansible.module_utils.k8s.common import KubernetesAnsibleModule, AUTH_ARG_SPEC +from ansible_collections.community.kubernetes.plugins.module_utils.common import KubernetesAnsibleModule, AUTH_ARG_SPEC import copy diff --git a/plugins/modules/k8s_scale.py b/plugins/modules/k8s_scale.py index 2afb0f95..997b92bf 100644 --- a/plugins/modules/k8s_scale.py +++ b/plugins/modules/k8s_scale.py @@ -118,7 +118,7 @@ result: type: complex ''' -from ansible.module_utils.k8s.scale import KubernetesAnsibleScaleModule +from ansible_collections.community.kubernetes.plugins.module_utils.scale import KubernetesAnsibleScaleModule def main(): diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py index 82a89828..89e0e698 100644 --- a/plugins/modules/k8s_service.py +++ b/plugins/modules/k8s_service.py @@ -167,8 +167,8 @@ import traceback from collections import defaultdict -from ansible.module_utils.k8s.common import AUTH_ARG_SPEC, COMMON_ARG_SPEC -from ansible.module_utils.k8s.raw import KubernetesRawModule +from ansible_collections.community.kubernetes.plugins.module_utils.common import AUTH_ARG_SPEC, COMMON_ARG_SPEC +from ansible_collections.community.kubernetes.plugins.module_utils.raw import KubernetesRawModule SERVICE_ARG_SPEC = { diff --git a/tests/integration/targets/k8s/k8s/meta/main.yml b/tests/integration/targets/k8s/k8s/meta/main.yml deleted file mode 100644 index 1810d4be..00000000 --- a/tests/integration/targets/k8s/k8s/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - setup_remote_tmp_dir diff --git a/tests/integration/targets/k8s/k8s/README.md b/tests/integration/targets/kubernetes/README.md similarity index 92% rename from tests/integration/targets/k8s/k8s/README.md rename to tests/integration/targets/kubernetes/README.md index 7cb72b16..2a09ca17 100644 --- a/tests/integration/targets/k8s/k8s/README.md +++ b/tests/integration/targets/kubernetes/README.md @@ -11,13 +11,9 @@ If kubectl is already using the right config file and context, you can just do ``` -cd test/integration/targets/k8s +cd tests/integration/targets/k8s ./runme.sh -vv ``` otherwise set one or both of `K8S_AUTH_KUBECONFIG` and `K8S_AUTH_CONTEXT` and use the same command - - - - diff --git a/tests/integration/targets/k8s/k8s/aliases b/tests/integration/targets/kubernetes/aliases similarity index 100% rename from tests/integration/targets/k8s/k8s/aliases rename to tests/integration/targets/kubernetes/aliases diff --git a/tests/integration/targets/k8s/k8s/defaults/main.yml b/tests/integration/targets/kubernetes/defaults/main.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/defaults/main.yml rename to tests/integration/targets/kubernetes/defaults/main.yml diff --git a/tests/integration/targets/k8s/k8s/files/crd-resource.yml b/tests/integration/targets/kubernetes/files/crd-resource.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/files/crd-resource.yml rename to tests/integration/targets/kubernetes/files/crd-resource.yml diff --git a/tests/integration/targets/k8s/k8s/files/kuard-extra-property.yml b/tests/integration/targets/kubernetes/files/kuard-extra-property.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/files/kuard-extra-property.yml rename to tests/integration/targets/kubernetes/files/kuard-extra-property.yml diff --git a/tests/integration/targets/k8s/k8s/files/kuard-invalid-type.yml b/tests/integration/targets/kubernetes/files/kuard-invalid-type.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/files/kuard-invalid-type.yml rename to tests/integration/targets/kubernetes/files/kuard-invalid-type.yml diff --git a/tests/integration/targets/k8s/k8s/files/setup-crd.yml b/tests/integration/targets/kubernetes/files/setup-crd.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/files/setup-crd.yml rename to tests/integration/targets/kubernetes/files/setup-crd.yml diff --git a/tests/integration/targets/kubernetes/handlers/main.yml b/tests/integration/targets/kubernetes/handlers/main.yml new file mode 100644 index 00000000..39872d74 --- /dev/null +++ b/tests/integration/targets/kubernetes/handlers/main.yml @@ -0,0 +1,5 @@ +- name: delete temporary directory + file: + path: "{{ remote_tmp_dir }}" + state: absent + no_log: yes diff --git a/tests/integration/targets/kubernetes/meta/main.yml b/tests/integration/targets/kubernetes/meta/main.yml new file mode 100644 index 00000000..32cf5dda --- /dev/null +++ b/tests/integration/targets/kubernetes/meta/main.yml @@ -0,0 +1 @@ +dependencies: [] diff --git a/tests/integration/targets/k8s/k8s/tasks/append_hash.yml b/tests/integration/targets/kubernetes/tasks/append_hash.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/append_hash.yml rename to tests/integration/targets/kubernetes/tasks/append_hash.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/apply.yml b/tests/integration/targets/kubernetes/tasks/apply.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/apply.yml rename to tests/integration/targets/kubernetes/tasks/apply.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/crd.yml b/tests/integration/targets/kubernetes/tasks/crd.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/crd.yml rename to tests/integration/targets/kubernetes/tasks/crd.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/delete.yml b/tests/integration/targets/kubernetes/tasks/delete.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/delete.yml rename to tests/integration/targets/kubernetes/tasks/delete.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/full_test.yml b/tests/integration/targets/kubernetes/tasks/full_test.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/full_test.yml rename to tests/integration/targets/kubernetes/tasks/full_test.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/lists.yml b/tests/integration/targets/kubernetes/tasks/lists.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/lists.yml rename to tests/integration/targets/kubernetes/tasks/lists.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/main.yml b/tests/integration/targets/kubernetes/tasks/main.yml similarity index 98% rename from tests/integration/targets/k8s/k8s/tasks/main.yml rename to tests/integration/targets/kubernetes/tasks/main.yml index bb11bbc6..706cb4dd 100644 --- a/tests/integration/targets/k8s/k8s/tasks/main.yml +++ b/tests/integration/targets/kubernetes/tasks/main.yml @@ -1,3 +1,5 @@ +- include_tasks: setup_remote_tmp_dir.yml + - set_fact: virtualenv: "{{ remote_tmp_dir }}/virtualenv" virtualenv_command: "{{ ansible_python_interpreter }} -m virtualenv" diff --git a/tests/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml b/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/older_openshift_fail.yml rename to tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/openshift.yml b/tests/integration/targets/kubernetes/tasks/openshift.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/openshift.yml rename to tests/integration/targets/kubernetes/tasks/openshift.yml diff --git a/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml b/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml new file mode 100644 index 00000000..1e0f51b8 --- /dev/null +++ b/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml @@ -0,0 +1,11 @@ +- name: create temporary directory + tempfile: + state: directory + suffix: .test + register: remote_tmp_dir + notify: + - delete temporary directory + +- name: record temporary directory + set_fact: + remote_tmp_dir: "{{ remote_tmp_dir.path }}" diff --git a/tests/integration/targets/k8s/k8s/tasks/validate_installed.yml b/tests/integration/targets/kubernetes/tasks/validate_installed.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/validate_installed.yml rename to tests/integration/targets/kubernetes/tasks/validate_installed.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/validate_not_installed.yml b/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/validate_not_installed.yml rename to tests/integration/targets/kubernetes/tasks/validate_not_installed.yml diff --git a/tests/integration/targets/k8s/k8s/tasks/waiter.yml b/tests/integration/targets/kubernetes/tasks/waiter.yml similarity index 100% rename from tests/integration/targets/k8s/k8s/tasks/waiter.yml rename to tests/integration/targets/kubernetes/tasks/waiter.yml diff --git a/tests/output/data/integration-2020-01-30-18-12-28.json b/tests/output/data/integration-2020-01-30-18-12-28.json new file mode 100644 index 00000000..e9518e6d --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-12-28.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 63, + "targets": [ + "k8s.k8s" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-18-17-09.json b/tests/output/data/integration-2020-01-30-18-17-09.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-17-09.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-18-38-09.json b/tests/output/data/integration-2020-01-30-18-38-09.json new file mode 100644 index 00000000..f90fb7f6 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-38-09.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 19, + "targets": [ + "k8s.k8s" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-18-38-46.json b/tests/output/data/integration-2020-01-30-18-38-46.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-38-46.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-18-39-24.json b/tests/output/data/integration-2020-01-30-18-39-24.json new file mode 100644 index 00000000..f90fb7f6 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-39-24.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 19, + "targets": [ + "k8s.k8s" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-18-40-04.json b/tests/output/data/integration-2020-01-30-18-40-04.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-18-40-04.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-19-31-05.json b/tests/output/data/integration-2020-01-30-19-31-05.json new file mode 100644 index 00000000..dd8cd323 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-31-05.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 20, + "targets": [ + "kubernetes" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-19-31-39.json b/tests/output/data/integration-2020-01-30-19-31-39.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-31-39.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-19-33-27.json b/tests/output/data/integration-2020-01-30-19-33-27.json new file mode 100644 index 00000000..f91486e6 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-33-27.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 19, + "targets": [ + "kubernetes" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-19-34-06.json b/tests/output/data/integration-2020-01-30-19-34-06.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-34-06.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-19-37-59.json b/tests/output/data/integration-2020-01-30-19-37-59.json new file mode 100644 index 00000000..f91486e6 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-37-59.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 19, + "targets": [ + "kubernetes" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-19-38-31.json b/tests/output/data/integration-2020-01-30-19-38-31.json new file mode 100644 index 00000000..7025fa75 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-38-31.json @@ -0,0 +1,3 @@ +{ + "targets": {} +} diff --git a/tests/output/data/integration-2020-01-30-19-39-12.json b/tests/output/data/integration-2020-01-30-19-39-12.json new file mode 100644 index 00000000..f91486e6 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-39-12.json @@ -0,0 +1,11 @@ +{ + "clouds": { + "openshift": { + "platform": "openshift", + "setup_seconds": 19, + "targets": [ + "kubernetes" + ] + } + } +} diff --git a/tests/output/data/integration-2020-01-30-19-47-17.json b/tests/output/data/integration-2020-01-30-19-47-17.json new file mode 100644 index 00000000..71cd4479 --- /dev/null +++ b/tests/output/data/integration-2020-01-30-19-47-17.json @@ -0,0 +1,39 @@ +{ + "targets": { + "kubernetes": { + "aliases": [ + "cloud/", + "cloud/kubernetes", + "cloud/openshift/", + "cloud/openshift/kubernetes", + "kubernetes", + "module/", + "module/kubernetes/", + "module/kubernetes/kubernetes", + "non_destructive/", + "non_destructive/kubernetes", + "posix/", + "role/", + "role/kubernetes", + "shippable/", + "shippable/cloud/", + "shippable/cloud/group1/", + "shippable/cloud/group1/kubernetes", + "shippable/cloud/kubernetes", + "shippable/kubernetes" + ], + "coverage": false, + "coverage_label": "", + "modules": [ + "kubernetes" + ], + "name": "kubernetes", + "python_version": "3.6", + "run_time_seconds": 455, + "setup_always": [], + "setup_once": [], + "type": "role", + "validation_seconds": 1 + } + } +} diff --git a/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml b/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml new file mode 100644 index 00000000..efd22612 --- /dev/null +++ b/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml @@ -0,0 +1,6629 @@ + + + + + { +"ansible_facts": { +"ansible_apparmor": { +"status": "disabled" +}, +"ansible_architecture": "x86_64", +"ansible_bios_date": "03/14/2014", +"ansible_bios_version": "1.00", +"ansible_cmdline": { +"BOOT_IMAGE": "/boot/kernel", +"console": "ttyS1", +"page_poison": "1", +"panic": "1", +"root": "/dev/sr0", +"text": true, +"vsyscall": "emulate" +}, +"ansible_date_time": { +"date": "2020-01-30", +"day": "30", +"epoch": "1580413185", +"hour": "19", +"iso8601": "2020-01-30T19:39:45Z", +"iso8601_basic": "20200130T193945527460", +"iso8601_basic_short": "20200130T193945", +"iso8601_micro": "2020-01-30T19:39:45.527632Z", +"minute": "39", +"month": "01", +"second": "45", +"time": "19:39:45", +"tz": "UTC", +"tz_offset": "+0000", +"weekday": "Thursday", +"weekday_number": "4", +"weeknumber": "04", +"year": "2020" +}, +"ansible_device_links": { +"ids": {}, +"labels": {}, +"masters": {}, +"uuids": {} +}, +"ansible_devices": { +"loop0": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop1": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop2": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop3": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop4": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop5": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop6": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"loop7": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd0": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd1": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd10": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd11": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd12": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd13": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd14": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd15": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd2": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd3": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd4": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd5": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd6": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd7": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd8": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"nbd9": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "mq-deadline", +"sectors": "0", +"sectorsize": "512", +"size": "0.00 Bytes", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram0": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram1": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram10": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram11": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram12": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram13": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram14": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram15": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram2": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram3": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram4": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram5": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram6": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram7": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram8": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"ram9": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": null, +"partitions": {}, +"removable": "0", +"rotational": "0", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "", +"sectors": "131072", +"sectorsize": "512", +"size": "64.00 MB", +"support_discard": "0", +"vendor": null, +"virtual": 1 +}, +"sda": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": "BHYVE SATA DISK", +"partitions": { +"sda1": { +"holders": [], +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"sectors": "124997632", +"sectorsize": 512, +"size": "59.60 GB", +"start": "2048", +"uuid": null +} +}, +"removable": "0", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "deadline", +"sectors": "124999680", +"sectorsize": "512", +"size": "59.60 GB", +"support_discard": "4096", +"vendor": "ATA", +"virtual": 1 +}, +"sr0": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": "BHYVE DVD-ROM", +"partitions": {}, +"removable": "1", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "deadline", +"sectors": "964040", +"sectorsize": "2048", +"size": "470.72 MB", +"support_discard": "0", +"vendor": "BHYVE", +"virtual": 1 +}, +"sr1": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": "BHYVE DVD-ROM", +"partitions": {}, +"removable": "1", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "deadline", +"sectors": "424", +"sectorsize": "2048", +"size": "212.00 KB", +"support_discard": "0", +"vendor": "BHYVE", +"virtual": 1 +}, +"sr2": { +"holders": [], +"host": "", +"links": { +"ids": [], +"labels": [], +"masters": [], +"uuids": [] +}, +"model": "BHYVE DVD-ROM", +"partitions": {}, +"removable": "1", +"rotational": "1", +"sas_address": null, +"sas_device_handle": null, +"scheduler_mode": "deadline", +"sectors": "1688708", +"sectorsize": "2048", +"size": "824.56 MB", +"support_discard": "0", +"vendor": "BHYVE", +"virtual": 1 +} +}, +"ansible_distribution": "Ubuntu", +"ansible_distribution_file_parsed": true, +"ansible_distribution_file_path": "/etc/os-release", +"ansible_distribution_file_variety": "Debian", +"ansible_distribution_major_version": "18", +"ansible_distribution_release": "bionic", +"ansible_distribution_version": "18.04", +"ansible_dns": { +"nameservers": [ +"192.168.65.1" +] +}, +"ansible_domain": "", +"ansible_effective_group_id": 0, +"ansible_effective_user_id": 0, +"ansible_env": { +"ANSIBLE_CALLBACK_WHITELIST": "junit", +"ANSIBLE_COLLECTIONS_PATHS": "/root/ansible", +"ANSIBLE_CONFIG": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/integration.cfg", +"ANSIBLE_DEPRECATION_WARNINGS": "false", +"ANSIBLE_FORCE_COLOR": "true", +"ANSIBLE_FORCE_HANDLERS": "true", +"ANSIBLE_HOST_KEY_CHECKING": "false", +"ANSIBLE_HOST_PATTERN_MISMATCH": "error", +"ANSIBLE_INVENTORY": "/dev/null", +"ANSIBLE_LIBRARY": "/dev/null", +"ANSIBLE_PLAYBOOK_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration", +"ANSIBLE_PYTHON_INTERPRETER": "/set/ansible_python_interpreter/in/inventory", +"ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE": "1024", +"ANSIBLE_RETRY_FILES_ENABLED": "false", +"ANSIBLE_ROLES_PATH": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets", +"ANSIBLE_TEST_CI": "", +"ANSIBLE_TEST_COVERAGE": "", +"ANSIBLE_TEST_PYTHON_INTERPRETER": "/usr/bin/python3.6", +"ANSIBLE_TEST_PYTHON_VERSION": "3.6", +"HOME": "/root", +"INVENTORY_PATH": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/inventory", +"JUNIT_OUTPUT_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/junit", +"K8S_AUTH_KUBECONFIG": "/root/ansible/ansible_collections/community/kubernetes/tests/integration/cloud-config-openshift-h55zhvsi.kubeconfig", +"LC_ALL": "en_US.UTF-8", +"OUTPUT_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/output_dir", +"PAGER": "/bin/cat", +"PATH": "/tmp/python-_nao3p15-ansible:/root/ansible/test/lib/ansible_test/_data/injector:/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", +"PWD": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration", +"PYTHONPATH": "/root/ansible/lib" +}, +"ansible_fibre_channel_wwn": [], +"ansible_fips": false, +"ansible_form_factor": "Unknown", +"ansible_fqdn": "3463f7b7fac5", +"ansible_hostname": "3463f7b7fac5", +"ansible_hostnqn": "", +"ansible_is_chroot": false, +"ansible_iscsi_iqn": "", +"ansible_kernel": "4.19.76-linuxkit", +"ansible_kernel_version": "#1 SMP Thu Oct 17 19:31:58 UTC 2019", +"ansible_local": {}, +"ansible_lsb": { +"codename": "bionic", +"description": "Ubuntu 18.04.3 LTS", +"id": "Ubuntu", +"major_release": "18", +"release": "18.04" +}, +"ansible_machine": "x86_64", +"ansible_machine_id": "fa8b71f31f5d40ffb66fec414187d314", +"ansible_memfree_mb": 115, +"ansible_memory_mb": { +"nocache": { +"free": 2576, +"used": 1362 +}, +"real": { +"free": 115, +"total": 3938, +"used": 3823 +}, +"swap": { +"cached": 0, +"free": 1020, +"total": 1023, +"used": 3 +} +}, +"ansible_memtotal_mb": 3938, +"ansible_mounts": [ +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/run", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +}, +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/tmp", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +}, +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/run/lock", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +}, +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/etc/resolv.conf", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +}, +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/etc/hostname", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +}, +{ +"block_available": 7567208, +"block_size": 4096, +"block_total": 15313873, +"block_used": 7746665, +"device": "/dev/sda1", +"fstype": "ext4", +"inode_available": 2790799, +"inode_total": 3907584, +"inode_used": 1116785, +"mount": "/etc/hosts", +"options": "rw,relatime,bind", +"size_available": 30995283968, +"size_total": 62725623808, +"uuid": "N/A" +} +], +"ansible_nodename": "3463f7b7fac5", +"ansible_os_family": "Debian", +"ansible_pkg_mgr": "apt", +"ansible_proc_cmdline": { +"BOOT_IMAGE": "/boot/kernel", +"console": [ +"ttyS0", +"ttyS1" +], +"page_poison": "1", +"panic": "1", +"root": "/dev/sr0", +"text": true, +"vsyscall": "emulate" +}, +"ansible_processor": [ +"0", +"GenuineIntel", +"Intel(R) Core(TM) i7-6660U CPU @ 2.40GHz", +"1", +"GenuineIntel", +"Intel(R) Core(TM) i7-6660U CPU @ 2.40GHz" +], +"ansible_processor_cores": 1, +"ansible_processor_count": 2, +"ansible_processor_threads_per_core": 1, +"ansible_processor_vcpus": 2, +"ansible_product_name": "BHYVE", +"ansible_product_serial": "None", +"ansible_product_uuid": "02594ace-0000-0000-83fc-c0a068aebccb", +"ansible_product_version": "1.0", +"ansible_python": { +"executable": "/tmp/python-_nao3p15-ansible/python", +"has_sslcontext": true, +"type": "cpython", +"version": { +"major": 3, +"micro": 8, +"minor": 6, +"releaselevel": "final", +"serial": 0 +}, +"version_info": [ +3, +6, +8, +"final", +0 +] +}, +"ansible_python_version": "3.6.8", +"ansible_real_group_id": 0, +"ansible_real_user_id": 0, +"ansible_selinux": { +"status": "Missing selinux Python library" +}, +"ansible_selinux_python_present": false, +"ansible_service_mgr": "systemd", +"ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCoEuuztuQpD1fqb2wTCrpBf8ATh6TBlXrPh8MX4hOW+gseI3+R30kNF0qfEtRm1Q/Q46ml303iGgWvHVLOltR4=", +"ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIAa+2oQosP5ZPj2AKVbZPVMX5cR/9nOQExjKX8o6k/6w", +"ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDB0n+VMM8MPY2jQ/+g9Xv5bFG+z7E8Ncfbwh4rZAcy+aiwY4Ch8KjAQTkglLJTFHDcHH+plOYiGtz1KQ8BidjckjXivO2dUcYHq5Nt15EoAivy2oJIw1TrIeWTzICKA503xJODlHvCYqBJd8i2QxzAs+P0L0oFqG6G8ZsWX/FM50/jDUO6xToEGYdbUb10/UxOjHXnupnCjJK00A2/eUFqP12hxzLvRZQhgknrlrswNnrYQ3hvO3Ibh0BXTVzIJZlbLLpEJPEDpaAV9vk55RXbehOixK3e9Hf6R7YAhWAkTBecbuLByf3swj78Dupt3nsbrXZgxPwfXAu4AhMU1IFf", +"ansible_swapfree_mb": 1020, +"ansible_swaptotal_mb": 1023, +"ansible_system": "Linux", +"ansible_system_vendor": "NA", +"ansible_uptime_seconds": 165282, +"ansible_user_dir": "/root", +"ansible_user_gecos": "root", +"ansible_user_gid": 0, +"ansible_user_id": "root", +"ansible_user_shell": "/bin/bash", +"ansible_user_uid": 0, +"ansible_userspace_architecture": "x86_64", +"ansible_userspace_bits": "64", +"ansible_virtualization_role": "guest", +"ansible_virtualization_type": "docker", +"gather_subset": [ +"all" +], +"module_setup": true +}, +"changed": false, +"deprecations": [], +"warnings": [] +} + + + { +"changed": false, +"include": "setup_remote_tmp_dir.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml (args={} vars={}): [testhost] + + + { +"changed": true, +"gid": 0, +"group": "root", +"mode": "0700", +"owner": "root", +"path": "/tmp/ansible.cixdxil5.test", +"size": 4096, +"state": "directory", +"uid": 0 +} + + + { +"ansible_facts": { +"remote_tmp_dir": "/tmp/ansible.cixdxil5.test" +}, +"changed": false +} + + + { +"ansible_facts": { +"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv", +"virtualenv_command": "/tmp/python-_nao3p15-ansible/python -m virtualenv" +}, +"changed": false +} + + + { +"ansible_facts": { +"virtualenv_interpreter": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python" +}, +"changed": false +} + + + { +"changed": false, +"cmd": [ +"/usr/local/bin/pip3", +"install", +"virtualenv" +], +"name": [ +"virtualenv" +], +"requirements": null, +"state": "present", +"stderr": "WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\n", +"stderr_lines": [ +"WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.", +"You should consider upgrading via the 'pip install --upgrade pip' command." +], +"stdout": "Requirement already satisfied: virtualenv in /usr/local/lib/python3.6/dist-packages (16.7.5)\n", +"stdout_lines": [ +"Requirement already satisfied: virtualenv in /usr/local/lib/python3.6/dist-packages (16.7.5)" +], +"version": null, +"virtualenv": null +} + + + { +"changed": true, +"cmd": [ +"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", +"install", +"openshift>=0.9.2", +"coverage" +], +"name": [ +"openshift>=0.9.2", +"coverage" +], +"requirements": null, +"state": "present", +"stderr": "", +"stderr_lines": [], +"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting openshift>=0.9.2\n Downloading openshift-0.10.1.tar.gz (18 kB)\nCollecting coverage\n Downloading coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nCollecting dictdiffer\n Downloading dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting jinja2\n Downloading Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting kubernetes~=10.0.1\n Downloading kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting ruamel.yaml>=0.15\n Downloading ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting google-auth>=1.0.1\n Downloading google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting certifi>=14.05.14\n Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting python-dateutil>=2.5.3\n Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting requests-oauthlib\n Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)\nCollecting urllib3>=1.24.2\n Downloading urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting pyyaml>=3.12\n Downloading PyYAML-5.3.tar.gz (268 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Downloading idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting pyasn1-modules>=0.2.1\n Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Downloading cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting pyasn1<0.5.0,>=0.4.6\n Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: openshift, pyyaml\n Building wheel for openshift (setup.py): started\n Building wheel for openshift (setup.py): finished with status 'done'\n Created wheel for openshift: filename=openshift-0.10.1-py3-none-any.whl size=19448 sha256=c3cfc37b13e9002df2788542f1674d4e26160db1546a808c6e47818fbce2c7e2\n Stored in directory: /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69\n Building wheel for pyyaml (setup.py): started\n Building wheel for pyyaml (setup.py): finished with status 'done'\n Created wheel for pyyaml: filename=PyYAML-5.3-cp36-cp36m-linux_x86_64.whl size=403280 sha256=30bd16e159e62938bcdbb4908d7b8ff14c2829dc60f23d4704002a81ba05af57\n Stored in directory: /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46\nSuccessfully built openshift pyyaml\nInstalling collected packages: dictdiffer, MarkupSafe, jinja2, chardet, certifi, idna, urllib3, requests, six, pyasn1, pyasn1-modules, rsa, cachetools, google-auth, python-dateutil, oauthlib, requests-oauthlib, websocket-client, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", +"stdout_lines": [ +"Already using interpreter /tmp/python-_nao3p15-ansible/python", +"Using base prefix '/usr'", +"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"Installing setuptools, pip, wheel...", +"done.", +"Collecting openshift>=0.9.2", +" Downloading openshift-0.10.1.tar.gz (18 kB)", +"Collecting coverage", +" Downloading coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", +"Collecting dictdiffer", +" Downloading dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", +"Collecting jinja2", +" Downloading Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", +"Collecting kubernetes~=10.0.1", +" Downloading kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", +"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", +"Collecting ruamel.yaml>=0.15", +" Downloading ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", +"Collecting six", +" Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)", +"Collecting MarkupSafe>=0.23", +" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", +"Collecting requests", +" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", +"Collecting google-auth>=1.0.1", +" Downloading google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", +"Collecting certifi>=14.05.14", +" Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", +"Collecting python-dateutil>=2.5.3", +" Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", +"Collecting requests-oauthlib", +" Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", +"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)", +"Collecting urllib3>=1.24.2", +" Downloading urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", +"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", +" Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", +"Collecting pyyaml>=3.12", +" Downloading PyYAML-5.3.tar.gz (268 kB)", +"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", +" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", +"Collecting chardet<3.1.0,>=3.0.2", +" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", +"Collecting idna<2.9,>=2.5", +" Downloading idna-2.8-py2.py3-none-any.whl (58 kB)", +"Collecting pyasn1-modules>=0.2.1", +" Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", +"Collecting rsa<4.1,>=3.1.4", +" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", +"Collecting cachetools<5.0,>=2.0.0", +" Downloading cachetools-4.0.0-py3-none-any.whl (10 kB)", +"Collecting oauthlib>=3.0.0", +" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", +"Collecting pyasn1<0.5.0,>=0.4.6", +" Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", +"Building wheels for collected packages: openshift, pyyaml", +" Building wheel for openshift (setup.py): started", +" Building wheel for openshift (setup.py): finished with status 'done'", +" Created wheel for openshift: filename=openshift-0.10.1-py3-none-any.whl size=19448 sha256=c3cfc37b13e9002df2788542f1674d4e26160db1546a808c6e47818fbce2c7e2", +" Stored in directory: /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69", +" Building wheel for pyyaml (setup.py): started", +" Building wheel for pyyaml (setup.py): finished with status 'done'", +" Created wheel for pyyaml: filename=PyYAML-5.3-cp36-cp36m-linux_x86_64.whl size=403280 sha256=30bd16e159e62938bcdbb4908d7b8ff14c2829dc60f23d4704002a81ba05af57", +" Stored in directory: /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46", +"Successfully built openshift pyyaml", +"Installing collected packages: dictdiffer, MarkupSafe, jinja2, chardet, certifi, idna, urllib3, requests, six, pyasn1, pyasn1-modules, rsa, cachetools, google-auth, python-dateutil, oauthlib, requests-oauthlib, websocket-client, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage", +"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" +], +"version": null, +"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" +} + + + { +"changed": false, +"include": "validate_not_installed.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"mismatched": {}, +"not_found": [ +"kubernetes-validate" +], +"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"python_system_path": [ +"/tmp/ansible_python_requirements_info_payload_46mzxasa/ansible_python_requirements_info_payload.zip", +"/root/ansible/lib", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", +"/usr/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" +], +"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", +"valid": { +"kubernetes": { +"desired": null, +"installed": "10.0.1" +}, +"openshift": { +"desired": null, +"installed": "0.10.1" +} +} +} + + + { +"changed": false, +"msg": "kubernetes-validate python library is required to validate resources" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", +"changed": true +} + + + { +"changed": true, +"cmd": [ +"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", +"install", +"kubernetes-validate==1.12.0", +"openshift>=0.9.2", +"coverage" +], +"name": [ +"kubernetes-validate==1.12.0", +"openshift>=0.9.2", +"coverage" +], +"requirements": null, +"state": "present", +"stderr": "", +"stderr_lines": [], +"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting kubernetes-validate==1.12.0\n Downloading kubernetes-validate-1.12.0.tar.gz (2.0 MB)\nProcessing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting jsonschema\n Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting kubernetes~=10.0.1\n Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting pyrsistent>=0.14.0\n Downloading pyrsistent-0.15.7.tar.gz (107 kB)\nCollecting importlib-metadata; python_version < \"3.8\"\n Downloading importlib_metadata-1.5.0-py2.py3-none-any.whl (30 kB)\nCollecting attrs>=17.4.0\n Using cached attrs-19.3.0-py2.py3-none-any.whl (39 kB)\nRequirement already satisfied: setuptools in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from jsonschema->kubernetes-validate==1.12.0) (45.1.0)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting urllib3>=1.24.2\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting zipp>=0.5\n Downloading zipp-2.1.0-py3-none-any.whl (4.6 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting pyasn1>=0.1.3\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: kubernetes-validate, pyrsistent\n Building wheel for kubernetes-validate (setup.py): started\n Building wheel for kubernetes-validate (setup.py): finished with status 'done'\n Created wheel for kubernetes-validate: filename=kubernetes_validate-1.12.0-py3-none-any.whl size=4065386 sha256=19400eeda8943f7a72581c84ba6a5aeed9b1273f04d468f1f63c71bf0ca1f51f\n Stored in directory: /root/.cache/pip/wheels/98/9b/da/4ebc13dd4d601645aa96f5f9da2859e115044084fa26b74477\n Building wheel for pyrsistent (setup.py): started\n Building wheel for pyrsistent (setup.py): finished with status 'done'\n Created wheel for pyrsistent: filename=pyrsistent-0.15.7-cp36-cp36m-linux_x86_64.whl size=97700 sha256=54e4335e7bd824cf08d196671406f3dd921d1f1ecc83aa8c1f0002b9e125251c\n Stored in directory: /root/.cache/pip/wheels/43/9a/e4/7f687f2bb934e9a26a6e1158778ed7c5436b9ea15db48c888a\nSuccessfully built kubernetes-validate pyrsistent\nInstalling collected packages: PyYAML, six, pyrsistent, zipp, importlib-metadata, attrs, jsonschema, kubernetes-validate, MarkupSafe, jinja2, dictdiffer, websocket-client, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, python-dateutil, certifi, urllib3, chardet, idna, requests, oauthlib, requests-oauthlib, kubernetes, ruamel.yaml.clib, ruamel.yaml, python-string-utils, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 PyYAML-5.3 attrs-19.3.0 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 importlib-metadata-1.5.0 jinja2-2.11.1 jsonschema-3.2.0 kubernetes-10.0.1 kubernetes-validate-1.12.0 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyrsistent-0.15.7 python-dateutil-2.8.1 python-string-utils-0.6.0 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0 zipp-2.1.0\n", +"stdout_lines": [ +"Already using interpreter /tmp/python-_nao3p15-ansible/python", +"Using base prefix '/usr'", +"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"Installing setuptools, pip, wheel...", +"done.", +"Collecting kubernetes-validate==1.12.0", +" Downloading kubernetes-validate-1.12.0.tar.gz (2.0 MB)", +"Processing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl", +"Collecting coverage", +" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", +"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", +"Collecting jsonschema", +" Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)", +"Collecting jinja2", +" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", +"Collecting dictdiffer", +" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", +"Collecting six", +" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", +"Collecting kubernetes~=10.0.1", +" Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", +"Collecting ruamel.yaml>=0.15", +" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", +"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", +"Collecting pyrsistent>=0.14.0", +" Downloading pyrsistent-0.15.7.tar.gz (107 kB)", +"Collecting importlib-metadata; python_version < \"3.8\"", +" Downloading importlib_metadata-1.5.0-py2.py3-none-any.whl (30 kB)", +"Collecting attrs>=17.4.0", +" Using cached attrs-19.3.0-py2.py3-none-any.whl (39 kB)", +"Requirement already satisfied: setuptools in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from jsonschema->kubernetes-validate==1.12.0) (45.1.0)", +"Collecting MarkupSafe>=0.23", +" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", +"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", +" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", +"Collecting google-auth>=1.0.1", +" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", +"Collecting python-dateutil>=2.5.3", +" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", +"Collecting certifi>=14.05.14", +" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", +"Collecting urllib3>=1.24.2", +" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", +"Collecting requests", +" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", +"Collecting requests-oauthlib", +" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", +"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", +" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", +"Collecting zipp>=0.5", +" Downloading zipp-2.1.0-py3-none-any.whl (4.6 kB)", +"Collecting rsa<4.1,>=3.1.4", +" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", +"Collecting cachetools<5.0,>=2.0.0", +" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", +"Collecting pyasn1-modules>=0.2.1", +" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", +"Collecting chardet<3.1.0,>=3.0.2", +" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", +"Collecting idna<2.9,>=2.5", +" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", +"Collecting oauthlib>=3.0.0", +" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", +"Collecting pyasn1>=0.1.3", +" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", +"Building wheels for collected packages: kubernetes-validate, pyrsistent", +" Building wheel for kubernetes-validate (setup.py): started", +" Building wheel for kubernetes-validate (setup.py): finished with status 'done'", +" Created wheel for kubernetes-validate: filename=kubernetes_validate-1.12.0-py3-none-any.whl size=4065386 sha256=19400eeda8943f7a72581c84ba6a5aeed9b1273f04d468f1f63c71bf0ca1f51f", +" Stored in directory: /root/.cache/pip/wheels/98/9b/da/4ebc13dd4d601645aa96f5f9da2859e115044084fa26b74477", +" Building wheel for pyrsistent (setup.py): started", +" Building wheel for pyrsistent (setup.py): finished with status 'done'", +" Created wheel for pyrsistent: filename=pyrsistent-0.15.7-cp36-cp36m-linux_x86_64.whl size=97700 sha256=54e4335e7bd824cf08d196671406f3dd921d1f1ecc83aa8c1f0002b9e125251c", +" Stored in directory: /root/.cache/pip/wheels/43/9a/e4/7f687f2bb934e9a26a6e1158778ed7c5436b9ea15db48c888a", +"Successfully built kubernetes-validate pyrsistent", +"Installing collected packages: PyYAML, six, pyrsistent, zipp, importlib-metadata, attrs, jsonschema, kubernetes-validate, MarkupSafe, jinja2, dictdiffer, websocket-client, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, python-dateutil, certifi, urllib3, chardet, idna, requests, oauthlib, requests-oauthlib, kubernetes, ruamel.yaml.clib, ruamel.yaml, python-string-utils, openshift, coverage", +"Successfully installed MarkupSafe-1.1.1 PyYAML-5.3 attrs-19.3.0 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 importlib-metadata-1.5.0 jinja2-2.11.1 jsonschema-3.2.0 kubernetes-10.0.1 kubernetes-validate-1.12.0 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyrsistent-0.15.7 python-dateutil-2.8.1 python-string-utils-0.6.0 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0 zipp-2.1.0" +], +"version": null, +"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" +} + + + { +"changed": false, +"include": "validate_installed.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/validate_installed.yml (args={} vars={}): [testhost] + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:41:41Z", +"name": "ansible-test-k8s-validate", +"resourceVersion": "931", +"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate", +"uid": "89e6c3d0-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": true, +"dest": "/tmp/ansible.cixdxil5.test/", +"src": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/files" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:41:49Z", +"name": "hello", +"namespace": "ansible-test-k8s-validate", +"resourceVersion": "968", +"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate/configmaps/hello", +"uid": "8e77f94a-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "extensions/v1beta1", +"kind": "Deployment", +"metadata": { +"creationTimestamp": "2020-01-30T19:41:53Z", +"generation": 1, +"labels": { +"app": "kuard" +}, +"name": "kuard", +"namespace": "default", +"resourceVersion": "973", +"selfLink": "/apis/extensions/v1beta1/namespaces/default/deployments/kuard", +"uid": "90c97af1-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"replicas": 3, +"selector": { +"matchLabels": { +"app": "kuard" +} +}, +"strategy": { +"rollingUpdate": { +"maxSurge": 1, +"maxUnavailable": 1 +}, +"type": "RollingUpdate" +}, +"template": { +"metadata": { +"creationTimestamp": null, +"labels": { +"app": "kuard" +} +}, +"spec": { +"containers": [ +{ +"image": "gcr.io/kuar-demo/kuard-amd64:1", +"imagePullPolicy": "IfNotPresent", +"name": "kuard", +"resources": {}, +"terminationMessagePath": "/dev/termination-log", +"terminationMessagePolicy": "File" +} +], +"dnsPolicy": "ClusterFirst", +"restartPolicy": "Always", +"schedulerName": "default-scheduler", +"securityContext": {}, +"terminationGracePeriodSeconds": 30 +} +} +}, +"status": {} +} +} + + + { +"changed": false, +"msg": "Deployment kuard: resource definition validation error at spec.selector: Additional properties are not allowed ('unwanted' was unexpected)" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"msg": "Deployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"error": 500, +"msg": "Failed to patch object: b'{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char \\'h\\'\",\"code\":500}\\n'\nDeployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'", +"reason": "Internal Server Error", +"status": 500, +"warnings": [ +"Deployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'" +] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "apiextensions.k8s.io/v1beta1", +"kind": "CustomResourceDefinition", +"metadata": { +"creationTimestamp": "2020-01-30T19:42:09Z", +"generation": 1, +"name": "certificates.certmanager.k8s.io", +"resourceVersion": "1029", +"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", +"uid": "9a44b6c4-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"group": "certmanager.k8s.io", +"names": { +"kind": "Certificate", +"listKind": "CertificateList", +"plural": "certificates", +"shortNames": [ +"cert", +"certs" +], +"singular": "certificate" +}, +"scope": "Namespaced", +"version": "v1alpha1" +}, +"status": { +"acceptedNames": { +"kind": "", +"plural": "" +}, +"conditions": null +} +} +} + + + { +"changed": false, +"delta": 5, +"echo": true, +"rc": 0, +"start": "2020-01-30 19:42:09.345151", +"stderr": "", +"stdout": "Paused for 5.0 seconds", +"stop": "2020-01-30 19:42:14.347413", +"user_input": "" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "certmanager.k8s.io/v1alpha1", +"kind": "Certificate", +"metadata": { +"clusterName": "", +"creationTimestamp": "2020-01-30T19:42:17Z", +"name": "acme-crt", +"namespace": "ansible-test-k8s-validate", +"resourceVersion": "1042", +"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/ansible-test-k8s-validate/certificates/acme-crt", +"uid": "9f440a2d-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"acme": { +"config": [ +{ +"domains": [ +"foo.example.com", +"bar.example.com" +], +"ingressClass": "nginx" +} +] +}, +"dnsNames": [ +"foo.example.com", +"bar.example.com" +], +"issuerRef": { +"kind": "Issuer", +"name": "letsencrypt-prod" +}, +"secretName": "acme-crt-secret" +} +}, +"warnings": [ +"Certificate acme-crt: Could not find schema for object kind Certificate with API version certmanager.k8s.io/v1alpha1 in Kubernetes version 1.9.1+a0ce1bc657 (possibly Custom Resource?)" +] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"group": "certmanager.k8s.io", +"kind": "certificates", +"name": "acme-crt", +"uid": "9f440a2d-4398-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +} +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "apiextensions.k8s.io/v1beta1", +"kind": "CustomResourceDefinition", +"metadata": { +"creationTimestamp": "2020-01-30T19:42:09Z", +"deletionTimestamp": "2020-01-30T19:42:24Z", +"finalizers": [ +"customresourcecleanup.apiextensions.k8s.io" +], +"generation": 1, +"name": "certificates.certmanager.k8s.io", +"resourceVersion": "1057", +"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", +"uid": "9a44b6c4-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"group": "certmanager.k8s.io", +"names": { +"kind": "Certificate", +"listKind": "CertificateList", +"plural": "certificates", +"shortNames": [ +"cert", +"certs" +], +"singular": "certificate" +}, +"scope": "Namespaced", +"version": "v1alpha1" +}, +"status": { +"acceptedNames": { +"kind": "Certificate", +"listKind": "CertificateList", +"plural": "certificates", +"shortNames": [ +"cert", +"certs" +], +"singular": "certificate" +}, +"conditions": [ +{ +"lastTransitionTime": "2020-01-30T19:42:09Z", +"message": "no conflicts found", +"reason": "NoConflicts", +"status": "True", +"type": "NamesAccepted" +}, +{ +"lastTransitionTime": "2020-01-30T19:42:09Z", +"message": "the initial names have been accepted", +"reason": "InitialNamesAccepted", +"status": "True", +"type": "Established" +}, +{ +"lastTransitionTime": "2020-01-30T19:42:24Z", +"message": "CustomResourceDefinition marked for deletion; CustomResource deletion will begin soon", +"reason": "InstanceDeletionPending", +"status": "True", +"type": "Terminating" +} +] +} +} +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c8,c2", +"openshift.io/sa.scc.supplemental-groups": "1000060000/10000", +"openshift.io/sa.scc.uid-range": "1000060000/10000" +}, +"creationTimestamp": "2020-01-30T19:41:41Z", +"deletionTimestamp": "2020-01-30T19:42:27Z", +"name": "ansible-test-k8s-validate", +"resourceVersion": "1065", +"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate", +"uid": "89e6c3d0-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +} + + + { +"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", +"changed": true +} + + + { +"changed": true, +"cmd": [ +"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", +"install", +"openshift==0.6.0", +"kubernetes==6.0.0", +"coverage" +], +"name": [ +"openshift==0.6.0", +"kubernetes==6.0.0", +"coverage" +], +"requirements": null, +"state": "present", +"stderr": "", +"stderr_lines": [], +"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting openshift==0.6.0\n Downloading openshift-0.6.0.tar.gz (342 kB)\nCollecting kubernetes==6.0.0\n Downloading kubernetes-6.0.0-py2.py3-none-any.whl (1.2 MB)\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting ipaddress>=1.0.17\n Downloading ipaddress-1.0.23-py2.py3-none-any.whl (18 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes==6.0.0) (45.1.0)\nCollecting urllib3!=1.21,>=1.19.1\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting pyasn1>=0.1.3\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: openshift\n Building wheel for openshift (setup.py): started\n Building wheel for openshift (setup.py): finished with status 'done'\n Created wheel for openshift: filename=openshift-0.6.0-py3-none-any.whl size=1334832 sha256=af0b317ae00e7865c38a743902ec1e07b7e088827a17bdb911000b9a82604e25\n Stored in directory: /root/.cache/pip/wheels/ce/9d/c3/c5be277f0eefe1431c23590dc844aced905e179e7b4c3fc41b\nSuccessfully built openshift\nInstalling collected packages: dictdiffer, MarkupSafe, jinja2, ipaddress, six, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, oauthlib, idna, chardet, certifi, urllib3, requests, requests-oauthlib, websocket-client, python-dateutil, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 ipaddress-1.0.23 jinja2-2.11.1 kubernetes-6.0.0 oauthlib-3.1.0 openshift-0.6.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", +"stdout_lines": [ +"Already using interpreter /tmp/python-_nao3p15-ansible/python", +"Using base prefix '/usr'", +"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"Installing setuptools, pip, wheel...", +"done.", +"Collecting openshift==0.6.0", +" Downloading openshift-0.6.0.tar.gz (342 kB)", +"Collecting kubernetes==6.0.0", +" Downloading kubernetes-6.0.0-py2.py3-none-any.whl (1.2 MB)", +"Collecting coverage", +" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", +"Collecting dictdiffer", +" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", +"Collecting jinja2", +" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", +"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", +"Collecting ruamel.yaml>=0.15", +" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", +"Collecting six", +" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", +"Collecting ipaddress>=1.0.17", +" Downloading ipaddress-1.0.23-py2.py3-none-any.whl (18 kB)", +"Collecting google-auth>=1.0.1", +" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", +"Collecting requests-oauthlib", +" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", +"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes==6.0.0) (45.1.0)", +"Collecting urllib3!=1.21,>=1.19.1", +" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", +"Collecting requests", +" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", +"Collecting certifi>=14.05.14", +" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", +"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", +" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", +"Collecting python-dateutil>=2.5.3", +" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", +"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", +"Collecting MarkupSafe>=0.23", +" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", +"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", +" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", +"Collecting rsa<4.1,>=3.1.4", +" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", +"Collecting cachetools<5.0,>=2.0.0", +" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", +"Collecting pyasn1-modules>=0.2.1", +" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", +"Collecting oauthlib>=3.0.0", +" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", +"Collecting idna<2.9,>=2.5", +" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", +"Collecting chardet<3.1.0,>=3.0.2", +" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", +"Collecting pyasn1>=0.1.3", +" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", +"Building wheels for collected packages: openshift", +" Building wheel for openshift (setup.py): started", +" Building wheel for openshift (setup.py): finished with status 'done'", +" Created wheel for openshift: filename=openshift-0.6.0-py3-none-any.whl size=1334832 sha256=af0b317ae00e7865c38a743902ec1e07b7e088827a17bdb911000b9a82604e25", +" Stored in directory: /root/.cache/pip/wheels/ce/9d/c3/c5be277f0eefe1431c23590dc844aced905e179e7b4c3fc41b", +"Successfully built openshift", +"Installing collected packages: dictdiffer, MarkupSafe, jinja2, ipaddress, six, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, oauthlib, idna, chardet, certifi, urllib3, requests, requests-oauthlib, websocket-client, python-dateutil, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage", +"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 ipaddress-1.0.23 jinja2-2.11.1 kubernetes-6.0.0 oauthlib-3.1.0 openshift-0.6.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" +], +"version": null, +"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" +} + + + { +"changed": false, +"include": "older_openshift_fail.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"mismatched": {}, +"not_found": [], +"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"python_system_path": [ +"/tmp/ansible_python_requirements_info_payload_hc42g51v/ansible_python_requirements_info_payload.zip", +"/root/ansible/lib", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", +"/usr/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" +], +"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", +"valid": { +"kubernetes": { +"desired": "kubernetes==6.0.0", +"installed": "6.0.0" +}, +"openshift": { +"desired": "openshift==0.6.0", +"installed": "0.6.0" +} +} +} + + + { +"changed": false, +"msg": "Failed to import the required Python library (openshift >= 0.7.2) on 3463f7b7fac5's Python /tmp/ansible.cixdxil5.test/virtualenv/bin/python. This is required for append_hash. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"msg": "openshift >= 0.8.0 is required for validate" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"msg": "Failed to import the required Python library (openshift >= 0.9.2) on 3463f7b7fac5's Python /tmp/ansible.cixdxil5.test/virtualenv/bin/python. This is required for apply. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter" +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", +"changed": true +} + + + { +"changed": true, +"cmd": [ +"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", +"install", +"openshift>=0.9.2", +"coverage" +], +"name": [ +"openshift>=0.9.2", +"coverage" +], +"requirements": null, +"state": "present", +"stderr": "", +"stderr_lines": [], +"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nProcessing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting kubernetes~=10.0.1\n Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting urllib3>=1.24.2\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting pyasn1<0.5.0,>=0.4.6\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nInstalling collected packages: python-string-utils, dictdiffer, six, chardet, idna, certifi, urllib3, requests, oauthlib, requests-oauthlib, websocket-client, cachetools, pyasn1, pyasn1-modules, rsa, google-auth, pyyaml, python-dateutil, kubernetes, ruamel.yaml.clib, ruamel.yaml, MarkupSafe, jinja2, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", +"stdout_lines": [ +"Already using interpreter /tmp/python-_nao3p15-ansible/python", +"Using base prefix '/usr'", +"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"Installing setuptools, pip, wheel...", +"done.", +"Processing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl", +"Collecting coverage", +" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", +"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", +"Collecting dictdiffer", +" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", +"Collecting kubernetes~=10.0.1", +" Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", +"Collecting ruamel.yaml>=0.15", +" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", +"Collecting six", +" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", +"Collecting jinja2", +" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", +"Collecting requests-oauthlib", +" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", +"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", +" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", +"Collecting google-auth>=1.0.1", +" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", +"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)", +"Collecting certifi>=14.05.14", +" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", +"Collecting requests", +" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", +"Collecting urllib3>=1.24.2", +" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", +"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", +"Collecting python-dateutil>=2.5.3", +" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", +"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", +" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", +"Collecting MarkupSafe>=0.23", +" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", +"Collecting oauthlib>=3.0.0", +" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", +"Collecting cachetools<5.0,>=2.0.0", +" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", +"Collecting pyasn1-modules>=0.2.1", +" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", +"Collecting rsa<4.1,>=3.1.4", +" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", +"Collecting chardet<3.1.0,>=3.0.2", +" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", +"Collecting idna<2.9,>=2.5", +" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", +"Collecting pyasn1<0.5.0,>=0.4.6", +" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", +"Installing collected packages: python-string-utils, dictdiffer, six, chardet, idna, certifi, urllib3, requests, oauthlib, requests-oauthlib, websocket-client, cachetools, pyasn1, pyasn1-modules, rsa, google-auth, pyyaml, python-dateutil, kubernetes, ruamel.yaml.clib, ruamel.yaml, MarkupSafe, jinja2, openshift, coverage", +"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" +], +"version": null, +"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" +} + + + { +"changed": false, +"include": "full_test.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/full_test.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"include": "delete.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/delete.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"resources": [] +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { +"changed": false, +"include": "apply.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/apply.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"mismatched": {}, +"not_found": [], +"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", +"python_system_path": [ +"/tmp/ansible_python_requirements_info_payload_74uktbba/ansible_python_requirements_info_payload.zip", +"/root/ansible/lib", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", +"/usr/lib/python3.6", +"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" +], +"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", +"valid": { +"kubernetes": { +"desired": null, +"installed": "10.0.1" +}, +"openshift": { +"desired": null, +"installed": "0.10.1" +} +} +} + + + { +"ansible_facts": { +"apply_namespace": "apply" +}, +"changed": false +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:43:53Z", +"name": "apply", +"resourceVersion": "1201", +"selfLink": "/api/v1/namespaces/apply", +"uid": "d8a9bd73-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": true, +"method": "apply", +"result": { +"apiVersion": "v1", +"data": { +"one": "1", +"three": "3", +"two": "2" +}, +"kind": "ConfigMap", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" +}, +"creationTimestamp": "2020-01-30T19:43:56Z", +"name": "apply-configmap", +"namespace": "apply", +"resourceVersion": "1232", +"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", +"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"method": "apply", +"result": { +"apiVersion": "v1", +"data": { +"one": "1", +"three": "3", +"two": "2" +}, +"kind": "ConfigMap", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" +}, +"creationTimestamp": "2020-01-30T19:43:56Z", +"name": "apply-configmap", +"namespace": "apply", +"resourceVersion": "1232", +"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", +"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"method": "apply", +"result": { +"apiVersion": "v1", +"data": { +"one": "1", +"three": "3", +"two": "2" +}, +"kind": "ConfigMap", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" +}, +"creationTimestamp": "2020-01-30T19:43:56Z", +"name": "apply-configmap", +"namespace": "apply", +"resourceVersion": "1232", +"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", +"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"method": "apply", +"result": { +"apiVersion": "v1", +"data": { +"one": "1", +"three": "3", +"two": "2" +}, +"kind": "ConfigMap", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" +}, +"creationTimestamp": "2020-01-30T19:43:56Z", +"name": "apply-configmap", +"namespace": "apply", +"resourceVersion": "1232", +"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", +"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "apply", +"result": { +"apiVersion": "v1", +"data": { +"four": "4", +"one": "1", +"three": "3" +}, +"kind": "ConfigMap", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"four\":\"4\",\"one\":\"1\",\"three\":\"3\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" +}, +"creationTimestamp": "2020-01-30T19:43:56Z", +"name": "apply-configmap", +"namespace": "apply", +"resourceVersion": "1261", +"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", +"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "apply", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app\":\"whatever\"}}}" +}, +"creationTimestamp": "2020-01-30T19:44:11Z", +"name": "apply-svc", +"namespace": "apply", +"resourceVersion": "1268", +"selfLink": "/api/v1/namespaces/apply/services/apply-svc", +"uid": "e32f841d-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.14.30", +"ports": [ +{ +"name": "http", +"port": 8080, +"protocol": "TCP", +"targetPort": 8080 +} +], +"selector": { +"app": "whatever" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +} + + + { +"changed": false, +"method": "apply", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app\":\"whatever\"}}}" +}, +"creationTimestamp": "2020-01-30T19:44:11Z", +"name": "apply-svc", +"namespace": "apply", +"resourceVersion": "1268", +"selfLink": "/api/v1/namespaces/apply/services/apply-svc", +"uid": "e32f841d-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.14.30", +"ports": [ +{ +"name": "http", +"port": 8080, +"protocol": "TCP", +"targetPort": 8080 +} +], +"selector": { +"app": "whatever" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "apply", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"annotations": { +"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8081,\"targetPort\":8081}],\"selector\":{\"app\":\"whatever\"}}}" +}, +"creationTimestamp": "2020-01-30T19:44:11Z", +"name": "apply-svc", +"namespace": "apply", +"resourceVersion": "1279", +"selfLink": "/api/v1/namespaces/apply/services/apply-svc", +"uid": "e32f841d-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.14.30", +"ports": [ +{ +"name": "http", +"port": 8081, +"protocol": "TCP", +"targetPort": 8081 +} +], +"selector": { +"app": "whatever" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c8,c7", +"openshift.io/sa.scc.supplemental-groups": "1000070000/10000", +"openshift.io/sa.scc.uid-range": "1000070000/10000" +}, +"creationTimestamp": "2020-01-30T19:43:53Z", +"deletionTimestamp": "2020-01-30T19:44:21Z", +"name": "apply", +"resourceVersion": "1285", +"selfLink": "/api/v1/namespaces/apply", +"uid": "d8a9bd73-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +} + + + { +"changed": false, +"include": "waiter.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/waiter.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"resources": [] +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:44:58Z", +"name": "testing", +"resourceVersion": "1362", +"selfLink": "/api/v1/namespaces/testing", +"uid": "ff662088-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { + "changed": false, + "output": { + "changed": true, + "failed": false, + "method": "create", + "result": { + "apiVersion": "v1", + "kind": "Namespace", + "metadata": { + "creationTimestamp": "2020-01-30T19:44:58Z", + "name": "testing", + "resourceVersion": "1362", + "selfLink": "/api/v1/namespaces/testing", + "uid": "ff662088-4398-11ea-abc6-0242ac110002" + }, + "spec": { + "finalizers": [ + "kubernetes" + ] + }, + "status": { + "phase": "Active" + } + } + } +} + + + { +"changed": false, +"module_stderr": "2020-01-30 19:45:01,916 WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\n2020-01-30 19:45:01,940 WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\n2020-01-30 19:45:01,956 WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\nTraceback (most recent call last):\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 72, in __init_cache\n self._cache = json.load(f, cls=CacheDecoder(self.client))\n File \"/usr/lib/python3.6/json/__init__.py\", line 299, in load\n parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)\n File \"/usr/lib/python3.6/json/__init__.py\", line 367, in loads\n return cls(**kw).decode(s)\nTypeError: 'CacheDecoder' object is not callable\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 672, in urlopen\n chunked=chunked,\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 376, in _make_request\n self._validate_conn(conn)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 994, in _validate_conn\n conn.connect()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connection.py\", line 360, in connect\n ssl_context=context,\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/util/ssl_.py\", line 370, in ssl_wrap_socket\n return context.wrap_socket(sock, server_hostname=server_hostname)\n File \"/usr/lib/python3.6/ssl.py\", line 407, in wrap_socket\n _context=self, _session=session)\n File \"/usr/lib/python3.6/ssl.py\", line 817, in __init__\n self.do_handshake()\n File \"/usr/lib/python3.6/ssl.py\", line 1077, in do_handshake\n self._sslobj.do_handshake()\n File \"/usr/lib/python3.6/ssl.py\", line 689, in do_handshake\n self._sslobj.do_handshake()\nssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 116, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 108, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 54, in invoke_module\n runpy.run_module(mod_name='ansible_collections.community.kubernetes.plugins.modules.k8s', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/modules/k8s.py\", line 279, in <module>\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/modules/k8s.py\", line 275, in main\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/module_utils/raw.py\", line 171, in execute_module\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/module_utils/common.py\", line 200, in get_api_client\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 71, in __init__\n self.__discoverer = discoverer(self, cache_file)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 256, in __init__\n Discoverer.__init__(self, client, cache_file)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 31, in __init__\n self.__init_cache()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 77, in __init_cache\n self.invalidate_cache()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 92, in invalidate_cache\n self.__init_cache(refresh=True)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 78, in __init_cache\n self._load_server_info()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 158, in _load_server_info\n 'kubernetes': self.client.request('get', '/version', serializer=just_json)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 42, in inner\n resp = func(self, *args, **kwargs)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 245, in request\n _return_http_data_only=params.get('_return_http_data_only', True)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 334, in call_api\n _return_http_data_only, collection_formats, _preload_content, _request_timeout)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 168, in __call_api\n _request_timeout=_request_timeout)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 355, in request\n headers=headers)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/rest.py\", line 231, in GET\n query_params=query_params)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/rest.py\", line 205, in request\n headers=headers)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/request.py\", line 76, in request\n method, url, fields=fields, headers=headers, **urlopen_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/request.py\", line 97, in request_encode_url\n return self.urlopen(method, url, **extra_kw)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/poolmanager.py\", line 330, in urlopen\n response = conn.urlopen(method, u.request_uri, **kw)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 720, in urlopen\n method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/util/retry.py\", line 436, in increment\n raise MaxRetryError(_pool, url, error or ResponseError(cause))\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openshift-origin', port=8443): Max retries exceeded with url: /version (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))\n", +"module_stdout": "", +"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", +"rc": 1 +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"resources": [] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:08Z", +"labels": { +"app": "galaxy", +"service": "web" +}, +"name": "web", +"namespace": "testing", +"resourceVersion": "1404", +"selfLink": "/api/v1/namespaces/testing/services/web", +"uid": "04f95bc2-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.182.243", +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "galaxy", +"service": "web" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +} + + + { + "changed": false, + "output": { + "changed": true, + "failed": false, + "method": "create", + "result": { + "apiVersion": "v1", + "kind": "Service", + "metadata": { + "creationTimestamp": "2020-01-30T19:45:08Z", + "labels": { + "app": "galaxy", + "service": "web" + }, + "name": "web", + "namespace": "testing", + "resourceVersion": "1404", + "selfLink": "/api/v1/namespaces/testing/services/web", + "uid": "04f95bc2-4399-11ea-abc6-0242ac110002" + }, + "spec": { + "clusterIP": "172.30.182.243", + "ports": [ + { + "name": "port-8000-tcp", + "port": 8000, + "protocol": "TCP", + "targetPort": 8000 + } + ], + "selector": { + "app": "galaxy", + "service": "web" + }, + "sessionAffinity": "None", + "type": "ClusterIP" + }, + "status": { + "loadBalancer": {} + } + } + } +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:08Z", +"labels": { +"app": "galaxy", +"service": "web" +}, +"name": "web", +"namespace": "testing", +"resourceVersion": "1404", +"selfLink": "/api/v1/namespaces/testing/services/web", +"uid": "04f95bc2-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.182.243", +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "galaxy", +"service": "web" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"key": "value" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:14Z", +"name": "test-force-update", +"namespace": "testing", +"resourceVersion": "1416", +"selfLink": "/api/v1/namespaces/testing/configmaps/test-force-update", +"uid": "08f6f437-4399-11ea-abc6-0242ac110002" +} +} +} + + + { +"changed": true, +"method": "replace", +"result": { +"apiVersion": "v1", +"data": { +"key": "newvalue" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:14Z", +"name": "test-force-update", +"namespace": "testing", +"resourceVersion": "1419", +"selfLink": "/api/v1/namespaces/testing/configmaps/test-force-update", +"uid": "08f6f437-4399-11ea-abc6-0242ac110002" +} +} +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "PersistentVolumeClaim", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:19Z", +"name": "elastic-volume", +"namespace": "testing", +"resourceVersion": "1423", +"selfLink": "/api/v1/namespaces/testing/persistentvolumeclaims/elastic-volume", +"uid": "0c10f59c-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"accessModes": [ +"ReadWriteOnce" +], +"resources": { +"requests": { +"storage": "5Gi" +} +} +}, +"status": { +"phase": "Pending" +} +} +} + + + { + "changed": false, + "output": { + "changed": false, + "diff": {}, + "failed": false, + "method": "patch", + "result": { + "apiVersion": "v1", + "kind": "Service", + "metadata": { + "creationTimestamp": "2020-01-30T19:45:08Z", + "labels": { + "app": "galaxy", + "service": "web" + }, + "name": "web", + "namespace": "testing", + "resourceVersion": "1404", + "selfLink": "/api/v1/namespaces/testing/services/web", + "uid": "04f95bc2-4399-11ea-abc6-0242ac110002" + }, + "spec": { + "clusterIP": "172.30.182.243", + "ports": [ + { + "name": "port-8000-tcp", + "port": 8000, + "protocol": "TCP", + "targetPort": 8000 + } + ], + "selector": { + "app": "galaxy", + "service": "web" + }, + "sessionAffinity": "None", + "type": "ClusterIP" + }, + "status": { + "loadBalancer": {} + } + } + } +} + + + { +"changed": true, +"method": "patch", +"result": { +"apiVersion": "v1", +"kind": "PersistentVolumeClaim", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:19Z", +"name": "elastic-volume", +"namespace": "testing", +"resourceVersion": "1430", +"selfLink": "/api/v1/namespaces/testing/persistentvolumeclaims/elastic-volume", +"uid": "0c10f59c-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"accessModes": [ +"ReadWriteOnce" +], +"resources": { +"requests": { +"storage": "5Gi" +} +} +}, +"status": { +"phase": "Pending" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "extensions/v1beta1", +"kind": "Deployment", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:27Z", +"generation": 1, +"labels": { +"app": "galaxy", +"service": "elastic" +}, +"name": "elastic", +"namespace": "testing", +"resourceVersion": "1437", +"selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", +"uid": "105833f1-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"replicas": 1, +"selector": { +"matchLabels": { +"app": "galaxy", +"service": "elastic" +} +}, +"strategy": { +"rollingUpdate": { +"maxSurge": 1, +"maxUnavailable": 1 +}, +"type": "RollingUpdate" +}, +"template": { +"metadata": { +"creationTimestamp": null, +"labels": { +"app": "galaxy", +"service": "elastic" +} +}, +"spec": { +"containers": [ +{ +"command": [ +"elasticsearch" +], +"image": "ansible/galaxy-elasticsearch:2.4.6", +"imagePullPolicy": "IfNotPresent", +"name": "elastic", +"resources": {}, +"terminationMessagePath": "/dev/termination-log", +"terminationMessagePolicy": "File", +"volumeMounts": [ +{ +"mountPath": "/usr/share/elasticsearch/data", +"name": "elastic-volume" +} +] +} +], +"dnsPolicy": "ClusterFirst", +"restartPolicy": "Always", +"schedulerName": "default-scheduler", +"securityContext": {}, +"terminationGracePeriodSeconds": 30, +"volumes": [ +{ +"name": "elastic-volume", +"persistentVolumeClaim": { +"claimName": "elastic-volume" +} +} +] +} +} +}, +"status": {} +} +} + + + { + "changed": false, + "output": { + "changed": true, + "failed": false, + "method": "create", + "result": { + "apiVersion": "extensions/v1beta1", + "kind": "Deployment", + "metadata": { + "creationTimestamp": "2020-01-30T19:45:27Z", + "generation": 1, + "labels": { + "app": "galaxy", + "service": "elastic" + }, + "name": "elastic", + "namespace": "testing", + "resourceVersion": "1437", + "selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", + "uid": "105833f1-4399-11ea-abc6-0242ac110002" + }, + "spec": { + "replicas": 1, + "selector": { + "matchLabels": { + "app": "galaxy", + "service": "elastic" + } + }, + "strategy": { + "rollingUpdate": { + "maxSurge": 1, + "maxUnavailable": 1 + }, + "type": "RollingUpdate" + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "galaxy", + "service": "elastic" + } + }, + "spec": { + "containers": [ + { + "command": [ + "elasticsearch" + ], + "image": "ansible/galaxy-elasticsearch:2.4.6", + "imagePullPolicy": "IfNotPresent", + "name": "elastic", + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "volumeMounts": [ + { + "mountPath": "/usr/share/elasticsearch/data", + "name": "elastic-volume" + } + ] + } + ], + "dnsPolicy": "ClusterFirst", + "restartPolicy": "Always", + "schedulerName": "default-scheduler", + "securityContext": {}, + "terminationGracePeriodSeconds": 30, + "volumes": [ + { + "name": "elastic-volume", + "persistentVolumeClaim": { + "claimName": "elastic-volume" + } + } + ] + } + } + }, + "status": {} + } + } +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "extensions/v1beta1", +"kind": "Deployment", +"metadata": { +"annotations": { +"deployment.kubernetes.io/revision": "1" +}, +"creationTimestamp": "2020-01-30T19:45:27Z", +"generation": 1, +"labels": { +"app": "galaxy", +"service": "elastic" +}, +"name": "elastic", +"namespace": "testing", +"resourceVersion": "1450", +"selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", +"uid": "105833f1-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"replicas": 1, +"selector": { +"matchLabels": { +"app": "galaxy", +"service": "elastic" +} +}, +"strategy": { +"rollingUpdate": { +"maxSurge": 1, +"maxUnavailable": 1 +}, +"type": "RollingUpdate" +}, +"template": { +"metadata": { +"creationTimestamp": null, +"labels": { +"app": "galaxy", +"service": "elastic" +} +}, +"spec": { +"containers": [ +{ +"command": [ +"elasticsearch" +], +"image": "ansible/galaxy-elasticsearch:2.4.6", +"imagePullPolicy": "IfNotPresent", +"name": "elastic", +"resources": {}, +"terminationMessagePath": "/dev/termination-log", +"terminationMessagePolicy": "File", +"volumeMounts": [ +{ +"mountPath": "/usr/share/elasticsearch/data", +"name": "elastic-volume" +} +] +} +], +"dnsPolicy": "ClusterFirst", +"restartPolicy": "Always", +"schedulerName": "default-scheduler", +"securityContext": {}, +"terminationGracePeriodSeconds": 30, +"volumes": [ +{ +"name": "elastic-volume", +"persistentVolumeClaim": { +"claimName": "elastic-volume" +} +} +] +} +} +}, +"status": { +"conditions": [ +{ +"lastTransitionTime": "2020-01-30T19:45:27Z", +"lastUpdateTime": "2020-01-30T19:45:27Z", +"message": "Deployment has minimum availability.", +"reason": "MinimumReplicasAvailable", +"status": "True", +"type": "Available" +} +], +"observedGeneration": 1, +"replicas": 1, +"unavailableReplicas": 1, +"updatedReplicas": 1 +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { + "changed": false, + "k8s_openshift": true +} + + + { +"changed": false, +"include": "openshift.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/openshift.yml (args={} vars={}): [testhost] + + + { +"changed": true, +"method": "patch", +"result": { +"apiVersion": "v1", +"kind": "Project", +"metadata": { +"annotations": { +"openshift.io/display-name": "", +"openshift.io/sa.scc.mcs": "s0:c9,c4", +"openshift.io/sa.scc.supplemental-groups": "1000080000/10000", +"openshift.io/sa.scc.uid-range": "1000080000/10000" +}, +"creationTimestamp": "2020-01-30T19:44:58Z", +"name": "testing", +"resourceVersion": "1465", +"selfLink": "/oapi/v1/projects/testing", +"uid": "ff662088-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { + "changed": false, + "output": { + "changed": true, + "diff": { + "after": { + "metadata": { + "annotations": { + "openshift.io/display-name": "" + }, + "resourceVersion": "1465" + } + }, + "before": { + "metadata": { + "annotations": {}, + "resourceVersion": "1364" + } + } + }, + "failed": false, + "method": "patch", + "result": { + "apiVersion": "v1", + "kind": "Project", + "metadata": { + "annotations": { + "openshift.io/display-name": "", + "openshift.io/sa.scc.mcs": "s0:c9,c4", + "openshift.io/sa.scc.supplemental-groups": "1000080000/10000", + "openshift.io/sa.scc.uid-range": "1000080000/10000" + }, + "creationTimestamp": "2020-01-30T19:44:58Z", + "name": "testing", + "resourceVersion": "1465", + "selfLink": "/oapi/v1/projects/testing", + "uid": "ff662088-4398-11ea-abc6-0242ac110002" + }, + "spec": { + "finalizers": [ + "kubernetes" + ] + }, + "status": { + "phase": "Active" + } + } + } +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "DeploymentConfig", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:39Z", +"generation": 1, +"labels": { +"app": "galaxy", +"service": "elastic" +}, +"name": "elastic", +"namespace": "testing", +"resourceVersion": "1471", +"selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", +"uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"replicas": 1, +"selector": { +"app": "galaxy", +"service": "elastic" +}, +"strategy": { +"activeDeadlineSeconds": 21600, +"resources": {}, +"rollingParams": { +"intervalSeconds": 1, +"maxSurge": "25%", +"maxUnavailable": "25%", +"timeoutSeconds": 600, +"updatePeriodSeconds": 1 +}, +"type": "Rolling" +}, +"template": { +"metadata": { +"creationTimestamp": null, +"labels": { +"app": "galaxy", +"service": "elastic" +} +}, +"spec": { +"containers": [ +{ +"command": [ +"elasticsearch" +], +"image": "ansible/galaxy-elasticsearch:2.4.6", +"imagePullPolicy": "IfNotPresent", +"name": "elastic", +"resources": {}, +"terminationMessagePath": "/dev/termination-log", +"terminationMessagePolicy": "File", +"volumeMounts": [ +{ +"mountPath": "/usr/share/elasticsearch/data", +"name": "elastic-volume" +} +] +} +], +"dnsPolicy": "ClusterFirst", +"restartPolicy": "Always", +"schedulerName": "default-scheduler", +"securityContext": {}, +"terminationGracePeriodSeconds": 30, +"volumes": [ +{ +"name": "elastic-volume", +"persistentVolumeClaim": { +"claimName": "elastic-volume" +} +} +] +} +}, +"test": false, +"triggers": [ +{ +"type": "ConfigChange" +} +] +}, +"status": { +"availableReplicas": 0, +"latestVersion": 0, +"observedGeneration": 0, +"replicas": 0, +"unavailableReplicas": 0, +"updatedReplicas": 0 +} +} +} + + + { + "changed": false, + "output": { + "changed": true, + "failed": false, + "method": "create", + "result": { + "apiVersion": "v1", + "kind": "DeploymentConfig", + "metadata": { + "creationTimestamp": "2020-01-30T19:45:39Z", + "generation": 1, + "labels": { + "app": "galaxy", + "service": "elastic" + }, + "name": "elastic", + "namespace": "testing", + "resourceVersion": "1471", + "selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", + "uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" + }, + "spec": { + "replicas": 1, + "selector": { + "app": "galaxy", + "service": "elastic" + }, + "strategy": { + "activeDeadlineSeconds": 21600, + "resources": {}, + "rollingParams": { + "intervalSeconds": 1, + "maxSurge": "25%", + "maxUnavailable": "25%", + "timeoutSeconds": 600, + "updatePeriodSeconds": 1 + }, + "type": "Rolling" + }, + "template": { + "metadata": { + "creationTimestamp": null, + "labels": { + "app": "galaxy", + "service": "elastic" + } + }, + "spec": { + "containers": [ + { + "command": [ + "elasticsearch" + ], + "image": "ansible/galaxy-elasticsearch:2.4.6", + "imagePullPolicy": "IfNotPresent", + "name": "elastic", + "resources": {}, + "terminationMessagePath": "/dev/termination-log", + "terminationMessagePolicy": "File", + "volumeMounts": [ + { + "mountPath": "/usr/share/elasticsearch/data", + "name": "elastic-volume" + } + ] + } + ], + "dnsPolicy": "ClusterFirst", + "restartPolicy": "Always", + "schedulerName": "default-scheduler", + "securityContext": {}, + "terminationGracePeriodSeconds": 30, + "volumes": [ + { + "name": "elastic-volume", + "persistentVolumeClaim": { + "claimName": "elastic-volume" + } + } + ] + } + }, + "test": false, + "triggers": [ + { + "type": "ConfigChange" + } + ] + }, + "status": { + "availableReplicas": 0, + "latestVersion": 0, + "observedGeneration": 0, + "replicas": 0, + "unavailableReplicas": 0, + "updatedReplicas": 0 + } + } + } +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "v1", +"kind": "DeploymentConfig", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:39Z", +"generation": 1, +"labels": { +"app": "galaxy", +"service": "elastic" +}, +"name": "elastic", +"namespace": "testing", +"resourceVersion": "1481", +"selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", +"uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"replicas": 1, +"selector": { +"app": "galaxy", +"service": "elastic" +}, +"strategy": { +"activeDeadlineSeconds": 21600, +"resources": {}, +"rollingParams": { +"intervalSeconds": 1, +"maxSurge": "25%", +"maxUnavailable": "25%", +"timeoutSeconds": 600, +"updatePeriodSeconds": 1 +}, +"type": "Rolling" +}, +"template": { +"metadata": { +"creationTimestamp": null, +"labels": { +"app": "galaxy", +"service": "elastic" +} +}, +"spec": { +"containers": [ +{ +"command": [ +"elasticsearch" +], +"image": "ansible/galaxy-elasticsearch:2.4.6", +"imagePullPolicy": "IfNotPresent", +"name": "elastic", +"resources": {}, +"terminationMessagePath": "/dev/termination-log", +"terminationMessagePolicy": "File", +"volumeMounts": [ +{ +"mountPath": "/usr/share/elasticsearch/data", +"name": "elastic-volume" +} +] +} +], +"dnsPolicy": "ClusterFirst", +"restartPolicy": "Always", +"schedulerName": "default-scheduler", +"securityContext": {}, +"terminationGracePeriodSeconds": 30, +"volumes": [ +{ +"name": "elastic-volume", +"persistentVolumeClaim": { +"claimName": "elastic-volume" +} +} +] +} +}, +"test": false, +"triggers": [ +{ +"type": "ConfigChange" +} +] +}, +"status": { +"availableReplicas": 0, +"conditions": [ +{ +"lastTransitionTime": "2020-01-30T19:45:39Z", +"lastUpdateTime": "2020-01-30T19:45:39Z", +"message": "Deployment config does not have minimum availability.", +"status": "False", +"type": "Available" +}, +{ +"lastTransitionTime": "2020-01-30T19:45:40Z", +"lastUpdateTime": "2020-01-30T19:45:40Z", +"message": "replication controller \"elastic-1\" is waiting for pod \"elastic-1-deploy\" to run", +"status": "Unknown", +"type": "Progressing" +} +], +"details": { +"causes": [ +{ +"type": "ConfigChange" +} +], +"message": "config change" +}, +"latestVersion": 1, +"observedGeneration": 1, +"replicas": 0, +"unavailableReplicas": 0, +"updatedReplicas": 0 +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:47Z", +"name": "testing1", +"resourceVersion": "1499", +"selfLink": "/api/v1/namespaces/testing1", +"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": false, +"failed_when_result": false, +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c0", +"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", +"openshift.io/sa.scc.uid-range": "1000090000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:47Z", +"name": "testing1", +"resourceVersion": "1501", +"selfLink": "/api/v1/namespaces/testing1", +"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing2", +"resourceVersion": "1532", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing3", +"resourceVersion": "1535", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing2", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing2", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c5", +"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", +"openshift.io/sa.scc.uid-range": "1000100000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing2", +"resourceVersion": "1538", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing3", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing3", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c0", +"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", +"openshift.io/sa.scc.uid-range": "1000110000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing3", +"resourceVersion": "1554", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +} +] +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing2", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing2", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c5", +"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", +"openshift.io/sa.scc.uid-range": "1000100000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing2", +"resourceVersion": "1538", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing3", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing3", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c0", +"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", +"openshift.io/sa.scc.uid-range": "1000110000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"name": "testing3", +"resourceVersion": "1554", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +"msg": "All assertions passed" +} +] +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c5", +"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", +"openshift.io/sa.scc.uid-range": "1000100000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing2", +"resourceVersion": "1597", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c0", +"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", +"openshift.io/sa.scc.uid-range": "1000110000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing3", +"resourceVersion": "1598", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing2", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing2", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c5", +"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", +"openshift.io/sa.scc.uid-range": "1000100000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing2", +"resourceVersion": "1597", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing3", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing3", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c0", +"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", +"openshift.io/sa.scc.uid-range": "1000110000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing3", +"resourceVersion": "1598", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +} +] +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing2", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing2", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c5", +"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", +"openshift.io/sa.scc.uid-range": "1000100000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing2", +"resourceVersion": "1597", +"selfLink": "/api/v1/namespaces/testing2", +"uid": "200cbc61-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing3", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing3", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c0", +"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", +"openshift.io/sa.scc.uid-range": "1000110000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:53Z", +"deletionTimestamp": "2020-01-30T19:45:59Z", +"name": "testing3", +"resourceVersion": "1598", +"selfLink": "/api/v1/namespaces/testing3", +"uid": "2010caff-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +"msg": "All assertions passed" +} +] +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing4", +"resourceVersion": "1613", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing5", +"resourceVersion": "1615", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing4", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing4", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c5", +"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", +"openshift.io/sa.scc.uid-range": "1000120000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing4", +"resourceVersion": "1616", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing5", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing5", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c10", +"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", +"openshift.io/sa.scc.uid-range": "1000130000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing5", +"resourceVersion": "1620", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +} +] +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing4", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing4", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c5", +"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", +"openshift.io/sa.scc.uid-range": "1000120000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing4", +"resourceVersion": "1616", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing5", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing5", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c10", +"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", +"openshift.io/sa.scc.uid-range": "1000130000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"name": "testing5", +"resourceVersion": "1620", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +}, +"msg": "All assertions passed" +} +] +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c5", +"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", +"openshift.io/sa.scc.uid-range": "1000120000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing4", +"resourceVersion": "1706", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c10", +"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", +"openshift.io/sa.scc.uid-range": "1000130000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing5", +"resourceVersion": "1707", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing4", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing4", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c5", +"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", +"openshift.io/sa.scc.uid-range": "1000120000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing4", +"resourceVersion": "1706", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing5", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing5", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c10", +"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", +"openshift.io/sa.scc.uid-range": "1000130000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing5", +"resourceVersion": "1707", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +} +] +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing4", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing4", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c5", +"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", +"openshift.io/sa.scc.uid-range": "1000120000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing4", +"resourceVersion": "1706", +"selfLink": "/api/v1/namespaces/testing4", +"uid": "265c7f52-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Namespace", +"kubeconfig": null, +"label_selectors": [], +"name": "testing5", +"namespace": null, +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": "testing5", +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c11,c10", +"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", +"openshift.io/sa.scc.uid-range": "1000130000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:04Z", +"deletionTimestamp": "2020-01-30T19:46:09Z", +"name": "testing5", +"resourceVersion": "1707", +"selfLink": "/api/v1/namespaces/testing5", +"uid": "265e861d-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +] +}, +"msg": "All assertions passed" +} +] +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:15Z", +"name": "testing6", +"resourceVersion": "1746", +"selfLink": "/api/v1/namespaces/testing6", +"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": false, +"failed_when_result": false, +"resources": [ +{ +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c12,c4", +"openshift.io/sa.scc.supplemental-groups": "1000140000/10000", +"openshift.io/sa.scc.uid-range": "1000140000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:15Z", +"name": "testing6", +"resourceVersion": "1752", +"selfLink": "/api/v1/namespaces/testing6", +"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +] +} + + + { +"changed": false, +"include": "crd.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/crd.yml (args={} vars={}): [testhost] + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:19Z", +"name": "crd", +"resourceVersion": "1797", +"selfLink": "/api/v1/namespaces/crd", +"uid": "2f989e98-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "apiextensions.k8s.io/v1beta1", +"kind": "CustomResourceDefinition", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:21Z", +"generation": 1, +"name": "certificates.certmanager.k8s.io", +"resourceVersion": "1827", +"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", +"uid": "3098b601-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"group": "certmanager.k8s.io", +"names": { +"kind": "Certificate", +"listKind": "CertificateList", +"plural": "certificates", +"shortNames": [ +"cert", +"certs" +], +"singular": "certificate" +}, +"scope": "Namespaced", +"version": "v1alpha1" +}, +"status": { +"acceptedNames": { +"kind": "", +"plural": "" +}, +"conditions": null +} +} +} + + + { +"changed": false, +"delta": 5, +"echo": true, +"rc": 0, +"start": "2020-01-30 19:46:21.448036", +"stderr": "", +"stdout": "Paused for 5.0 seconds", +"stop": "2020-01-30 19:46:26.448443", +"user_input": "" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "certmanager.k8s.io/v1alpha1", +"kind": "Certificate", +"metadata": { +"clusterName": "", +"creationTimestamp": "2020-01-30T19:46:27Z", +"name": "acme-crt", +"namespace": "crd", +"resourceVersion": "1840", +"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", +"uid": "34974484-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"acme": { +"config": [ +{ +"domains": [ +"foo.example.com", +"bar.example.com" +], +"ingressClass": "nginx" +} +] +}, +"dnsNames": [ +"foo.example.com", +"bar.example.com" +], +"issuerRef": { +"kind": "Issuer", +"name": "letsencrypt-prod" +}, +"secretName": "acme-crt-secret" +} +} +} + + + { +"changed": true, +"method": "patch", +"result": { +"apiVersion": "certmanager.k8s.io/v1alpha1", +"kind": "Certificate", +"metadata": { +"clusterName": "", +"creationTimestamp": "2020-01-30T19:46:27Z", +"generation": 0, +"name": "acme-crt", +"namespace": "crd", +"resourceVersion": "1842", +"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", +"uid": "34974484-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"acme": { +"config": [ +{ +"domains": [ +"foo.example.com", +"bar.example.com" +], +"ingressClass": "nginx" +} +] +}, +"dnsNames": [ +"foo.example.com", +"bar.example.com" +], +"issuerRef": { +"kind": "Issuer", +"name": "letsencrypt-prod" +}, +"secretName": "acme-crt-secret" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "certmanager.k8s.io/v1alpha1", +"kind": "Certificate", +"metadata": { +"clusterName": "", +"creationTimestamp": "2020-01-30T19:46:27Z", +"generation": 0, +"name": "acme-crt", +"namespace": "crd", +"resourceVersion": "1842", +"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", +"uid": "34974484-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"acme": { +"config": [ +{ +"domains": [ +"foo.example.com", +"bar.example.com" +], +"ingressClass": "nginx" +} +] +}, +"dnsNames": [ +"foo.example.com", +"bar.example.com" +], +"issuerRef": { +"kind": "Issuer", +"name": "letsencrypt-prod" +}, +"secretName": "acme-crt-secret" +} +} +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "certmanager.k8s.io/v1alpha1", +"kind": "Certificate", +"metadata": { +"clusterName": "", +"creationTimestamp": "2020-01-30T19:46:27Z", +"generation": 0, +"name": "acme-crt", +"namespace": "crd", +"resourceVersion": "1842", +"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", +"uid": "34974484-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"acme": { +"config": [ +{ +"domains": [ +"foo.example.com", +"bar.example.com" +], +"ingressClass": "nginx" +} +] +}, +"dnsNames": [ +"foo.example.com", +"bar.example.com" +], +"issuerRef": { +"kind": "Issuer", +"name": "letsencrypt-prod" +}, +"secretName": "acme-crt-secret" +} +} +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"group": "certmanager.k8s.io", +"kind": "certificates", +"name": "acme-crt", +"uid": "34974484-4399-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +} +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c12,c9", +"openshift.io/sa.scc.supplemental-groups": "1000150000/10000", +"openshift.io/sa.scc.uid-range": "1000150000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:19Z", +"deletionTimestamp": "2020-01-30T19:46:37Z", +"name": "crd", +"resourceVersion": "1858", +"selfLink": "/api/v1/namespaces/crd", +"uid": "2f989e98-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +} + + + { +"changed": false, +"include": "lists.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/lists.yml (args={} vars={}): [testhost] + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c0", +"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", +"openshift.io/sa.scc.uid-range": "1000090000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:47Z", +"name": "testing1", +"resourceVersion": "1501", +"selfLink": "/api/v1/namespaces/testing1", +"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"a": "first" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-1", +"namespace": "testing1", +"resourceVersion": "1864", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", +"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"a": "second" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-2", +"namespace": "testing1", +"resourceVersion": "1865", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", +"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"a": "third" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-3", +"namespace": "testing1", +"resourceVersion": "1866", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", +"uid": "3c70700a-4399-11ea-abc6-0242ac110002" +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"resources": [ +{ +"apiVersion": "v1", +"data": { +"a": "first" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-1", +"namespace": "testing1", +"resourceVersion": "1864", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", +"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" +} +}, +{ +"apiVersion": "v1", +"data": { +"a": "second" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-2", +"namespace": "testing1", +"resourceVersion": "1865", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", +"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" +} +}, +{ +"apiVersion": "v1", +"data": { +"a": "third" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-3", +"namespace": "testing1", +"resourceVersion": "1866", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", +"uid": "3c70700a-4399-11ea-abc6-0242ac110002" +} +} +] +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"apiVersion": "v1", +"data": { +"a": "first" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-1", +"namespace": "testing1", +"resourceVersion": "1864", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", +"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" +} +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"apiVersion": "v1", +"data": { +"a": "second" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-2", +"namespace": "testing1", +"resourceVersion": "1865", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", +"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" +} +}, +"msg": "All assertions passed" +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"item": { +"apiVersion": "v1", +"data": { +"a": "third" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:41Z", +"labels": { +"app": "test" +}, +"name": "list-example-3", +"namespace": "testing1", +"resourceVersion": "1866", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", +"uid": "3c70700a-4399-11ea-abc6-0242ac110002" +} +}, +"msg": "All assertions passed" +} +] +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"kind": "configmaps", +"name": "list-example-1", +"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"kind": "configmaps", +"name": "list-example-2", +"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"kind": "configmaps", +"name": "list-example-3", +"uid": "3c70700a-4399-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"resources": [] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"key": "value" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:49Z", +"name": "list-example-4", +"namespace": "testing1", +"resourceVersion": "1905", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-4", +"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:49Z", +"labels": { +"app": "test" +}, +"name": "list-example-svc", +"namespace": "testing1", +"resourceVersion": "1907", +"selfLink": "/api/v1/namespaces/testing1/services/list-example-svc", +"uid": "41ac301c-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.186.254", +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "test" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "ConfigMap", +"kubeconfig": null, +"label_selectors": [], +"name": "list-example-4", +"namespace": "testing1", +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": { +"apiVersion": "v1", +"data": { +"key": "value" +}, +"kind": "ConfigMap", +"metadata": { +"name": "list-example-4" +} +}, +"resources": [ +{ +"apiVersion": "v1", +"data": { +"key": "value" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:49Z", +"name": "list-example-4", +"namespace": "testing1", +"resourceVersion": "1905", +"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-4", +"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" +} +} +] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Service", +"kubeconfig": null, +"label_selectors": [], +"name": "list-example-svc", +"namespace": "testing1", +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"labels": { +"app": "test" +}, +"name": "list-example-svc" +}, +"spec": { +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "test" +} +} +}, +"resources": [ +{ +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"creationTimestamp": "2020-01-30T19:46:49Z", +"labels": { +"app": "test" +}, +"name": "list-example-svc", +"namespace": "testing1", +"resourceVersion": "1907", +"selfLink": "/api/v1/namespaces/testing1/services/list-example-svc", +"uid": "41ac301c-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"clusterIP": "172.30.186.254", +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "test" +}, +"sessionAffinity": "None", +"type": "ClusterIP" +}, +"status": { +"loadBalancer": {} +} +} +] +} +] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"details": { +"kind": "configmaps", +"name": "list-example-4", +"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" +}, +"kind": "Status", +"metadata": {}, +"status": "Success" +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Status", +"metadata": {}, +"status": "Success" +}, +"warnings": [] +} +] +} +} + + + { +"changed": false, +"msg": "All items completed", +"results": [ +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "ConfigMap", +"kubeconfig": null, +"label_selectors": [], +"name": "list-example-4", +"namespace": "testing1", +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": { +"apiVersion": "v1", +"data": { +"key": "value" +}, +"kind": "ConfigMap", +"metadata": { +"name": "list-example-4" +} +}, +"resources": [] +}, +{ +"ansible_loop_var": "item", +"changed": false, +"failed": false, +"invocation": { +"module_args": { +"api_key": null, +"api_version": "v1", +"ca_cert": null, +"client_cert": null, +"client_key": null, +"context": null, +"field_selectors": [], +"host": null, +"kind": "Service", +"kubeconfig": null, +"label_selectors": [], +"name": "list-example-svc", +"namespace": "testing1", +"password": null, +"proxy": null, +"username": null, +"validate_certs": null +} +}, +"item": { +"apiVersion": "v1", +"kind": "Service", +"metadata": { +"labels": { +"app": "test" +}, +"name": "list-example-svc" +}, +"spec": { +"ports": [ +{ +"name": "port-8000-tcp", +"port": 8000, +"protocol": "TCP", +"targetPort": 8000 +} +], +"selector": { +"app": "test" +} +} +}, +"resources": [] +} +] +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"include": "append_hash.yml", +"include_args": {} +} + + + /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/append_hash.yml (args={} vars={}): [testhost] + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"creationTimestamp": "2020-01-30T19:47:01Z", +"name": "append-hash", +"resourceVersion": "1929", +"selfLink": "/api/v1/namespaces/append-hash", +"uid": "484a0d69-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Active" +} +} +} + + + { +"ansible_facts": { +"k8s_resource": { +"apiVersion": "v1", +"data": { +"hello": "world" +}, +"kind": "ConfigMap", +"metadata": { +"name": "config-map-test", +"namespace": "append-hash" +} +} +}, +"changed": false +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"hello": "world" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:47:03Z", +"name": "config-map-test-5khcd6g5kk", +"namespace": "append-hash", +"resourceVersion": "1962", +"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-5khcd6g5kk", +"uid": "497bcd9d-4399-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": false, +"method": "patch", +"result": { +"apiVersion": "v1", +"data": { +"hello": "world" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:47:03Z", +"name": "config-map-test-5khcd6g5kk", +"namespace": "append-hash", +"resourceVersion": "1962", +"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-5khcd6g5kk", +"uid": "497bcd9d-4399-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "create", +"result": { +"apiVersion": "v1", +"data": { +"another": "value", +"hello": "world" +}, +"kind": "ConfigMap", +"metadata": { +"creationTimestamp": "2020-01-30T19:47:08Z", +"name": "config-map-test-25mggh69bh", +"namespace": "append-hash", +"resourceVersion": "1971", +"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-25mggh69bh", +"uid": "4d017708-4399-11ea-abc6-0242ac110002" +} +} +} + + + { + "changed": false, + "msg": "All assertions passed" +} + + + { +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c13,c2", +"openshift.io/sa.scc.supplemental-groups": "1000160000/10000", +"openshift.io/sa.scc.uid-range": "1000160000/10000" +}, +"creationTimestamp": "2020-01-30T19:47:01Z", +"deletionTimestamp": "2020-01-30T19:47:11Z", +"name": "append-hash", +"resourceVersion": "1974", +"selfLink": "/api/v1/namespaces/append-hash", +"uid": "484a0d69-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +} +} + + + { +"changed": true, +"result": { +"results": [ +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/display-name": "", +"openshift.io/sa.scc.mcs": "s0:c9,c4", +"openshift.io/sa.scc.supplemental-groups": "1000080000/10000", +"openshift.io/sa.scc.uid-range": "1000080000/10000" +}, +"creationTimestamp": "2020-01-30T19:44:58Z", +"deletionTimestamp": "2020-01-30T19:47:13Z", +"name": "testing", +"resourceVersion": "1978", +"selfLink": "/api/v1/namespaces/testing", +"uid": "ff662088-4398-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes", +"openshift.io/origin" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c10,c0", +"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", +"openshift.io/sa.scc.uid-range": "1000090000/10000" +}, +"creationTimestamp": "2020-01-30T19:45:47Z", +"deletionTimestamp": "2020-01-30T19:47:13Z", +"name": "testing1", +"resourceVersion": "1980", +"selfLink": "/api/v1/namespaces/testing1", +"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +}, +{ +"changed": false, +"method": "delete", +"result": {}, +"warnings": [] +}, +{ +"changed": false, +"method": "delete", +"result": {}, +"warnings": [] +}, +{ +"changed": false, +"method": "delete", +"result": {}, +"warnings": [] +}, +{ +"changed": false, +"method": "delete", +"result": {}, +"warnings": [] +}, +{ +"changed": true, +"method": "delete", +"result": { +"apiVersion": "v1", +"kind": "Namespace", +"metadata": { +"annotations": { +"openshift.io/sa.scc.mcs": "s0:c12,c4", +"openshift.io/sa.scc.supplemental-groups": "1000140000/10000", +"openshift.io/sa.scc.uid-range": "1000140000/10000" +}, +"creationTimestamp": "2020-01-30T19:46:15Z", +"deletionTimestamp": "2020-01-30T19:47:13Z", +"name": "testing6", +"resourceVersion": "1981", +"selfLink": "/api/v1/namespaces/testing6", +"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" +}, +"spec": { +"finalizers": [ +"kubernetes" +] +}, +"status": { +"phase": "Terminating" +} +}, +"warnings": [] +} +] +} +} + + + { +"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", +"changed": true +} + + + { +"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", +"changed": true +} + + + diff --git a/tests/sanity/ignore.txt b/tests/sanity/ignore.txt new file mode 100644 index 00000000..e9685fce --- /dev/null +++ b/tests/sanity/ignore.txt @@ -0,0 +1,6620 @@ +contrib/inventory/abiquo.py future-import-boilerplate +contrib/inventory/abiquo.py metaclass-boilerplate +contrib/inventory/apache-libcloud.py future-import-boilerplate +contrib/inventory/apache-libcloud.py metaclass-boilerplate +contrib/inventory/apstra_aos.py future-import-boilerplate +contrib/inventory/apstra_aos.py metaclass-boilerplate +contrib/inventory/azure_rm.py future-import-boilerplate +contrib/inventory/azure_rm.py metaclass-boilerplate +contrib/inventory/brook.py future-import-boilerplate +contrib/inventory/brook.py metaclass-boilerplate +contrib/inventory/cloudforms.py future-import-boilerplate +contrib/inventory/cloudforms.py metaclass-boilerplate +contrib/inventory/cloudstack.py future-import-boilerplate +contrib/inventory/cloudstack.py metaclass-boilerplate +contrib/inventory/cobbler.py future-import-boilerplate +contrib/inventory/cobbler.py metaclass-boilerplate +contrib/inventory/collins.py future-import-boilerplate +contrib/inventory/collins.py metaclass-boilerplate +contrib/inventory/consul_io.py future-import-boilerplate +contrib/inventory/consul_io.py metaclass-boilerplate +contrib/inventory/digital_ocean.py future-import-boilerplate +contrib/inventory/digital_ocean.py metaclass-boilerplate +contrib/inventory/ec2.py future-import-boilerplate +contrib/inventory/ec2.py metaclass-boilerplate +contrib/inventory/fleet.py future-import-boilerplate +contrib/inventory/fleet.py metaclass-boilerplate +contrib/inventory/foreman.py future-import-boilerplate +contrib/inventory/foreman.py metaclass-boilerplate +contrib/inventory/freeipa.py future-import-boilerplate +contrib/inventory/freeipa.py metaclass-boilerplate +contrib/inventory/gce.py future-import-boilerplate +contrib/inventory/gce.py metaclass-boilerplate +contrib/inventory/gce.py pylint:blacklisted-name +contrib/inventory/infoblox.py future-import-boilerplate +contrib/inventory/infoblox.py metaclass-boilerplate +contrib/inventory/jail.py future-import-boilerplate +contrib/inventory/jail.py metaclass-boilerplate +contrib/inventory/landscape.py future-import-boilerplate +contrib/inventory/landscape.py metaclass-boilerplate +contrib/inventory/libvirt_lxc.py future-import-boilerplate +contrib/inventory/libvirt_lxc.py metaclass-boilerplate +contrib/inventory/linode.py future-import-boilerplate +contrib/inventory/linode.py metaclass-boilerplate +contrib/inventory/lxc_inventory.py future-import-boilerplate +contrib/inventory/lxc_inventory.py metaclass-boilerplate +contrib/inventory/lxd.py future-import-boilerplate +contrib/inventory/lxd.py metaclass-boilerplate +contrib/inventory/mdt_dynamic_inventory.py future-import-boilerplate +contrib/inventory/mdt_dynamic_inventory.py metaclass-boilerplate +contrib/inventory/nagios_livestatus.py future-import-boilerplate +contrib/inventory/nagios_livestatus.py metaclass-boilerplate +contrib/inventory/nagios_ndo.py future-import-boilerplate +contrib/inventory/nagios_ndo.py metaclass-boilerplate +contrib/inventory/nsot.py future-import-boilerplate +contrib/inventory/nsot.py metaclass-boilerplate +contrib/inventory/openshift.py future-import-boilerplate +contrib/inventory/openshift.py metaclass-boilerplate +contrib/inventory/openstack_inventory.py future-import-boilerplate +contrib/inventory/openstack_inventory.py metaclass-boilerplate +contrib/inventory/openvz.py future-import-boilerplate +contrib/inventory/openvz.py metaclass-boilerplate +contrib/inventory/ovirt.py future-import-boilerplate +contrib/inventory/ovirt.py metaclass-boilerplate +contrib/inventory/ovirt4.py future-import-boilerplate +contrib/inventory/ovirt4.py metaclass-boilerplate +contrib/inventory/packet_net.py future-import-boilerplate +contrib/inventory/packet_net.py metaclass-boilerplate +contrib/inventory/proxmox.py future-import-boilerplate +contrib/inventory/proxmox.py metaclass-boilerplate +contrib/inventory/rackhd.py future-import-boilerplate +contrib/inventory/rackhd.py metaclass-boilerplate +contrib/inventory/rax.py future-import-boilerplate +contrib/inventory/rax.py metaclass-boilerplate +contrib/inventory/rudder.py future-import-boilerplate +contrib/inventory/rudder.py metaclass-boilerplate +contrib/inventory/scaleway.py future-import-boilerplate +contrib/inventory/scaleway.py metaclass-boilerplate +contrib/inventory/serf.py future-import-boilerplate +contrib/inventory/serf.py metaclass-boilerplate +contrib/inventory/softlayer.py future-import-boilerplate +contrib/inventory/softlayer.py metaclass-boilerplate +contrib/inventory/spacewalk.py future-import-boilerplate +contrib/inventory/spacewalk.py metaclass-boilerplate +contrib/inventory/ssh_config.py future-import-boilerplate +contrib/inventory/ssh_config.py metaclass-boilerplate +contrib/inventory/stacki.py future-import-boilerplate +contrib/inventory/stacki.py metaclass-boilerplate +contrib/inventory/vagrant.py future-import-boilerplate +contrib/inventory/vagrant.py metaclass-boilerplate +contrib/inventory/vbox.py future-import-boilerplate +contrib/inventory/vbox.py metaclass-boilerplate +contrib/inventory/vmware.py future-import-boilerplate +contrib/inventory/vmware.py metaclass-boilerplate +contrib/inventory/vmware_inventory.py future-import-boilerplate +contrib/inventory/vmware_inventory.py metaclass-boilerplate +contrib/inventory/zabbix.py future-import-boilerplate +contrib/inventory/zabbix.py metaclass-boilerplate +contrib/inventory/zone.py future-import-boilerplate +contrib/inventory/zone.py metaclass-boilerplate +contrib/vault/azure_vault.py future-import-boilerplate +contrib/vault/azure_vault.py metaclass-boilerplate +contrib/vault/vault-keyring-client.py future-import-boilerplate +contrib/vault/vault-keyring-client.py metaclass-boilerplate +contrib/vault/vault-keyring.py future-import-boilerplate +contrib/vault/vault-keyring.py metaclass-boilerplate +docs/bin/find-plugin-refs.py future-import-boilerplate +docs/bin/find-plugin-refs.py metaclass-boilerplate +docs/docsite/_extensions/pygments_lexer.py future-import-boilerplate +docs/docsite/_extensions/pygments_lexer.py metaclass-boilerplate +docs/docsite/_themes/sphinx_rtd_theme/__init__.py future-import-boilerplate +docs/docsite/_themes/sphinx_rtd_theme/__init__.py metaclass-boilerplate +docs/docsite/rst/conf.py future-import-boilerplate +docs/docsite/rst/conf.py metaclass-boilerplate +docs/docsite/rst/dev_guide/testing/sanity/no-smart-quotes.rst no-smart-quotes +examples/scripts/ConfigureRemotingForAnsible.ps1 pslint:PSCustomUseLiteralPath +examples/scripts/upgrade_to_ps3.ps1 pslint:PSCustomUseLiteralPath +examples/scripts/upgrade_to_ps3.ps1 pslint:PSUseApprovedVerbs +examples/scripts/uptime.py future-import-boilerplate +examples/scripts/uptime.py metaclass-boilerplate +hacking/aws_config/build_iam_policy_framework.py future-import-boilerplate +hacking/aws_config/build_iam_policy_framework.py metaclass-boilerplate +hacking/build-ansible.py shebang # only run by release engineers, Python 3.6+ required +hacking/build_library/build_ansible/announce.py compile-2.6!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/announce.py compile-2.7!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/announce.py compile-3.5!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/dump_config.py compile-2.6!skip # docs build only, 2.7+ required +hacking/build_library/build_ansible/command_plugins/dump_keywords.py compile-2.6!skip # docs build only, 2.7+ required +hacking/build_library/build_ansible/command_plugins/generate_man.py compile-2.6!skip # docs build only, 2.7+ required +hacking/build_library/build_ansible/command_plugins/plugin_formatter.py compile-2.6!skip # docs build only, 2.7+ required +hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-2.6!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-2.7!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-3.5!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-2.6!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-2.7!skip # release process only, 3.6+ required +hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-3.5!skip # release process only, 3.6+ required +hacking/create_deprecated_issues.py future-import-boilerplate +hacking/create_deprecated_issues.py metaclass-boilerplate +hacking/fix_test_syntax.py future-import-boilerplate +hacking/fix_test_syntax.py metaclass-boilerplate +hacking/get_library.py future-import-boilerplate +hacking/get_library.py metaclass-boilerplate +hacking/report.py future-import-boilerplate +hacking/report.py metaclass-boilerplate +hacking/return_skeleton_generator.py future-import-boilerplate +hacking/return_skeleton_generator.py metaclass-boilerplate +hacking/test-module.py future-import-boilerplate +hacking/test-module.py metaclass-boilerplate +hacking/tests/gen_distribution_version_testcase.py future-import-boilerplate +hacking/tests/gen_distribution_version_testcase.py metaclass-boilerplate +lib/ansible/cli/console.py pylint:blacklisted-name +lib/ansible/cli/scripts/ansible_cli_stub.py shebang +lib/ansible/cli/scripts/ansible_connection_cli_stub.py shebang +lib/ansible/compat/selectors/_selectors2.py future-import-boilerplate # ignore bundled +lib/ansible/compat/selectors/_selectors2.py metaclass-boilerplate # ignore bundled +lib/ansible/compat/selectors/_selectors2.py pylint:blacklisted-name +lib/ansible/config/base.yml no-unwanted-files +lib/ansible/config/module_defaults.yml no-unwanted-files +lib/ansible/executor/playbook_executor.py pylint:blacklisted-name +lib/ansible/executor/powershell/async_watchdog.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/executor/powershell/async_wrapper.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/executor/powershell/exec_wrapper.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/executor/task_queue_manager.py pylint:blacklisted-name +lib/ansible/module_utils/_text.py future-import-boilerplate +lib/ansible/module_utils/_text.py metaclass-boilerplate +lib/ansible/module_utils/alicloud_ecs.py future-import-boilerplate +lib/ansible/module_utils/alicloud_ecs.py metaclass-boilerplate +lib/ansible/module_utils/ansible_tower.py future-import-boilerplate +lib/ansible/module_utils/ansible_tower.py metaclass-boilerplate +lib/ansible/module_utils/api.py future-import-boilerplate +lib/ansible/module_utils/api.py metaclass-boilerplate +lib/ansible/module_utils/aws/batch.py future-import-boilerplate +lib/ansible/module_utils/aws/batch.py metaclass-boilerplate +lib/ansible/module_utils/aws/cloudfront_facts.py future-import-boilerplate +lib/ansible/module_utils/aws/cloudfront_facts.py metaclass-boilerplate +lib/ansible/module_utils/aws/core.py future-import-boilerplate +lib/ansible/module_utils/aws/core.py metaclass-boilerplate +lib/ansible/module_utils/aws/direct_connect.py future-import-boilerplate +lib/ansible/module_utils/aws/direct_connect.py metaclass-boilerplate +lib/ansible/module_utils/aws/elb_utils.py future-import-boilerplate +lib/ansible/module_utils/aws/elb_utils.py metaclass-boilerplate +lib/ansible/module_utils/aws/elbv2.py future-import-boilerplate +lib/ansible/module_utils/aws/elbv2.py metaclass-boilerplate +lib/ansible/module_utils/aws/iam.py future-import-boilerplate +lib/ansible/module_utils/aws/iam.py metaclass-boilerplate +lib/ansible/module_utils/aws/rds.py future-import-boilerplate +lib/ansible/module_utils/aws/rds.py metaclass-boilerplate +lib/ansible/module_utils/aws/s3.py future-import-boilerplate +lib/ansible/module_utils/aws/s3.py metaclass-boilerplate +lib/ansible/module_utils/aws/urls.py future-import-boilerplate +lib/ansible/module_utils/aws/urls.py metaclass-boilerplate +lib/ansible/module_utils/aws/waf.py future-import-boilerplate +lib/ansible/module_utils/aws/waf.py metaclass-boilerplate +lib/ansible/module_utils/aws/waiters.py future-import-boilerplate +lib/ansible/module_utils/aws/waiters.py metaclass-boilerplate +lib/ansible/module_utils/azure_rm_common.py future-import-boilerplate +lib/ansible/module_utils/azure_rm_common.py metaclass-boilerplate +lib/ansible/module_utils/azure_rm_common_ext.py future-import-boilerplate +lib/ansible/module_utils/azure_rm_common_ext.py metaclass-boilerplate +lib/ansible/module_utils/azure_rm_common_rest.py future-import-boilerplate +lib/ansible/module_utils/azure_rm_common_rest.py metaclass-boilerplate +lib/ansible/module_utils/basic.py metaclass-boilerplate +lib/ansible/module_utils/cloud.py future-import-boilerplate +lib/ansible/module_utils/cloud.py metaclass-boilerplate +lib/ansible/module_utils/common/network.py future-import-boilerplate +lib/ansible/module_utils/common/network.py metaclass-boilerplate +lib/ansible/module_utils/compat/ipaddress.py future-import-boilerplate +lib/ansible/module_utils/compat/ipaddress.py metaclass-boilerplate +lib/ansible/module_utils/compat/ipaddress.py no-assert +lib/ansible/module_utils/compat/ipaddress.py no-unicode-literals +lib/ansible/module_utils/connection.py future-import-boilerplate +lib/ansible/module_utils/connection.py metaclass-boilerplate +lib/ansible/module_utils/database.py future-import-boilerplate +lib/ansible/module_utils/database.py metaclass-boilerplate +lib/ansible/module_utils/digital_ocean.py future-import-boilerplate +lib/ansible/module_utils/digital_ocean.py metaclass-boilerplate +lib/ansible/module_utils/dimensiondata.py future-import-boilerplate +lib/ansible/module_utils/dimensiondata.py metaclass-boilerplate +lib/ansible/module_utils/distro/__init__.py empty-init # breaks namespacing, bundled, do not override +lib/ansible/module_utils/distro/_distro.py future-import-boilerplate # ignore bundled +lib/ansible/module_utils/distro/_distro.py metaclass-boilerplate # ignore bundled +lib/ansible/module_utils/distro/_distro.py no-assert +lib/ansible/module_utils/distro/_distro.py pep8!skip # bundled code we don't want to modify +lib/ansible/module_utils/ec2.py future-import-boilerplate +lib/ansible/module_utils/ec2.py metaclass-boilerplate +lib/ansible/module_utils/exoscale.py future-import-boilerplate +lib/ansible/module_utils/exoscale.py metaclass-boilerplate +lib/ansible/module_utils/f5_utils.py future-import-boilerplate +lib/ansible/module_utils/f5_utils.py metaclass-boilerplate +lib/ansible/module_utils/facts/__init__.py empty-init # breaks namespacing, deprecate and eventually remove +lib/ansible/module_utils/facts/network/linux.py pylint:blacklisted-name +lib/ansible/module_utils/facts/sysctl.py future-import-boilerplate +lib/ansible/module_utils/facts/sysctl.py metaclass-boilerplate +lib/ansible/module_utils/facts/utils.py future-import-boilerplate +lib/ansible/module_utils/facts/utils.py metaclass-boilerplate +lib/ansible/module_utils/firewalld.py future-import-boilerplate +lib/ansible/module_utils/firewalld.py metaclass-boilerplate +lib/ansible/module_utils/gcdns.py future-import-boilerplate +lib/ansible/module_utils/gcdns.py metaclass-boilerplate +lib/ansible/module_utils/gce.py future-import-boilerplate +lib/ansible/module_utils/gce.py metaclass-boilerplate +lib/ansible/module_utils/gcp.py future-import-boilerplate +lib/ansible/module_utils/gcp.py metaclass-boilerplate +lib/ansible/module_utils/gcp_utils.py future-import-boilerplate +lib/ansible/module_utils/gcp_utils.py metaclass-boilerplate +lib/ansible/module_utils/gitlab.py future-import-boilerplate +lib/ansible/module_utils/gitlab.py metaclass-boilerplate +lib/ansible/module_utils/hwc_utils.py future-import-boilerplate +lib/ansible/module_utils/hwc_utils.py metaclass-boilerplate +lib/ansible/module_utils/infinibox.py future-import-boilerplate +lib/ansible/module_utils/infinibox.py metaclass-boilerplate +lib/ansible/module_utils/ipa.py future-import-boilerplate +lib/ansible/module_utils/ipa.py metaclass-boilerplate +lib/ansible/module_utils/ismount.py future-import-boilerplate +lib/ansible/module_utils/ismount.py metaclass-boilerplate +lib/ansible/module_utils/json_utils.py future-import-boilerplate +lib/ansible/module_utils/json_utils.py metaclass-boilerplate +lib/ansible/module_utils/k8s/common.py metaclass-boilerplate +lib/ansible/module_utils/k8s/raw.py metaclass-boilerplate +lib/ansible/module_utils/k8s/scale.py metaclass-boilerplate +lib/ansible/module_utils/known_hosts.py future-import-boilerplate +lib/ansible/module_utils/known_hosts.py metaclass-boilerplate +lib/ansible/module_utils/kubevirt.py future-import-boilerplate +lib/ansible/module_utils/kubevirt.py metaclass-boilerplate +lib/ansible/module_utils/linode.py future-import-boilerplate +lib/ansible/module_utils/linode.py metaclass-boilerplate +lib/ansible/module_utils/lxd.py future-import-boilerplate +lib/ansible/module_utils/lxd.py metaclass-boilerplate +lib/ansible/module_utils/manageiq.py future-import-boilerplate +lib/ansible/module_utils/manageiq.py metaclass-boilerplate +lib/ansible/module_utils/memset.py future-import-boilerplate +lib/ansible/module_utils/memset.py metaclass-boilerplate +lib/ansible/module_utils/mysql.py future-import-boilerplate +lib/ansible/module_utils/mysql.py metaclass-boilerplate +lib/ansible/module_utils/net_tools/netbox/netbox_utils.py future-import-boilerplate +lib/ansible/module_utils/net_tools/nios/api.py future-import-boilerplate +lib/ansible/module_utils/net_tools/nios/api.py metaclass-boilerplate +lib/ansible/module_utils/netapp.py future-import-boilerplate +lib/ansible/module_utils/netapp.py metaclass-boilerplate +lib/ansible/module_utils/netapp_elementsw_module.py future-import-boilerplate +lib/ansible/module_utils/netapp_elementsw_module.py metaclass-boilerplate +lib/ansible/module_utils/netapp_module.py future-import-boilerplate +lib/ansible/module_utils/netapp_module.py metaclass-boilerplate +lib/ansible/module_utils/network/a10/a10.py future-import-boilerplate +lib/ansible/module_utils/network/a10/a10.py metaclass-boilerplate +lib/ansible/module_utils/network/aci/aci.py future-import-boilerplate +lib/ansible/module_utils/network/aci/aci.py metaclass-boilerplate +lib/ansible/module_utils/network/aci/mso.py future-import-boilerplate +lib/ansible/module_utils/network/aci/mso.py metaclass-boilerplate +lib/ansible/module_utils/network/aireos/aireos.py future-import-boilerplate +lib/ansible/module_utils/network/aireos/aireos.py metaclass-boilerplate +lib/ansible/module_utils/network/aos/aos.py future-import-boilerplate +lib/ansible/module_utils/network/aos/aos.py metaclass-boilerplate +lib/ansible/module_utils/network/aruba/aruba.py future-import-boilerplate +lib/ansible/module_utils/network/aruba/aruba.py metaclass-boilerplate +lib/ansible/module_utils/network/asa/asa.py future-import-boilerplate +lib/ansible/module_utils/network/asa/asa.py metaclass-boilerplate +lib/ansible/module_utils/network/avi/ansible_utils.py future-import-boilerplate +lib/ansible/module_utils/network/avi/ansible_utils.py metaclass-boilerplate +lib/ansible/module_utils/network/avi/avi.py future-import-boilerplate +lib/ansible/module_utils/network/avi/avi.py metaclass-boilerplate +lib/ansible/module_utils/network/avi/avi_api.py future-import-boilerplate +lib/ansible/module_utils/network/avi/avi_api.py metaclass-boilerplate +lib/ansible/module_utils/network/bigswitch/bigswitch.py future-import-boilerplate +lib/ansible/module_utils/network/bigswitch/bigswitch.py metaclass-boilerplate +lib/ansible/module_utils/network/checkpoint/checkpoint.py metaclass-boilerplate +lib/ansible/module_utils/network/cloudengine/ce.py future-import-boilerplate +lib/ansible/module_utils/network/cloudengine/ce.py metaclass-boilerplate +lib/ansible/module_utils/network/cnos/cnos.py future-import-boilerplate +lib/ansible/module_utils/network/cnos/cnos.py metaclass-boilerplate +lib/ansible/module_utils/network/cnos/cnos_devicerules.py future-import-boilerplate +lib/ansible/module_utils/network/cnos/cnos_devicerules.py metaclass-boilerplate +lib/ansible/module_utils/network/cnos/cnos_errorcodes.py future-import-boilerplate +lib/ansible/module_utils/network/cnos/cnos_errorcodes.py metaclass-boilerplate +lib/ansible/module_utils/network/common/cfg/base.py future-import-boilerplate +lib/ansible/module_utils/network/common/cfg/base.py metaclass-boilerplate +lib/ansible/module_utils/network/common/config.py future-import-boilerplate +lib/ansible/module_utils/network/common/config.py metaclass-boilerplate +lib/ansible/module_utils/network/common/facts/facts.py future-import-boilerplate +lib/ansible/module_utils/network/common/facts/facts.py metaclass-boilerplate +lib/ansible/module_utils/network/common/netconf.py future-import-boilerplate +lib/ansible/module_utils/network/common/netconf.py metaclass-boilerplate +lib/ansible/module_utils/network/common/network.py future-import-boilerplate +lib/ansible/module_utils/network/common/network.py metaclass-boilerplate +lib/ansible/module_utils/network/common/parsing.py future-import-boilerplate +lib/ansible/module_utils/network/common/parsing.py metaclass-boilerplate +lib/ansible/module_utils/network/common/utils.py future-import-boilerplate +lib/ansible/module_utils/network/common/utils.py metaclass-boilerplate +lib/ansible/module_utils/network/dellos10/dellos10.py future-import-boilerplate +lib/ansible/module_utils/network/dellos10/dellos10.py metaclass-boilerplate +lib/ansible/module_utils/network/dellos6/dellos6.py future-import-boilerplate +lib/ansible/module_utils/network/dellos6/dellos6.py metaclass-boilerplate +lib/ansible/module_utils/network/dellos9/dellos9.py future-import-boilerplate +lib/ansible/module_utils/network/dellos9/dellos9.py metaclass-boilerplate +lib/ansible/module_utils/network/edgeos/edgeos.py future-import-boilerplate +lib/ansible/module_utils/network/edgeos/edgeos.py metaclass-boilerplate +lib/ansible/module_utils/network/edgeswitch/edgeswitch.py future-import-boilerplate +lib/ansible/module_utils/network/edgeswitch/edgeswitch.py metaclass-boilerplate +lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py future-import-boilerplate +lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py metaclass-boilerplate +lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py pylint:duplicate-string-formatting-argument +lib/ansible/module_utils/network/enos/enos.py future-import-boilerplate +lib/ansible/module_utils/network/enos/enos.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/eos.py future-import-boilerplate +lib/ansible/module_utils/network/eos/eos.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/address_family.py future-import-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/address_family.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/neighbors.py future-import-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/neighbors.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/process.py future-import-boilerplate +lib/ansible/module_utils/network/eos/providers/cli/config/bgp/process.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/providers/module.py future-import-boilerplate +lib/ansible/module_utils/network/eos/providers/module.py metaclass-boilerplate +lib/ansible/module_utils/network/eos/providers/providers.py future-import-boilerplate +lib/ansible/module_utils/network/eos/providers/providers.py metaclass-boilerplate +lib/ansible/module_utils/network/exos/exos.py future-import-boilerplate +lib/ansible/module_utils/network/exos/exos.py metaclass-boilerplate +lib/ansible/module_utils/network/fortimanager/common.py future-import-boilerplate +lib/ansible/module_utils/network/fortimanager/common.py metaclass-boilerplate +lib/ansible/module_utils/network/fortimanager/fortimanager.py future-import-boilerplate +lib/ansible/module_utils/network/fortimanager/fortimanager.py metaclass-boilerplate +lib/ansible/module_utils/network/fortios/fortios.py future-import-boilerplate +lib/ansible/module_utils/network/fortios/fortios.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/frr.py future-import-boilerplate +lib/ansible/module_utils/network/frr/frr.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/base.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/base.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/address_family.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/address_family.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/neighbors.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/neighbors.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/process.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/cli/config/bgp/process.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/module.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/module.py metaclass-boilerplate +lib/ansible/module_utils/network/frr/providers/providers.py future-import-boilerplate +lib/ansible/module_utils/network/frr/providers/providers.py metaclass-boilerplate +lib/ansible/module_utils/network/ftd/common.py future-import-boilerplate +lib/ansible/module_utils/network/ftd/common.py metaclass-boilerplate +lib/ansible/module_utils/network/ftd/configuration.py future-import-boilerplate +lib/ansible/module_utils/network/ftd/configuration.py metaclass-boilerplate +lib/ansible/module_utils/network/ftd/device.py future-import-boilerplate +lib/ansible/module_utils/network/ftd/device.py metaclass-boilerplate +lib/ansible/module_utils/network/ftd/fdm_swagger_client.py future-import-boilerplate +lib/ansible/module_utils/network/ftd/fdm_swagger_client.py metaclass-boilerplate +lib/ansible/module_utils/network/ftd/operation.py future-import-boilerplate +lib/ansible/module_utils/network/ftd/operation.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/ios.py future-import-boilerplate +lib/ansible/module_utils/network/ios/ios.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/base.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/base.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/address_family.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/address_family.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/neighbors.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/neighbors.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/process.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/cli/config/bgp/process.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/module.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/module.py metaclass-boilerplate +lib/ansible/module_utils/network/ios/providers/providers.py future-import-boilerplate +lib/ansible/module_utils/network/ios/providers/providers.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/iosxr.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/iosxr.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/address_family.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/address_family.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/process.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/process.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/providers/module.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/providers/module.py metaclass-boilerplate +lib/ansible/module_utils/network/iosxr/providers/providers.py future-import-boilerplate +lib/ansible/module_utils/network/iosxr/providers/providers.py metaclass-boilerplate +lib/ansible/module_utils/network/junos/argspec/facts/facts.py future-import-boilerplate +lib/ansible/module_utils/network/junos/argspec/facts/facts.py metaclass-boilerplate +lib/ansible/module_utils/network/junos/facts/facts.py future-import-boilerplate +lib/ansible/module_utils/network/junos/facts/facts.py metaclass-boilerplate +lib/ansible/module_utils/network/junos/facts/legacy/base.py future-import-boilerplate +lib/ansible/module_utils/network/junos/facts/legacy/base.py metaclass-boilerplate +lib/ansible/module_utils/network/junos/junos.py future-import-boilerplate +lib/ansible/module_utils/network/junos/junos.py metaclass-boilerplate +lib/ansible/module_utils/network/meraki/meraki.py future-import-boilerplate +lib/ansible/module_utils/network/meraki/meraki.py metaclass-boilerplate +lib/ansible/module_utils/network/netconf/netconf.py future-import-boilerplate +lib/ansible/module_utils/network/netconf/netconf.py metaclass-boilerplate +lib/ansible/module_utils/network/netscaler/netscaler.py future-import-boilerplate +lib/ansible/module_utils/network/netscaler/netscaler.py metaclass-boilerplate +lib/ansible/module_utils/network/nos/nos.py future-import-boilerplate +lib/ansible/module_utils/network/nos/nos.py metaclass-boilerplate +lib/ansible/module_utils/network/nso/nso.py future-import-boilerplate +lib/ansible/module_utils/network/nso/nso.py metaclass-boilerplate +lib/ansible/module_utils/network/nxos/argspec/facts/facts.py future-import-boilerplate +lib/ansible/module_utils/network/nxos/argspec/facts/facts.py metaclass-boilerplate +lib/ansible/module_utils/network/nxos/facts/facts.py future-import-boilerplate +lib/ansible/module_utils/network/nxos/facts/facts.py metaclass-boilerplate +lib/ansible/module_utils/network/nxos/facts/legacy/base.py future-import-boilerplate +lib/ansible/module_utils/network/nxos/facts/legacy/base.py metaclass-boilerplate +lib/ansible/module_utils/network/nxos/nxos.py future-import-boilerplate +lib/ansible/module_utils/network/nxos/nxos.py metaclass-boilerplate +lib/ansible/module_utils/network/nxos/utils/utils.py future-import-boilerplate +lib/ansible/module_utils/network/nxos/utils/utils.py metaclass-boilerplate +lib/ansible/module_utils/network/onyx/onyx.py future-import-boilerplate +lib/ansible/module_utils/network/onyx/onyx.py metaclass-boilerplate +lib/ansible/module_utils/network/ordnance/ordnance.py future-import-boilerplate +lib/ansible/module_utils/network/ordnance/ordnance.py metaclass-boilerplate +lib/ansible/module_utils/network/restconf/restconf.py future-import-boilerplate +lib/ansible/module_utils/network/restconf/restconf.py metaclass-boilerplate +lib/ansible/module_utils/network/routeros/routeros.py future-import-boilerplate +lib/ansible/module_utils/network/routeros/routeros.py metaclass-boilerplate +lib/ansible/module_utils/network/skydive/api.py future-import-boilerplate +lib/ansible/module_utils/network/skydive/api.py metaclass-boilerplate +lib/ansible/module_utils/network/slxos/slxos.py future-import-boilerplate +lib/ansible/module_utils/network/slxos/slxos.py metaclass-boilerplate +lib/ansible/module_utils/network/sros/sros.py future-import-boilerplate +lib/ansible/module_utils/network/sros/sros.py metaclass-boilerplate +lib/ansible/module_utils/network/voss/voss.py future-import-boilerplate +lib/ansible/module_utils/network/voss/voss.py metaclass-boilerplate +lib/ansible/module_utils/network/vyos/vyos.py future-import-boilerplate +lib/ansible/module_utils/network/vyos/vyos.py metaclass-boilerplate +lib/ansible/module_utils/oneandone.py future-import-boilerplate +lib/ansible/module_utils/oneandone.py metaclass-boilerplate +lib/ansible/module_utils/oneview.py metaclass-boilerplate +lib/ansible/module_utils/opennebula.py future-import-boilerplate +lib/ansible/module_utils/opennebula.py metaclass-boilerplate +lib/ansible/module_utils/openstack.py future-import-boilerplate +lib/ansible/module_utils/openstack.py metaclass-boilerplate +lib/ansible/module_utils/oracle/oci_utils.py future-import-boilerplate +lib/ansible/module_utils/oracle/oci_utils.py metaclass-boilerplate +lib/ansible/module_utils/ovirt.py future-import-boilerplate +lib/ansible/module_utils/ovirt.py metaclass-boilerplate +lib/ansible/module_utils/parsing/convert_bool.py future-import-boilerplate +lib/ansible/module_utils/parsing/convert_bool.py metaclass-boilerplate +lib/ansible/module_utils/postgres.py future-import-boilerplate +lib/ansible/module_utils/postgres.py metaclass-boilerplate +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.ArgvParser.psm1 pslint:PSUseApprovedVerbs +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSProvideCommentHelp # need to agree on best format for comment location +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSUseApprovedVerbs +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.FileUtil.psm1 pslint:PSCustomUseLiteralPath +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.FileUtil.psm1 pslint:PSProvideCommentHelp +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1 pslint:PSCustomUseLiteralPath +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1 pslint:PSUseApprovedVerbs +lib/ansible/module_utils/powershell/Ansible.ModuleUtils.LinkUtil.psm1 pslint:PSUseApprovedVerbs +lib/ansible/module_utils/pure.py future-import-boilerplate +lib/ansible/module_utils/pure.py metaclass-boilerplate +lib/ansible/module_utils/pycompat24.py future-import-boilerplate +lib/ansible/module_utils/pycompat24.py metaclass-boilerplate +lib/ansible/module_utils/pycompat24.py no-get-exception +lib/ansible/module_utils/rax.py future-import-boilerplate +lib/ansible/module_utils/rax.py metaclass-boilerplate +lib/ansible/module_utils/redhat.py future-import-boilerplate +lib/ansible/module_utils/redhat.py metaclass-boilerplate +lib/ansible/module_utils/remote_management/dellemc/dellemc_idrac.py future-import-boilerplate +lib/ansible/module_utils/remote_management/intersight.py future-import-boilerplate +lib/ansible/module_utils/remote_management/intersight.py metaclass-boilerplate +lib/ansible/module_utils/remote_management/lxca/common.py future-import-boilerplate +lib/ansible/module_utils/remote_management/lxca/common.py metaclass-boilerplate +lib/ansible/module_utils/remote_management/ucs.py future-import-boilerplate +lib/ansible/module_utils/remote_management/ucs.py metaclass-boilerplate +lib/ansible/module_utils/scaleway.py future-import-boilerplate +lib/ansible/module_utils/scaleway.py metaclass-boilerplate +lib/ansible/module_utils/service.py future-import-boilerplate +lib/ansible/module_utils/service.py metaclass-boilerplate +lib/ansible/module_utils/six/__init__.py empty-init # breaks namespacing, bundled, do not override +lib/ansible/module_utils/six/__init__.py future-import-boilerplate # ignore bundled +lib/ansible/module_utils/six/__init__.py metaclass-boilerplate # ignore bundled +lib/ansible/module_utils/six/__init__.py no-basestring +lib/ansible/module_utils/six/__init__.py no-dict-iteritems +lib/ansible/module_utils/six/__init__.py no-dict-iterkeys +lib/ansible/module_utils/six/__init__.py no-dict-itervalues +lib/ansible/module_utils/six/__init__.py replace-urlopen +lib/ansible/module_utils/splitter.py future-import-boilerplate +lib/ansible/module_utils/splitter.py metaclass-boilerplate +lib/ansible/module_utils/storage/hpe3par/hpe3par.py future-import-boilerplate +lib/ansible/module_utils/storage/hpe3par/hpe3par.py metaclass-boilerplate +lib/ansible/module_utils/univention_umc.py future-import-boilerplate +lib/ansible/module_utils/univention_umc.py metaclass-boilerplate +lib/ansible/module_utils/urls.py future-import-boilerplate +lib/ansible/module_utils/urls.py metaclass-boilerplate +lib/ansible/module_utils/urls.py pylint:blacklisted-name +lib/ansible/module_utils/urls.py replace-urlopen +lib/ansible/module_utils/vca.py future-import-boilerplate +lib/ansible/module_utils/vca.py metaclass-boilerplate +lib/ansible/module_utils/vexata.py future-import-boilerplate +lib/ansible/module_utils/vexata.py metaclass-boilerplate +lib/ansible/module_utils/yumdnf.py future-import-boilerplate +lib/ansible/module_utils/yumdnf.py metaclass-boilerplate +lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_acm_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_acm_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_acm_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_acm_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_api_gateway.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/aws_api_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/amazon/aws_az_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_az_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_az_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_caller_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_caller_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_codebuild.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_codebuild.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_codecommit.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_codecommit.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_codecommit.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_codepipeline.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_codepipeline.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_config_aggregation_authorization.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_config_aggregator.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_config_delivery_channel.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_config_recorder.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_config_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_eks_cluster.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_eks_cluster.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_eks_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_eks_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_glue_connection.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_glue_connection.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_glue_connection.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_glue_job.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_glue_job.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_glue_job.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_inspector_target.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_inspector_target.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_inspector_target.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_inspector_target.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_kms.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_kms.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_kms.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_kms.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_kms_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_kms_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_kms_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_region_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_region_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_region_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_s3.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_s3.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_s3_cors.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_s3_cors.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_s3_cors.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_secret.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_secret.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_ses_identity.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_identity.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_identity.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_ses_identity.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_sgw_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_sgw_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_waf_condition.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_condition.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_condition.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_waf_condition.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_waf_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_waf_rule.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_rule.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_waf_rule.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudformation_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudfront_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/data_pipeline.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/dms_endpoint.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/dms_replication_subnet_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_ami_copy.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_ami_copy.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_ami_copy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_ami_copy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_ami_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_ami_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_ami_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_asg.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_asg.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_asg_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_eip_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eip_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eip_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_elb_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_elb_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_elb_info.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/ec2_elb_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_eni.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eni.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eni.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_eni.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_eni_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eni_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_eni_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_group.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_group_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_instance_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_lc.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_lc.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_placement_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_placement_group.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_placement_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_placement_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_snapshot_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_tag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_tag.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_transit_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_transit_gateway.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vol_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_info.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_igw.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_igw.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_igw_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_nacl_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_peer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_peer.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_peering_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_route_table_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ec2_vpc_vgw_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_service.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ecs_service.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/ecs_taskdefinition_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/efs.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/efs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/efs_info.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elasticache.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elasticache.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elasticache_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elasticache_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elasticache_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_application_lb.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elb_application_lb.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/amazon/elb_application_lb_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_classic_lb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_classic_lb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_network_lb.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elb_network_lb.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/amazon/elb_target.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/elb_target.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/elb_target.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/elb_target.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/elb_target_group_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/execute_lambda.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/execute_lambda.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/iam_policy.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/iam_policy.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/iam_role.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/iam_role.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/iam_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/iam_role_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/kinesis_stream.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lambda.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/lambda.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/lambda.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/amazon/lambda.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/lambda.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/_lambda_facts.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/_lambda_facts.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/_lambda_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lambda_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/lambda_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/lambda_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lambda_policy.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/lambda_policy.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/lambda_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/lambda_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/lightsail.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/rds.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/rds.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/rds.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/rds.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/rds_instance_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/rds_instance_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/rds_instance_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/rds_instance_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/rds_param_group.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/rds_param_group.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/rds_snapshot.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/rds_snapshot.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/rds_snapshot_info.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/rds_snapshot_info.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/rds_snapshot_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/redshift.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/redshift.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/redshift.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/redshift.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/redshift_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/cloud/amazon/route53.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/route53_health_check.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/route53_health_check.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/route53_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/route53_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/route53_zone.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/route53_zone.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/route53_zone.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/s3_bucket.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/s3_bucket.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/s3_bucket.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/s3_bucket.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/s3_logging.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/s3_sync.py future-import-boilerplate +lib/ansible/modules/cloud/amazon/s3_sync.py metaclass-boilerplate +lib/ansible/modules/cloud/amazon/s3_sync.py pylint:blacklisted-name +lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sns.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/sns_topic.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sns_topic.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/sqs_queue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sqs_queue.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/amazon/sts_session_token.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/amazon/sts_session_token.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/atomic/atomic_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/atomic/atomic_image.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_acs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_aks_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_aksversion_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_appgateway.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_appgateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_appserviceplan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_appserviceplan_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_autoscale.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_autoscale.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_autoscale_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_availabilityset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_availabilityset_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/azure/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_containerinstance_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_containerregistry.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_containerregistry_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_image.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_image_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_keyvault_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_publicipaddress_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_rediscache_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_rediscachefirewallrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_resource.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_resource_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_resourcegroup_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_roleassignment.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_roleassignment_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:invalid-argument-spec +lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/azure/azure_rm_securitygroup_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebus.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebus_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebusqueue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebussaspolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebustopic.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_servicebustopicsubscription.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqldatabase.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqldatabase_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_sqlserver_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_webapp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_webapp_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/azure/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_publicip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_publicip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_server.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudscale/cloudscale_floating_ip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/cloudscale/cloudscale_floating_ip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudscale/cloudscale_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/cloudscale/cloudscale_server.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudscale/cloudscale_server_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/cloudscale/cloudscale_server_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudscale/cloudscale_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/cloudscale/cloudscale_volume.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudstack/cs_account.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_account.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudstack/cs_cluster.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_cluster.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_configuration.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_configuration.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_domain.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_domain.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_facts.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_facts.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_firewall.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_firewall.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_host.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_host.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_image_store.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_image_store.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instance_nic.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instance_nic.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instance_nic_secondaryip.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instance_nic_secondaryip.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instancegroup.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_instancegroup.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_ip_address.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_ip_address.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_iso.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_iso.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudstack/cs_network_acl.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network_acl.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network_offering.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_network_offering.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_physical_network.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_physical_network.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_pod.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_pod.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_project.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_project.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_region.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_region.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_resourcelimit.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_resourcelimit.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_role.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_role.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_role.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/cloudstack/cs_role_permission.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_role_permission.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_router.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_router.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_sshkeypair.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_sshkeypair.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_staticnat.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_staticnat.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_template.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_template.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_traffic_type.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_traffic_type.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_user.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_user.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vlan_ip_range.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vlan_ip_range.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vmsnapshot.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vmsnapshot.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_volume.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_volume.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vpc_offering.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vpc_offering.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vpn_gateway.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_vpn_gateway.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_zone.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/cs_zone.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py future-import-boilerplate +lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py metaclass-boilerplate +lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_droplet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_droplet.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_firewall_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_image_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_load_balancer_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_snapshot_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/digital_ocean/digital_ocean_volume_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/docker/docker_container.py use-argspec-type-path # uses colon-separated paths, can't use type=path +lib/ansible/modules/cloud/google/_gcdns_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcdns_zone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gce.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gce.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcp_backend_service.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcp_healthcheck.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/_gcspanner.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/_gcspanner.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gc_storage.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gc_storage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_eip.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_eip.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gce_eip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_eip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_img.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_img.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_img.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_instance_template.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_labels.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gce_labels.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_lb.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_lb.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/google/gce_lb.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gce_lb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_lb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_mig.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_mig.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gce_mig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_mig.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_net.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_net.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/google/gce_net.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gce_net.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_net.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_pd.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_pd.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gce_pd.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gce_pd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_pd.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_snapshot.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/google/gce_tag.py pylint:blacklisted-name +lib/ansible/modules/cloud/google/gce_tag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gcp_bigquery_table.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/heroku/heroku_collaborator.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/kubevirt/kubevirt_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/linode/linode.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/linode/linode.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/linode/linode.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/linode/linode_v4.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name +lib/ansible/modules/cloud/lxc/lxc_container.py use-argspec-type-path +lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen +lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/memset/memset_dns_reload.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/memset/memset_memstore_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/memset/memset_server_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/memset/memset_zone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/memset/memset_zone_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/memset/memset_zone_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/cloud_init_data_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/helm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/helm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/ovirt.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/misc/ovirt.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/misc/ovirt.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/proxmox.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/proxmox.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/misc/terraform.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/virt.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/misc/virt.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/misc/virt.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/misc/virt_net.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/misc/virt_pool.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/misc/virt_pool.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/oneandone/oneandone_monitoring_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/online/_online_server_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/online/_online_user_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/opennebula/one_image.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/opennebula/one_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/opennebula/one_vm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_auth.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_client_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_coe_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_coe_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_coe_cluster_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_coe_cluster_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_floating_ip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_image.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_image_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_ironic_inspect.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keypair.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keystone_domain.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keystone_domain_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_keystone_domain_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keystone_role.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_keystone_service.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_listener.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_listener.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_loadbalancer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_loadbalancer.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_member.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_networks_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_networks_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_nova_flavor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_nova_flavor.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_nova_host_aggregate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_nova_host_aggregate.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_object.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_pool.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_port.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_port.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_port_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_port_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_project.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_project_access.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_project_access.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_project_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_project_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/openstack/os_recordset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_recordset.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_router.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_router.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_security_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_security_group_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_security_group_rule.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_server.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_server.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server_action.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_server_action.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_server_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_server_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server_metadata.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_server_metadata.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_server_volume.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_subnets_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_subnets_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_user.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_user_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_user_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_user_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_user_role.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_volume_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovh/ovh_ip_failover.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovh/ovh_ip_failover.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_auth.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_auth.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_disk.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_disk.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_group.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_group.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_group_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_group_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_group_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_host.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_host_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_host_network.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_network.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_host_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_job.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_job.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_job.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_network.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_network.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_network_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_network_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_network_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_nic.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_nic.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_nic.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_nic.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_permission.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_permission.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_permission.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_quota.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_quota.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_quota.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_quota.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_role.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_role.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_role.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_tag.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_tag.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_tag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_tag.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_template.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_template.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_template.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_template_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_template_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_template_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_user.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_user.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_user.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_user_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_user_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_user_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_vm.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vm.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_vm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py future-import-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py metaclass-boilerplate +lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/packet/packet_device.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/packet/packet_device.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/podman/podman_image.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/podman/podman_image.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/cloud/podman/podman_image.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/podman/podman_image_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/pubnub/pubnub_blocks.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/pubnub/pubnub_blocks.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed +lib/ansible/modules/cloud/rackspace/rax.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/rackspace/rax.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_files_objects.py use-argspec-type-path +lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_scaling_group.py use-argspec-type-path # fix needed +lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_compute.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/scaleway/scaleway_compute.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_image_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_image_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_image_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_image_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_ip.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_ip_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_ip_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_ip_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_ip_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_lb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/scaleway/scaleway_lb.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_organization_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_organization_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/_scaleway_security_group_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_security_group_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_security_group_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_security_group_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/scaleway/_scaleway_server_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_server_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_server_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_server_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/_scaleway_snapshot_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_snapshot_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_sshkey.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_user_data.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/scaleway/scaleway_user_data.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/scaleway/scaleway_volume.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_volume_facts.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/_scaleway_volume_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/smartos/imgadm.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/cloud/smartos/imgadm.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/univention/udm_dns_record.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/univention/udm_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/univention/udm_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/univention/udm_share.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/univention/udm_share.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/cloud/univention/udm_share.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/univention/udm_share.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/univention/udm_share.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/univention/udm_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/univention/udm_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/univention/udm_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vmware/vmware_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_deploy_ovf.py use-argspec-type-path +lib/ansible/modules/cloud/vmware/vmware_deploy_ovf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_guest.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_guest.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:missing-suboption-docs +lib/ansible/modules/cloud/vmware/vsphere_copy.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/vmware/vsphere_copy.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/vultr_block_storage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vultr/vultr_block_storage.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/_vultr_block_storage_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_dns_domain.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/_vultr_dns_domain_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_dns_domain_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_dns_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vultr/vultr_dns_record.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/vultr_firewall_group.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/_vultr_firewall_group_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_firewall_group_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_firewall_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/vultr/vultr_firewall_rule.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/vultr_network.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/vultr/_vultr_network_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_network_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_os_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_region_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_region_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_server_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_server_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_ssh_key_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_startup_script_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/vultr_startup_script_info.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/vultr/_vultr_user_facts.py validate-modules:return-syntax-error +lib/ansible/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/webfaction/webfaction_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/webfaction/webfaction_site.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/webfaction/webfaction_site.py validate-modules:doc-missing-type +lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:undocumented-parameter +lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:missing-suboption-docs +lib/ansible/modules/clustering/consul.py validate-modules:undocumented-parameter +lib/ansible/modules/clustering/consul.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/consul_acl.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/consul_kv.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/etcd3.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/clustering/k8s/k8s.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:doc-missing-type +lib/ansible/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/clustering/znode.py validate-modules:doc-missing-type +lib/ansible/modules/commands/command.py validate-modules:undocumented-parameter +lib/ansible/modules/commands/command.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/commands/command.py validate-modules:doc-missing-type +lib/ansible/modules/commands/expect.py validate-modules:doc-missing-type +lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/influxdb/influxdb_retention_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/influxdb/influxdb_retention_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/influxdb/influxdb_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/influxdb/influxdb_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/influxdb/influxdb_write.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/influxdb/influxdb_write.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/misc/elasticsearch_plugin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/database/misc/kibana_plugin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/misc/kibana_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/database/misc/redis.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/misc/riak.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/database/misc/riak.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/misc/riak.py validate-modules:doc-missing-type +lib/ansible/modules/database/mongodb/mongodb_parameter.py use-argspec-type-path +lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:doc-missing-type +lib/ansible/modules/database/mongodb/mongodb_replicaset.py use-argspec-type-path +lib/ansible/modules/database/mongodb/mongodb_shard.py use-argspec-type-path +lib/ansible/modules/database/mongodb/mongodb_shard.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/mongodb/mongodb_shard.py validate-modules:doc-missing-type +lib/ansible/modules/database/mongodb/mongodb_user.py use-argspec-type-path +lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:undocumented-parameter +lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:doc-missing-type +lib/ansible/modules/database/mssql/mssql_db.py validate-modules:doc-missing-type +lib/ansible/modules/database/mysql/mysql_db.py validate-modules:use-run-command-not-popen +lib/ansible/modules/database/mysql/mysql_db.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/mysql/mysql_user.py validate-modules:undocumented-parameter +lib/ansible/modules/database/mysql/mysql_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_db.py use-argspec-type-path +lib/ansible/modules/database/postgresql/postgresql_db.py validate-modules:use-run-command-not-popen +lib/ansible/modules/database/postgresql/postgresql_db.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_ext.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_pg_hba.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_schema.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_tablespace.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/postgresql/postgresql_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/database/postgresql/postgresql_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_manage_config.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_manage_config.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:doc-missing-type +lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:undocumented-parameter +lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:doc-missing-type +lib/ansible/modules/database/vertica/vertica_configuration.py validate-modules:doc-missing-type +lib/ansible/modules/database/vertica/vertica_info.py validate-modules:doc-missing-type +lib/ansible/modules/database/vertica/vertica_role.py validate-modules:undocumented-parameter +lib/ansible/modules/database/vertica/vertica_role.py validate-modules:doc-missing-type +lib/ansible/modules/database/vertica/vertica_schema.py validate-modules:undocumented-parameter +lib/ansible/modules/database/vertica/vertica_schema.py validate-modules:doc-missing-type +lib/ansible/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter +lib/ansible/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type +lib/ansible/modules/files/acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/files/archive.py use-argspec-type-path # fix needed +lib/ansible/modules/files/assemble.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/files/blockinfile.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/blockinfile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/files/copy.py pylint:blacklisted-name +lib/ansible/modules/files/copy.py validate-modules:undocumented-parameter +lib/ansible/modules/files/copy.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/files/copy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/file.py validate-modules:undocumented-parameter +lib/ansible/modules/files/file.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/find.py use-argspec-type-path # fix needed +lib/ansible/modules/files/find.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/files/iso_extract.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/lineinfile.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/files/lineinfile.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/lineinfile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/files/patch.py pylint:blacklisted-name +lib/ansible/modules/files/replace.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/files/stat.py validate-modules:undocumented-parameter +lib/ansible/modules/files/stat.py validate-modules:parameter-invalid +lib/ansible/modules/files/stat.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/files/synchronize.py pylint:blacklisted-name +lib/ansible/modules/files/synchronize.py use-argspec-type-path +lib/ansible/modules/files/synchronize.py validate-modules:undocumented-parameter +lib/ansible/modules/files/synchronize.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/files/synchronize.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/files/synchronize.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/files/unarchive.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/identity/cyberark/cyberark_authentication.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_dnsrecord.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_dnszone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_hbacrule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_hostgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_subca.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_sudocmd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_sudocmdgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_sudorule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/ipa/ipa_vault.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:doc-missing-type +lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-missing-type +lib/ansible/modules/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_binding.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/messaging/rabbitmq/rabbitmq_binding.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_global_parameter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_global_parameter.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_parameter.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/messaging/rabbitmq/rabbitmq_user.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_vhost.py validate-modules:doc-missing-type +lib/ansible/modules/messaging/rabbitmq/rabbitmq_vhost_limits.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/airbrake_deployment.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/airbrake_deployment.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/bigpanda.py validate-modules:undocumented-parameter +lib/ansible/modules/monitoring/bigpanda.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/bigpanda.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/monitoring/datadog_event.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/datadog_monitor.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/datadog_monitor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/grafana_dashboard.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/grafana_dashboard.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/grafana_plugin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/grafana_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/honeybadger_deployment.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/icinga2_feature.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter +lib/ansible/modules/monitoring/icinga2_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/icinga2_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/icinga2_host.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/librato_annotation.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/librato_annotation.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/logentries.py validate-modules:undocumented-parameter +lib/ansible/modules/monitoring/logentries.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/monitoring/logentries.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/logentries.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/logicmonitor.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/logicmonitor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/logstash_plugin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/logstash_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/monit.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/monit.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/nagios.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/monitoring/nagios.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/nagios.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/newrelic_deployment.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/pagerduty.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/pagerduty.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/pagerduty.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/pagerduty_alert.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/pingdom.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/monitoring/pingdom.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/rollbar_deployment.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/sensu_check.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/sensu_check.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/sensu_client.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/sensu_client.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/sensu_handler.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/monitoring/sensu_handler.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/sensu_silence.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/sensu_silence.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/sensu_subscription.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/spectrum_device.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/spectrum_device.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/stackdriver.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name +lib/ansible/modules/monitoring/statusio_maintenance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/statusio_maintenance.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/uptimerobot.py validate-modules:doc-missing-type +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:undocumented-parameter +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:missing-suboption-docs +lib/ansible/modules/net_tools/basics/get_url.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/basics/uri.py pylint:blacklisted-name +lib/ansible/modules/net_tools/basics/uri.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/cloudflare_dns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/dnsmadeeasy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/dnsmadeeasy.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/ip_netns.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/ipinfoio_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/ipinfoio_facts.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/ldap/ldap_passwd.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/netbox/netbox_device.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netbox/netbox_device.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/netbox/netbox_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netbox/netbox_ip_address.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netbox/netbox_ip_address.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/netbox/netbox_prefix.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netbox/netbox_prefix.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/netbox/netbox_site.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netcup_dns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/netcup_dns.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:missing-suboption-docs +lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:undocumented-parameter +lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:doc-missing-type +lib/ansible/modules/net_tools/nmcli.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/net_tools/nsupdate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/a10/a10_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/a10/a10_server_axapi3.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/a10/a10_server_axapi3.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/a10/a10_service_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/a10/a10_virtual_server.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/a10/a10_virtual_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_access_port_block_to_access_port.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_access_sub_port_block_to_access_port.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_bd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_contract_subject.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_fabric_scheduler.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_firmware_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_firmware_group_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_firmware_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_maintenance_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_maintenance_group_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/aci_maintenance_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/mso_schema_template_bd.py validate-modules:undocumented-parameter +lib/ansible/modules/network/aci/mso_schema_template_bd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:undocumented-parameter +lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/aci/mso_site.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aireos/aireos_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/aireos/aireos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aireos/aireos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/aireos/aireos_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/aireos/aireos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aireos/aireos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/aos/_aos_asn_pool.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_asn_pool.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint_param.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint_param.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint_virtnet.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_blueprint_virtnet.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_device.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_device.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_external_router.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_external_router.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_ip_pool.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_ip_pool.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_logical_device.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_logical_device.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_logical_device_map.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_logical_device_map.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_login.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_login.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_rack_type.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_rack_type.py metaclass-boilerplate +lib/ansible/modules/network/aos/_aos_template.py future-import-boilerplate +lib/ansible/modules/network/aos/_aos_template.py metaclass-boilerplate +lib/ansible/modules/network/aruba/aruba_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/aruba/aruba_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aruba/aruba_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/aruba/aruba_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/aruba/aruba_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/aruba/aruba_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/asa/asa_acl.py validate-modules:undocumented-parameter +lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/asa/asa_acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-missing-type +lib/ansible/modules/network/asa/asa_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/asa/asa_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/asa/asa_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/asa/asa_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/asa/asa_config.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/network/asa/asa_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/asa/asa_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/asa/asa_og.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/asa/asa_og.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_actiongroupconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_actiongroupconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_actiongroupconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_actiongroupconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_alertconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_alertconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_alertconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_alertconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_alertemailconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_alertemailconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_alertemailconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_alertemailconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_alertscriptconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_alertscriptconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_alertscriptconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_alertscriptconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_alertsyslogconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_alertsyslogconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_alertsyslogconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_alertsyslogconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_analyticsprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_analyticsprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_analyticsprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_analyticsprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_api_session.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_api_session.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_api_session.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_api_session.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_api_version.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_api_version.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_api_version.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_api_version.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_applicationprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_applicationprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_applicationprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_applicationprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_authprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_authprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_authprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_authprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_backup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_backup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_backup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_backup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_backupconfiguration.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_backupconfiguration.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_backupconfiguration.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_backupconfiguration.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_cloud.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_cloud.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_cloud.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_cloud.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_cloudconnectoruser.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_cloudconnectoruser.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_cloudconnectoruser.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_cloudconnectoruser.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_cloudproperties.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_cloudproperties.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_cloudproperties.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_cloudproperties.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_cluster.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_cluster.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_clusterclouddetails.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_clusterclouddetails.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_clusterclouddetails.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_clusterclouddetails.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_controllerproperties.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_controllerproperties.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_controllerproperties.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_controllerproperties.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_customipamdnsprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_customipamdnsprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_customipamdnsprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_customipamdnsprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_dnspolicy.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_dnspolicy.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_dnspolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_dnspolicy.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_errorpagebody.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_errorpagebody.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_errorpagebody.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_errorpagebody.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_errorpageprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_errorpageprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_errorpageprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_errorpageprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_gslb.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_gslb.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_gslb.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_gslb.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_gslbservice.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_gslbservice.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_gslbservice.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_gslbservice.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_healthmonitor.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_healthmonitor.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_healthmonitor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_healthmonitor.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_httppolicyset.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_httppolicyset.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_httppolicyset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_httppolicyset.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_ipaddrgroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_ipaddrgroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_ipaddrgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_ipaddrgroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_l4policyset.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_l4policyset.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_l4policyset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_l4policyset.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_microservicegroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_microservicegroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_microservicegroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_microservicegroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_network.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_network.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_network.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_networkprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_networkprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_networkprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_networkprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_networksecuritypolicy.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_networksecuritypolicy.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_networksecuritypolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_networksecuritypolicy.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_pkiprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_pkiprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_pkiprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_pkiprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_pool.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_pool.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_pool.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_poolgroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_poolgroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_poolgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_poolgroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_prioritylabels.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_prioritylabels.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_prioritylabels.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_prioritylabels.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_role.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_role.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_role.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_scheduler.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_scheduler.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_scheduler.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_scheduler.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_seproperties.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_seproperties.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_seproperties.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_seproperties.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_serviceengine.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_serviceengine.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_serviceengine.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_serviceengine.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_serviceenginegroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_serviceenginegroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_serviceenginegroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_serviceenginegroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_snmptrapprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_snmptrapprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_snmptrapprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_snmptrapprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_sslprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_sslprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_sslprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_sslprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_stringgroup.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_stringgroup.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_stringgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_stringgroup.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_systemconfiguration.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_systemconfiguration.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_systemconfiguration.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_systemconfiguration.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_tenant.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_tenant.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_tenant.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_tenant.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_trafficcloneprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_trafficcloneprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_trafficcloneprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_trafficcloneprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_useraccount.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_useraccount.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_useraccount.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_useraccount.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_useraccountprofile.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_useraccountprofile.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_useraccountprofile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_useraccountprofile.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_virtualservice.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_virtualservice.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_virtualservice.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_virtualservice.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_vrfcontext.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_vrfcontext.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_vrfcontext.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_vrfcontext.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_vsdatascriptset.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_vsdatascriptset.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_vsdatascriptset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_vsdatascriptset.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_vsvip.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_vsvip.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_vsvip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_vsvip.py validate-modules:doc-missing-type +lib/ansible/modules/network/avi/avi_webhook.py future-import-boilerplate +lib/ansible/modules/network/avi/avi_webhook.py metaclass-boilerplate +lib/ansible/modules/network/avi/avi_webhook.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/avi/avi_webhook.py validate-modules:doc-missing-type +lib/ansible/modules/network/bigswitch/bcf_switch.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/bigswitch/bcf_switch.py validate-modules:doc-missing-type +lib/ansible/modules/network/bigswitch/bigmon_chain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/bigswitch/bigmon_chain.py validate-modules:doc-missing-type +lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-missing-type +lib/ansible/modules/network/check_point/checkpoint_object_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cli/cli_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cli/cli_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cli/cli_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_aaa_server.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_aaa_server.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_acl.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_acl_advance.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl_advance.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_acl_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bfd_global.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_global.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bfd_session.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_session.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bfd_view.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_view.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bgp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bgp_af.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_af.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_command.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_command.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_command.py pylint:blacklisted-name +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_config.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_config.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_dldp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_dldp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py pylint:blacklisted-name +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_evpn_global.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_global.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_facts.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_facts.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_file_copy.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_file_copy.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_info_center_global.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_global.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_info_center_log.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_log.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_ip_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_ip_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_link_status.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_link_status.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_mlag_config.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_mlag_config.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py pylint:blacklisted-name +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_mtu.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_mtu.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_netconf.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_netconf.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_netstream_export.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_export.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_netstream_global.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_global.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_netstream_template.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_template.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_ntp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_ntp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_ospf.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_ospf.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_reboot.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_reboot.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_rollback.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_rollback.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_sflow.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_sflow.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_community.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_community.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_location.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_location.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_snmp_user.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_user.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_startup.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_startup.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_static_route.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_static_route.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_stp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_stp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_switchport.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_switchport.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vlan.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vlan.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vrf.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vrf_af.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf_af.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vrrp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrrp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py future-import-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py metaclass-boilerplate +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-missing-type +lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cloudvision/cv_server_provision.py pylint:blacklisted-name +lib/ansible/modules/network/cloudvision/cv_server_provision.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/cumulus/nclu.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/edgeos/edgeos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/edgeos/edgeos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/edgeos/edgeos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/edgeos/edgeos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/edgeos/edgeos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/edgeswitch/edgeswitch_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/enos/enos_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/enos/enos_command.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/enos/enos_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/enos/enos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/enos/enos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/enos/enos_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/enos/enos_config.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/enos/enos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/enos/enos_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/enos/enos_facts.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/enos/enos_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/enos/enos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/enos/enos_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_banner.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_banner.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_command.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_command.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_config.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_config.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_eapi.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_eapi.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_eapi.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/eos/eos_eapi.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_eapi.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/_eos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/eos_lldp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_logging.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_logging.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/eos_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/eos_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/eos_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/eos_system.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_system.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_user.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_user.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/eos_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/_eos_vlan.py future-import-boilerplate +lib/ansible/modules/network/eos/_eos_vlan.py metaclass-boilerplate +lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/eos/eos_vrf.py future-import-boilerplate +lib/ansible/modules/network/eos/eos_vrf.py metaclass-boilerplate +lib/ansible/modules/network/eos/eos_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/eos/eos_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/eos/eos_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/eos/eos_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/eos/eos_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/exos/exos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/exos/exos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/exos/exos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/exos/exos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/_bigip_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/bigip_firewall_address_list.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/f5/bigip_firewall_log_profile_network.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:undocumented-parameter +lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/f5/bigip_pool.py validate-modules:undocumented-parameter +lib/ansible/modules/network/f5/bigip_pool.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/f5/bigip_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/bigip_pool.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/bigip_pool.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:undocumented-parameter +lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-missing-type +lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/fortimanager/fmgr_device.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_device_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_device_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_device_provision_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwobj_address.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwobj_ippool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwobj_ippool6.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwobj_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwobj_vip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwpol_ipv4.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_fwpol_package.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_ha.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_provisioning.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_provisioning.py validate-modules:doc-missing-type +lib/ansible/modules/network/fortimanager/fmgr_query.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_script.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/fortimanager/fmgr_script.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_appctrl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_av.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_dns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_ips.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_profile_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_proxy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_spam.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_ssl_ssh.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_voip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_waf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_wanopt.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortimanager/fmgr_secprof_web.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortios/fortios_address.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/fortios/fortios_address.py validate-modules:doc-missing-type +lib/ansible/modules/network/fortios/fortios_antivirus_quarantine.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortios/fortios_firewall_DoS_policy.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_firewall_DoS_policy6.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_firewall_policy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_firewall_sniffer.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_ipv4_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortios/fortios_ipv4_policy.py validate-modules:doc-missing-type +lib/ansible/modules/network/fortios/fortios_report_chart.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_switch_controller_lldp_profile.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_switch_controller_managed_switch.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_system_dhcp_server.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_system_global.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_voip_profile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_vpn_ipsec_manualkey.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_vpn_ipsec_manualkey_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:doc-choices-incompatible-type +lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:parameter-invalid +lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/fortios/fortios_wireless_controller_setting.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_wireless_controller_wtp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/fortios/fortios_wireless_controller_wtp_profile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/frr/frr_bgp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/frr/frr_bgp.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/frr/frr_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/frr/frr_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/frr/frr_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/illumos/dladm_etherstub.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/dladm_etherstub.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/dladm_iptun.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/dladm_iptun.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/illumos/dladm_iptun.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/dladm_linkprop.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/dladm_vlan.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/dladm_vnic.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/dladm_vnic.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/illumos/dladm_vnic.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/flowadm.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/flowadm.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/illumos/flowadm.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/ipadm_addr.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/ipadm_addr.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/illumos/ipadm_addr.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/ipadm_addrprop.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/ipadm_addrprop.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/network/illumos/ipadm_addrprop.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/ipadm_if.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/ipadm_if.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/ipadm_ifprop.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:doc-missing-type +lib/ansible/modules/network/illumos/ipadm_prop.py pylint:blacklisted-name +lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-missing-type +lib/ansible/modules/network/ingate/ig_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ingate/ig_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/ingate/ig_unit_information.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_banner.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_banner.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_bgp.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/ios/ios_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_command.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_command.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_config.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_config.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_facts.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_facts.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/_ios_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_logging.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_logging.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/ios_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/ios_ntp.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_ntp.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_ntp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_ntp.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_ping.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_ping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_static_route.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_static_route.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/ios_system.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_system.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_user.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_user.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/ios_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/ios_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ios/ios_vrf.py future-import-boilerplate +lib/ansible/modules/network/ios/ios_vrf.py metaclass-boilerplate +lib/ansible/modules/network/ios/ios_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ios/ios_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ios/ios_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/ironware/ironware_command.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/ironware/ironware_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ironware/ironware_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ironware/ironware_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/ironware/ironware_config.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/ironware/ironware_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ironware/ironware_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ironware/ironware_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/itential/iap_token.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_banner.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_command.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_interfaces.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/network/junos/junos_lag_interfaces.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/junos_netconf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_netconf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_package.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_package.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_ping.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_ping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_rpc.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_rpc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_scp.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_scp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/junos_system.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/junos/junos_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/meraki/meraki_admin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_config_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_malware.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_nat.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/network/meraki/meraki_nat.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_organization.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_snmp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_ssid.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/network/meraki/meraki_switchport.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_syslog.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/meraki/meraki_syslog.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/netact/netact_cm_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/netact/netact_cm_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/netconf/netconf_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/netconf/netconf_get.py validate-modules:doc-missing-type +lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:doc-missing-type +lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_cs_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:undocumented-parameter +lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_gslb_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_gslb_site.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_gslb_vserver.py validate-modules:undocumented-parameter +lib/ansible/modules/network/netscaler/netscaler_gslb_vserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_nitro_request.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_nitro_request.py validate-modules:doc-missing-type +lib/ansible/modules/network/netscaler/netscaler_save_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_save_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/netscaler/netscaler_server.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/netscaler/netscaler_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_service.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/netscaler/netscaler_service.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_servicegroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netscaler/netscaler_ssl_certkey.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_cluster.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_cluster.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_ospf.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_ospf.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_ospfarea.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_ospfarea.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_ospfarea.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_show.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_show.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_show.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_trunk.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_trunk.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_trunk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vlag.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vlag.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vlag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vlan.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vlan.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vrouter.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouter.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vrouterif.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterif.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterif.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py future-import-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py metaclass-boilerplate +lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_access_list.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_access_list_ip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_cpu_class.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_dscp_map.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_fabric_local.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_igmp_snooping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_port_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_snmp_community.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_switch_setup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/netvisor/pn_vrouter_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nos/nos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nos/nos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/nos/nos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nos/nos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/nos/nos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nso/nso_action.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nso/nso_action.py validate-modules:doc-missing-type +lib/ansible/modules/network/nso/nso_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nso/nso_query.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nso/nso_show.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nso/nso_verify.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/_nxos_ip_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/_nxos_ip_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/_nxos_mtu.py future-import-boilerplate +lib/ansible/modules/network/nxos/_nxos_mtu.py metaclass-boilerplate +lib/ansible/modules/network/nxos/_nxos_portchannel.py future-import-boilerplate +lib/ansible/modules/network/nxos/_nxos_portchannel.py metaclass-boilerplate +lib/ansible/modules/network/nxos/_nxos_switchport.py future-import-boilerplate +lib/ansible/modules/network/nxos/_nxos_switchport.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_aaa_server.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_aaa_server.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_acl.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_acl.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_acl_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_acl_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_banner.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_banner.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_bfd_global.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_bfd_global.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_bfd_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_bfd_global.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_bgp.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_bgp_af.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_af.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_config.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_config.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_evpn_global.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_evpn_global.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_evpn_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_evpn_global.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_evpn_vni.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_evpn_vni.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_facts.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_facts.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_feature.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_feature.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_gir.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_gir.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_hsrp.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_hsrp.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_igmp.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_igmp_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_install_os.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_install_os.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_interface_ospf.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_interface_ospf.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_lag_interfaces.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_logging.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_logging.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ntp_auth.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_ntp_auth.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ntp_options.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_ntp_options.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_nxapi.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_nxapi.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ospf.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_ospf.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_overlay_global.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_overlay_global.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_pim.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_pim.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_pim_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_pim_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_ping.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_ping.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_reboot.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_reboot.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_reboot.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_reboot.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_rollback.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_rollback.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_rpm.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_rpm.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_smu.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_smu.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snapshot.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snapshot.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_community.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_community.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_contact.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_contact.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_host.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_host.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_location.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_location.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_traps.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_traps.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_snmp_user.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_user.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_static_route.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_static_route.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_system.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_system.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_udld.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_udld.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_udld_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_udld_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_user.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_user.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_vpc.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vpc.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vpc_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vpc_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vrf.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:undocumented-parameter +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/nxos/nxos_vrf_af.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf_af.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vrf_interface.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf_interface.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vrrp.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vrrp.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vtp_domain.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_domain.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vtp_password.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_password.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vtp_version.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_version.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-missing-type +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py future-import-boilerplate +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py metaclass-boilerplate +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_bgp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_bgp.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_buffer_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_buffer_pool.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_command.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/onyx/onyx_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_config.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/onyx/onyx_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_igmp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_igmp.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_igmp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_igmp_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_igmp_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_magp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_magp.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_mlag_ipl.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_ospf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_ospf.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_protocol.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_ptp_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_ptp_global.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_ptp_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_ptp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_qos.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_qos.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_traffic_class.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_traffic_class.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/opx/opx_cps.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:undocumented-parameter +lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-missing-type +lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-missing-type +lib/ansible/modules/network/ovs/openvswitch_db.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ovs/openvswitch_db.py validate-modules:doc-missing-type +lib/ansible/modules/network/ovs/openvswitch_port.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/ovs/openvswitch_port.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_admin.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_admin.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_admin.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_admpwd.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_admpwd.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_admpwd.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_check.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_check.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_check.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_commit.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_commit.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_commit.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_commit.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_dag.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_dag.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_dag.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_dag_tags.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_dag_tags.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_dag_tags.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_dag_tags.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_import.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_import.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_import.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_interface.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_interface.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_lic.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_lic.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_lic.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_loadcfg.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_loadcfg.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_loadcfg.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_match_rule.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_match_rule.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_match_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_match_rule.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_mgtconfig.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_mgtconfig.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_mgtconfig.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_nat_policy.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_nat_policy.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_nat_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_nat_rule.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_object.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_object.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_object.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_object.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_op.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_op.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_op.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_pg.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_pg.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_pg.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_query_rules.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_query_rules.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_query_rules.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_restart.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_restart.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_sag.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_sag.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_sag.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_sag.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_security_policy.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_security_policy.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_security_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/panos/_panos_security_rule.py validate-modules:doc-missing-type +lib/ansible/modules/network/panos/_panos_set.py future-import-boilerplate +lib/ansible/modules/network/panos/_panos_set.py metaclass-boilerplate +lib/ansible/modules/network/panos/_panos_set.py validate-modules:doc-missing-type +lib/ansible/modules/network/radware/vdirect_commit.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/radware/vdirect_commit.py validate-modules:doc-missing-type +lib/ansible/modules/network/radware/vdirect_file.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/radware/vdirect_file.py validate-modules:doc-missing-type +lib/ansible/modules/network/radware/vdirect_runnable.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/radware/vdirect_runnable.py validate-modules:doc-missing-type +lib/ansible/modules/network/restconf/restconf_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/restconf/restconf_get.py validate-modules:doc-missing-type +lib/ansible/modules/network/routeros/routeros_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/routeros/routeros_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/routeros/routeros_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:undocumented-parameter +lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:doc-missing-type +lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:undocumented-parameter +lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:doc-missing-type +lib/ansible/modules/network/skydive/skydive_node.py validate-modules:undocumented-parameter +lib/ansible/modules/network/skydive/skydive_node.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/skydive/skydive_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/skydive/skydive_node.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/slxos/slxos_lldp.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/sros/sros_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/sros/sros_config.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/sros/sros_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/sros/sros_rollback.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-missing-type +lib/ansible/modules/network/voss/voss_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/voss/voss_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/voss/voss_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/voss/voss_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/voss/voss_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_banner.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_banner.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_banner.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_banner.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_command.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_command.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_command.py pylint:blacklisted-name +lib/ansible/modules/network/vyos/vyos_command.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_command.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_config.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_config.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_config.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_config.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_facts.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_facts.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_facts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/_vyos_interface.py future-import-boilerplate +lib/ansible/modules/network/vyos/_vyos_interface.py metaclass-boilerplate +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/_vyos_l3_interface.py future-import-boilerplate +lib/ansible/modules/network/vyos/_vyos_l3_interface.py metaclass-boilerplate +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/_vyos_linkagg.py future-import-boilerplate +lib/ansible/modules/network/vyos/_vyos_linkagg.py metaclass-boilerplate +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/_vyos_lldp.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py future-import-boilerplate +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py metaclass-boilerplate +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/vyos_logging.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_logging.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/vyos_ping.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_ping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_static_route.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_static_route.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/vyos_system.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_system.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_user.py future-import-boilerplate +lib/ansible/modules/network/vyos/vyos_user.py metaclass-boilerplate +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_user.py validate-modules:missing-suboption-docs +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:undocumented-parameter +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:missing-suboption-docs +lib/ansible/modules/notification/bearychat.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/campfire.py validate-modules:doc-missing-type +lib/ansible/modules/notification/catapult.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/catapult.py validate-modules:doc-missing-type +lib/ansible/modules/notification/cisco_spark.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/cisco_spark.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/cisco_spark.py validate-modules:doc-missing-type +lib/ansible/modules/notification/flowdock.py validate-modules:doc-missing-type +lib/ansible/modules/notification/grove.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/hipchat.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/hipchat.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/hipchat.py validate-modules:doc-missing-type +lib/ansible/modules/notification/irc.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/irc.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/irc.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/notification/irc.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/irc.py validate-modules:doc-missing-type +lib/ansible/modules/notification/jabber.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/jabber.py validate-modules:doc-missing-type +lib/ansible/modules/notification/logentries_msg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/mail.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/mail.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/mail.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/matrix.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/mattermost.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/mqtt.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/mqtt.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/mqtt.py validate-modules:doc-missing-type +lib/ansible/modules/notification/nexmo.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/nexmo.py validate-modules:doc-missing-type +lib/ansible/modules/notification/office_365_connector_card.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/office_365_connector_card.py validate-modules:doc-missing-type +lib/ansible/modules/notification/pushbullet.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/pushover.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/pushover.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/notification/pushover.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/pushover.py validate-modules:doc-missing-type +lib/ansible/modules/notification/rabbitmq_publish.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/rocketchat.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/notification/rocketchat.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/say.py validate-modules:doc-missing-type +lib/ansible/modules/notification/sendgrid.py validate-modules:undocumented-parameter +lib/ansible/modules/notification/sendgrid.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/sendgrid.py validate-modules:doc-missing-type +lib/ansible/modules/notification/slack.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/notification/slack.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/syslogger.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/telegram.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/twilio.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/twilio.py validate-modules:doc-missing-type +lib/ansible/modules/notification/typetalk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/notification/typetalk.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/bower.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/bower.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/bundler.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/language/bundler.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/bundler.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/composer.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/language/composer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/cpanm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/cpanm.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/easy_install.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/language/easy_install.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/easy_install.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/gem.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/pear.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/language/pear.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/language/pear.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/pear.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/language/pip.py pylint:blacklisted-name +lib/ansible/modules/packaging/language/yarn.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/language/yarn.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/apk.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/apk.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/apk.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/apt.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/apt.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/apt.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/apt.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/apt_key.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/apt_key.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/apt_repo.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/apt_repository.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/apt_repository.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/apt_repository.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/apt_repository.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/dnf.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/dnf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/dnf.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/dpkg_selections.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/flatpak.py validate-modules:use-run-command-not-popen +lib/ansible/modules/packaging/os/flatpak.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/flatpak_remote.py validate-modules:use-run-command-not-popen +lib/ansible/modules/packaging/os/flatpak_remote.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/homebrew.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/homebrew.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/homebrew.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/homebrew.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/homebrew_tap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/homebrew_tap.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/layman.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/layman.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/macports.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/macports.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/macports.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/openbsd_pkg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/openbsd_pkg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/opkg.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/opkg.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/pacman.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/pkg5.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/pkg5.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/pkg5_publisher.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/pkg5_publisher.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/pkgin.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/pkgin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/pkgin.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/pkgng.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/pkgng.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/pkgng.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/pkgutil.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/portage.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/portage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/portage.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/portinstall.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/portinstall.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:return-syntax-error +lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/rhsm_release.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/rpm_key.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/snap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/sorcery.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/sorcery.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/svr4pkg.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/swdepot.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/swdepot.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/swupd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/urpmi.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/urpmi.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/urpmi.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/urpmi.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/urpmi.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/xbps.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/xbps.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/xbps.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/xbps.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/xbps.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/yum.py pylint:blacklisted-name +lib/ansible/modules/packaging/os/yum.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/yum.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/yum.py validate-modules:parameter-invalid +lib/ansible/modules/packaging/os/yum.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/yum.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/yum_repository.py validate-modules:undocumented-parameter +lib/ansible/modules/packaging/os/yum_repository.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/packaging/os/yum_repository.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/yum_repository.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/zypper.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/packaging/os/zypper.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/zypper.py validate-modules:doc-missing-type +lib/ansible/modules/packaging/os/zypper_repository.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/packaging/os/zypper_repository.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/cobbler/cobbler_sync.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cobbler/cobbler_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_plugconfig.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_plugconfig.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/cpm/cpm_plugcontrol.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_plugcontrol.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/cpm/cpm_serial_port_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_serial_port_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/cpm/cpm_user.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/foreman/_foreman.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/foreman/_katello.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/hpilo/hponcfg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/imc/imc_rest.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/intersight/intersight_rest_api.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/lxca/lxca_nodes.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_policies.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_tags.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_tags.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/oneview/oneview_datacenter_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_datacenter_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_enclosure_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_enclosure_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_ethernet_network.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_ethernet_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_ethernet_network_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_ethernet_network_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/oneview/oneview_fc_network_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_fc_network_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/oneview/oneview_fcoe_network_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_fcoe_network_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:doc-missing-type +lib/ansible/modules/remote_management/oneview/oneview_network_set_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_network_set_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_san_manager.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_san_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_ip_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_lan_connectivity.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_mac_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_managed_objects.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/ucs/ucs_managed_objects.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_ntp_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_service_profile_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:doc-type-does-not-match-spec +lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_timezone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_uuid_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_vlans.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_vsans.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/ucs/ucs_vsans.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:undocumented-parameter +lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/remote_management/wakeonlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/_github_hooks.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/git.py pylint:blacklisted-name +lib/ansible/modules/source_control/git.py use-argspec-type-path +lib/ansible/modules/source_control/git.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/git.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/git_config.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/github_deploy_key.py validate-modules:parameter-invalid +lib/ansible/modules/source_control/github_deploy_key.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/github_deploy_key.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/github_issue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/github_issue.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/github_key.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/github_release.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/github_release.py validate-modules:doc-missing-type +lib/ansible/modules/source_control/github_webhook.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/github_webhook_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/hg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/source_control/subversion.py validate-modules:undocumented-parameter +lib/ansible/modules/source_control/subversion.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/emc/emc_vnx_sg_member.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/emc/emc_vnx_sg_member.py validate-modules:doc-missing-type +lib/ansible/modules/storage/glusterfs/gluster_heal_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/glusterfs/gluster_peer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/ibm/ibm_sa_domain.py validate-modules:doc-missing-type +lib/ansible/modules/storage/ibm/ibm_sa_host.py validate-modules:doc-missing-type +lib/ansible/modules/storage/ibm/ibm_sa_host_ports.py validate-modules:doc-missing-type +lib/ansible/modules/storage/ibm/ibm_sa_pool.py validate-modules:doc-missing-type +lib/ansible/modules/storage/ibm/ibm_sa_vol.py validate-modules:doc-missing-type +lib/ansible/modules/storage/ibm/ibm_sa_vol_map.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_export_client.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/storage/infinidat/infini_export_client.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_fs.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/infinidat/infini_host.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_pool.py validate-modules:doc-missing-type +lib/ansible/modules/storage/infinidat/infini_vol.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_aggregate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_aggregate.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_license.py validate-modules:incompatible-default-type +lib/ansible/modules/storage/netapp/_na_cdot_license.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_lun.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_lun.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_qtree.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_qtree.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_svm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_svm.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_user.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_user_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_user_role.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_sf_account_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_sf_account_manager.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_sf_check_connections.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_sf_snapshot_schedule_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_sf_snapshot_schedule_manager.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_sf_volume_access_group_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_sf_volume_access_group_manager.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:parameter-invalid +lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_access_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_access_group.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_account.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_account.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_admin_users.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_admin_users.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_backup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_backup.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_check_connections.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_cluster_config.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_cluster_pair.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_cluster_pair.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_cluster_snmp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_drive.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_drive.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_ldap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_node.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_snapshot_restore.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_snapshot_schedule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_snapshot_schedule.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:parameter-invalid +lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_volume_clone.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_volume_clone.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_elementsw_volume_pair.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_elementsw_volume_pair.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_aggregate.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_aggregate.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_autosupport.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_autosupport.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain_ports.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain_ports.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_cg_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_cg_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_cifs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_cifs_acl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_cifs_server.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_cifs_server.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_cluster.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_cluster.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_cluster_ha.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_cluster_peer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_command.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_disks.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_dns.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_dns.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_export_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_export_policy_rule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_fcp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_fcp.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_firewall_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_firewall_policy.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_flexcache.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_ontap_gather_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/_na_ontap_gather_facts.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_igroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_igroup.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_igroup_initiator.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_igroup_initiator.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_interface.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_ipspace.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_ipspace.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_iscsi.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_iscsi.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_job_schedule.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_job_schedule.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_license.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_license.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_lun.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_lun.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_lun_copy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_lun_copy.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_lun_map.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_lun_map.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_motd.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_net_ifgrp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_net_ifgrp.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_net_port.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_net_port.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_net_routes.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_net_routes.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_net_subnet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_net_subnet.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_net_vlan.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_net_vlan.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:parameter-invalid +lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_node.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_ntp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_ntp.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_nvme.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_nvme_namespace.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_nvme_subsystem.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_portset.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_portset.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_qos_policy_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_qtree.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_security_key_manager.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_security_key_manager.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_service_processor_network.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_service_processor_network.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_snapmirror.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_snapshot.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_snapshot.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_snapshot_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_snapshot_policy.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_snmp.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_software_update.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_svm.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_svm.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_svm_options.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_ucadapter.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_ucadapter.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_unix_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_unix_group.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_unix_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_unix_user.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_user.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_user_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_user_role.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_volume.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_volume_clone.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_vscan_on_access_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_vscan_on_access_policy.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_vscan_on_demand_task.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_vscan_on_demand_task.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_vscan_scanner_pool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/na_ontap_vscan_scanner_pool.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/na_ontap_vserver_peer.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_alerts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_amg_sync.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_asup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_auditlog.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_global.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_hostgroup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_iscsi_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_iscsi_target.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_ldap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_lun_mapping.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_lun_mapping.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_mgmt_interface.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_storagepool.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_storagepool.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_syslog.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_syslog.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-missing-type +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:undocumented-parameter +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:implied-parameter-type-mismatch +lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/purestorage/purefa_dsrole.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/purestorage/_purefa_facts.py validate-modules:return-syntax-error +lib/ansible/modules/storage/purestorage/purefa_info.py validate-modules:return-syntax-error +lib/ansible/modules/storage/purestorage/purefa_pgsnap.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/purestorage/_purefb_facts.py validate-modules:return-syntax-error +lib/ansible/modules/storage/purestorage/purefb_fs.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/storage/purestorage/purefb_info.py validate-modules:return-syntax-error +lib/ansible/modules/storage/zfs/zfs.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/zfs/zfs_delegate_admin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/zfs/zfs_facts.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/storage/zfs/zfs_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/storage/zfs/zpool_facts.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/storage/zfs/zpool_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/alternatives.py pylint:blacklisted-name +lib/ansible/modules/system/authorized_key.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/beadm.py pylint:blacklisted-name +lib/ansible/modules/system/cronvar.py pylint:blacklisted-name +lib/ansible/modules/system/dconf.py pylint:blacklisted-name +lib/ansible/modules/system/dconf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/dconf.py validate-modules:doc-missing-type +lib/ansible/modules/system/filesystem.py pylint:blacklisted-name +lib/ansible/modules/system/filesystem.py validate-modules:doc-missing-type +lib/ansible/modules/system/gconftool2.py pylint:blacklisted-name +lib/ansible/modules/system/gconftool2.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/getent.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/hostname.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/interfaces_file.py pylint:blacklisted-name +lib/ansible/modules/system/interfaces_file.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/iptables.py pylint:blacklisted-name +lib/ansible/modules/system/java_cert.py pylint:blacklisted-name +lib/ansible/modules/system/java_keystore.py validate-modules:doc-missing-type +lib/ansible/modules/system/kernel_blacklist.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/known_hosts.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/system/known_hosts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/known_hosts.py validate-modules:doc-missing-type +lib/ansible/modules/system/locale_gen.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/lvg.py pylint:blacklisted-name +lib/ansible/modules/system/lvol.py pylint:blacklisted-name +lib/ansible/modules/system/lvol.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/mksysb.py validate-modules:doc-missing-type +lib/ansible/modules/system/modprobe.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/nosh.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/nosh.py validate-modules:doc-missing-type +lib/ansible/modules/system/openwrt_init.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/openwrt_init.py validate-modules:doc-missing-type +lib/ansible/modules/system/pam_limits.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/parted.py pylint:blacklisted-name +lib/ansible/modules/system/puppet.py use-argspec-type-path +lib/ansible/modules/system/puppet.py validate-modules:undocumented-parameter +lib/ansible/modules/system/puppet.py validate-modules:parameter-invalid +lib/ansible/modules/system/puppet.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/python_requirements_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/runit.py validate-modules:undocumented-parameter +lib/ansible/modules/system/runit.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/system/runit.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/seboolean.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/selinux.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/selogin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/service.py validate-modules:use-run-command-not-popen +lib/ansible/modules/system/service.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/system/setup.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/setup.py validate-modules:doc-missing-type +lib/ansible/modules/system/sysctl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/sysctl.py validate-modules:doc-missing-type +lib/ansible/modules/system/syspatch.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/systemd.py validate-modules:parameter-invalid +lib/ansible/modules/system/systemd.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/systemd.py validate-modules:return-syntax-error +lib/ansible/modules/system/sysvinit.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/system/sysvinit.py validate-modules:return-syntax-error +lib/ansible/modules/system/timezone.py pylint:blacklisted-name +lib/ansible/modules/system/user.py validate-modules:use-run-command-not-popen +lib/ansible/modules/system/user.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/system/user.py validate-modules:doc-default-incompatible-type +lib/ansible/modules/system/xfconf.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/utilities/logic/async_status.py use-argspec-type-path +lib/ansible/modules/utilities/logic/async_status.py validate-modules!skip +lib/ansible/modules/utilities/logic/async_wrapper.py ansible-doc!skip # not an actual module +lib/ansible/modules/utilities/logic/async_wrapper.py use-argspec-type-path +lib/ansible/modules/utilities/logic/wait_for.py pylint:blacklisted-name +lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential_type.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential_type.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py use-argspec-type-path +lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py validate-modules:doc-default-does-not-match-spec +lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_host.py use-argspec-type-path +lib/ansible/modules/web_infrastructure/ansible_tower/tower_host.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory_source.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory_source.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_cancel.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_list.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_list.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_wait.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_label.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_notification.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_notification.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_organization.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_receive.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_role.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_send.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_send.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_settings.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_team.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/ansible_tower/tower_team.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_user.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_launch.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_launch.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_template.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/apache2_module.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/apache2_module.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/deploy_helper.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/deploy_helper.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:no-default-for-required-parameter +lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/ejabberd_user.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/ejabberd_user.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/gunicorn.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/gunicorn.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/htpasswd.py validate-modules:doc-choices-do-not-match-spec +lib/ansible/modules/web_infrastructure/htpasswd.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/jenkins_job.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/jenkins_job_info.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path +lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/jenkins_script.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/jira.py validate-modules:undocumented-parameter +lib/ansible/modules/web_infrastructure/jira.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/jira.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/_nginx_status_facts.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/_nginx_status_facts.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name +lib/ansible/modules/web_infrastructure/rundeck_acl_policy.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/rundeck_project.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_dns_host.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_auth_profile.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_location.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_location_info.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/supervisorctl.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/supervisorctl.py validate-modules:doc-missing-type +lib/ansible/modules/web_infrastructure/taiga_issue.py validate-modules:parameter-type-not-in-doc +lib/ansible/modules/web_infrastructure/taiga_issue.py validate-modules:doc-missing-type +lib/ansible/modules/windows/_win_msi.py future-import-boilerplate +lib/ansible/modules/windows/_win_msi.py metaclass-boilerplate +lib/ansible/modules/windows/async_status.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/setup.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_acl_inheritance.ps1 pslint:PSAvoidTrailingWhitespace +lib/ansible/modules/windows/win_audit_rule.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_certificate_store.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_chocolatey_config.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_chocolatey_facts.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_chocolatey_source.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_copy.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_credential.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_credential.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_dns_client.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_dns_client.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_domain.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep +lib/ansible/modules/windows/win_domain.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSAvoidGlobalVars # New PR +lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSAvoidGlobalVars # New PR +lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_dotnet_ngen.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_dsc.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep +lib/ansible/modules/windows/win_dsc.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_eventlog.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_feature.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_file_version.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_find.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep +lib/ansible/modules/windows/win_firewall_rule.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_hotfix.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_hotfix.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_http_proxy.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_iis_virtualdirectory.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_iis_webapplication.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_iis_webapppool.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_iis_webbinding.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_iis_webbinding.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_iis_website.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_inet_proxy.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_lineinfile.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_mapped_drive.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_package.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_package.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSUseDeclaredVarsMoreThanAssignments # New PR - bug test_path should be testPath +lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSUseSupportsShouldProcess +lib/ansible/modules/windows/win_pester.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_product_facts.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_psexec.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_rabbitmq_plugin.ps1 pslint:PSAvoidUsingInvokeExpression +lib/ansible/modules/windows/win_rabbitmq_plugin.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_rds_cap.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_rds_rap.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_rds_settings.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_regedit.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_region.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep +lib/ansible/modules/windows/win_region.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_regmerge.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_robocopy.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_say.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_security_policy.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_security_policy.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_share.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_shell.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_shortcut.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_snmp.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_unzip.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_unzip.ps1 pslint:PSUseApprovedVerbs +lib/ansible/modules/windows/win_updates.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_uri.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep +lib/ansible/modules/windows/win_user_profile.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_user_profile.ps1 validate-modules:parameter-type-not-in-doc +lib/ansible/modules/windows/win_wait_for.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/modules/windows/win_webpicmd.ps1 pslint:PSAvoidUsingInvokeExpression +lib/ansible/modules/windows/win_xml.ps1 pslint:PSCustomUseLiteralPath +lib/ansible/parsing/vault/__init__.py pylint:blacklisted-name +lib/ansible/playbook/base.py pylint:blacklisted-name +lib/ansible/playbook/collectionsearch.py required-and-default-attributes # https://github.com/ansible/ansible/issues/61460 +lib/ansible/playbook/helpers.py pylint:blacklisted-name +lib/ansible/playbook/role/__init__.py pylint:blacklisted-name +lib/ansible/plugins/action/aireos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/aruba.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/asa.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/bigip.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added +lib/ansible/plugins/action/bigiq.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added +lib/ansible/plugins/action/ce.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/ce_template.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added +lib/ansible/plugins/action/cnos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/dellos10.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/dellos6.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/dellos9.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/enos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/eos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/ios.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/iosxr.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/ironware.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/net_base.py action-plugin-docs # base class for other net_* action plugins which have a matching module +lib/ansible/plugins/action/netconf.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/network.py action-plugin-docs # base class for network action plugins +lib/ansible/plugins/action/normal.py action-plugin-docs # default action plugin for modules without a dedicated action plugin +lib/ansible/plugins/action/nxos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/sros.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/action/vyos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` +lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility +lib/ansible/plugins/callback/hipchat.py pylint:blacklisted-name +lib/ansible/plugins/connection/lxc.py pylint:blacklisted-name +lib/ansible/plugins/doc_fragments/a10.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/a10.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aci.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aci.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aireos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aireos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/alicloud.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/alicloud.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aruba.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aruba.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/asa.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/asa.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/auth_basic.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/auth_basic.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/avi.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/avi.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aws.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aws.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aws_credentials.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aws_credentials.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/aws_region.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/aws_region.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/azure.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/azure.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/azure_tags.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/azure_tags.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/backup.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/backup.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ce.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ce.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/cloudscale.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/cloudscale.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/cloudstack.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/cloudstack.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/cnos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/cnos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/constructed.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/constructed.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/decrypt.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/decrypt.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/default_callback.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/default_callback.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/dellos10.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/dellos10.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/dellos6.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/dellos6.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/dellos9.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/dellos9.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/digital_ocean.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/digital_ocean.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/dimensiondata.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/dimensiondata.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/dimensiondata_wait.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/dimensiondata_wait.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ec2.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ec2.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/emc.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/emc.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/enos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/enos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/eos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/eos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/exoscale.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/exoscale.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/f5.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/f5.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/files.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/files.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/fortios.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/fortios.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/gcp.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/gcp.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/hcloud.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/hcloud.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/hetzner.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/hetzner.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/hpe3par.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/hpe3par.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/hwc.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/hwc.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/infinibox.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/infinibox.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/influxdb.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/influxdb.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ingate.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ingate.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/intersight.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/intersight.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/inventory_cache.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/inventory_cache.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ios.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ios.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/iosxr.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/iosxr.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ipa.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ipa.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ironware.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ironware.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/junos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/junos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/k8s_auth_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/k8s_auth_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/k8s_name_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/k8s_name_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/k8s_resource_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/k8s_resource_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/k8s_scale_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/k8s_scale_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/k8s_state_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/k8s_state_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/keycloak.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/keycloak.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/kubevirt_common_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/kubevirt_common_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/kubevirt_vm_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/kubevirt_vm_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ldap.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ldap.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/lxca_common.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/lxca_common.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/manageiq.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/manageiq.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/meraki.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/meraki.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/mso.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/mso.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/mysql.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/mysql.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/netapp.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/netapp.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/netconf.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/netconf.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/netscaler.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/netscaler.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/network_agnostic.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/network_agnostic.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/nios.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/nios.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/nso.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/nso.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/nxos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/nxos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oneview.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oneview.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/online.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/online.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/onyx.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/onyx.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/opennebula.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/opennebula.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/openstack.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/openstack.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/openswitch.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/openswitch.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle_creatable_resource.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle_creatable_resource.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle_display_name_option.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle_display_name_option.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle_name_option.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle_name_option.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle_tags.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle_tags.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/oracle_wait_options.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/oracle_wait_options.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ovirt.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ovirt.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ovirt_info.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ovirt_info.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/panos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/panos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/postgres.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/postgres.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/proxysql.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/proxysql.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/purestorage.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/purestorage.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/rabbitmq.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/rabbitmq.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/rackspace.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/rackspace.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/return_common.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/return_common.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/scaleway.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/scaleway.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/shell_common.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/shell_common.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/shell_windows.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/shell_windows.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/skydive.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/skydive.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/sros.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/sros.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/tower.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/tower.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/ucs.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/ucs.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/url.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/url.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/utm.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/utm.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/validate.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/validate.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vca.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vca.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vexata.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vexata.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vmware.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vmware.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vmware_rest_client.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vmware_rest_client.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vultr.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vultr.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/vyos.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/vyos.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/xenserver.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/xenserver.py metaclass-boilerplate +lib/ansible/plugins/doc_fragments/zabbix.py future-import-boilerplate +lib/ansible/plugins/doc_fragments/zabbix.py metaclass-boilerplate +lib/ansible/plugins/lookup/sequence.py pylint:blacklisted-name +lib/ansible/plugins/strategy/__init__.py pylint:blacklisted-name +lib/ansible/plugins/strategy/linear.py pylint:blacklisted-name +lib/ansible/vars/hostvars.py pylint:blacklisted-name +setup.py future-import-boilerplate +setup.py metaclass-boilerplate +test/integration/targets/ansible-runner/files/adhoc_example1.py future-import-boilerplate +test/integration/targets/ansible-runner/files/adhoc_example1.py metaclass-boilerplate +test/integration/targets/ansible-runner/files/playbook_example1.py future-import-boilerplate +test/integration/targets/ansible-runner/files/playbook_example1.py metaclass-boilerplate +test/integration/targets/async/library/async_test.py future-import-boilerplate +test/integration/targets/async/library/async_test.py metaclass-boilerplate +test/integration/targets/async_fail/library/async_test.py future-import-boilerplate +test/integration/targets/async_fail/library/async_test.py metaclass-boilerplate +test/integration/targets/aws_lambda/files/mini_lambda.py future-import-boilerplate +test/integration/targets/aws_lambda/files/mini_lambda.py metaclass-boilerplate +test/integration/targets/collections_plugin_namespace/collection_root/ansible_collections/my_ns/my_col/plugins/lookup/lookup_no_future_boilerplate.py future-import-boilerplate +test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/module_utils/my_util2.py pylint:relative-beyond-top-level +test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/module_utils/my_util3.py pylint:relative-beyond-top-level +test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/modules/my_module.py pylint:relative-beyond-top-level +test/integration/targets/expect/files/test_command.py future-import-boilerplate +test/integration/targets/expect/files/test_command.py metaclass-boilerplate +test/integration/targets/get_url/files/testserver.py future-import-boilerplate +test/integration/targets/get_url/files/testserver.py metaclass-boilerplate +test/integration/targets/group/files/gidget.py future-import-boilerplate +test/integration/targets/group/files/gidget.py metaclass-boilerplate +test/integration/targets/ignore_unreachable/fake_connectors/bad_exec.py future-import-boilerplate +test/integration/targets/ignore_unreachable/fake_connectors/bad_exec.py metaclass-boilerplate +test/integration/targets/ignore_unreachable/fake_connectors/bad_put_file.py future-import-boilerplate +test/integration/targets/ignore_unreachable/fake_connectors/bad_put_file.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/inventory_diff.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/inventory_diff.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/__init__.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/__init__.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/ec2/__init__.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/ec2/__init__.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/elasticache/__init__.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/elasticache/__init__.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/exception.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/exception.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/exceptions.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/exceptions.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/mocks/instances.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/mocks/instances.py metaclass-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/session.py future-import-boilerplate +test/integration/targets/inventory_aws_conformance/lib/boto/session.py metaclass-boilerplate +test/integration/targets/inventory_cloudscale/filter_plugins/group_name.py future-import-boilerplate +test/integration/targets/inventory_cloudscale/filter_plugins/group_name.py metaclass-boilerplate +test/integration/targets/inventory_kubevirt_conformance/inventory_diff.py future-import-boilerplate +test/integration/targets/inventory_kubevirt_conformance/inventory_diff.py metaclass-boilerplate +test/integration/targets/inventory_kubevirt_conformance/server.py future-import-boilerplate +test/integration/targets/inventory_kubevirt_conformance/server.py metaclass-boilerplate +test/integration/targets/jinja2_native_types/filter_plugins/native_plugins.py future-import-boilerplate +test/integration/targets/jinja2_native_types/filter_plugins/native_plugins.py metaclass-boilerplate +test/integration/targets/lambda_policy/files/mini_http_lambda.py future-import-boilerplate +test/integration/targets/lambda_policy/files/mini_http_lambda.py metaclass-boilerplate +test/integration/targets/lookup_properties/lookup-8859-15.ini no-smart-quotes +test/integration/targets/module_precedence/lib_with_extension/ping.py future-import-boilerplate +test/integration/targets/module_precedence/lib_with_extension/ping.py metaclass-boilerplate +test/integration/targets/module_precedence/multiple_roles/bar/library/ping.py future-import-boilerplate +test/integration/targets/module_precedence/multiple_roles/bar/library/ping.py metaclass-boilerplate +test/integration/targets/module_precedence/multiple_roles/foo/library/ping.py future-import-boilerplate +test/integration/targets/module_precedence/multiple_roles/foo/library/ping.py metaclass-boilerplate +test/integration/targets/module_precedence/roles_with_extension/foo/library/ping.py future-import-boilerplate +test/integration/targets/module_precedence/roles_with_extension/foo/library/ping.py metaclass-boilerplate +test/integration/targets/module_utils/library/test.py future-import-boilerplate +test/integration/targets/module_utils/library/test.py metaclass-boilerplate +test/integration/targets/module_utils/library/test_env_override.py future-import-boilerplate +test/integration/targets/module_utils/library/test_env_override.py metaclass-boilerplate +test/integration/targets/module_utils/library/test_failure.py future-import-boilerplate +test/integration/targets/module_utils/library/test_failure.py metaclass-boilerplate +test/integration/targets/module_utils/library/test_override.py future-import-boilerplate +test/integration/targets/module_utils/library/test_override.py metaclass-boilerplate +test/integration/targets/module_utils/module_utils/bar0/foo.py pylint:blacklisted-name +test/integration/targets/module_utils/module_utils/foo.py pylint:blacklisted-name +test/integration/targets/module_utils/module_utils/sub/bar/__init__.py pylint:blacklisted-name +test/integration/targets/module_utils/module_utils/sub/bar/bar.py pylint:blacklisted-name +test/integration/targets/module_utils/module_utils/yak/zebra/foo.py pylint:blacklisted-name +test/integration/targets/old_style_modules_posix/library/helloworld.sh shebang +test/integration/targets/pause/test-pause.py future-import-boilerplate +test/integration/targets/pause/test-pause.py metaclass-boilerplate +test/integration/targets/pip/files/ansible_test_pip_chdir/__init__.py future-import-boilerplate +test/integration/targets/pip/files/ansible_test_pip_chdir/__init__.py metaclass-boilerplate +test/integration/targets/pip/files/setup.py future-import-boilerplate +test/integration/targets/pip/files/setup.py metaclass-boilerplate +test/integration/targets/run_modules/library/test.py future-import-boilerplate +test/integration/targets/run_modules/library/test.py metaclass-boilerplate +test/integration/targets/s3_bucket_notification/files/mini_lambda.py future-import-boilerplate +test/integration/targets/s3_bucket_notification/files/mini_lambda.py metaclass-boilerplate +test/integration/targets/script/files/no_shebang.py future-import-boilerplate +test/integration/targets/script/files/no_shebang.py metaclass-boilerplate +test/integration/targets/service/files/ansible_test_service.py future-import-boilerplate +test/integration/targets/service/files/ansible_test_service.py metaclass-boilerplate +test/integration/targets/setup_rpm_repo/files/create-repo.py future-import-boilerplate +test/integration/targets/setup_rpm_repo/files/create-repo.py metaclass-boilerplate +test/integration/targets/sns_topic/files/sns_topic_lambda/sns_topic_lambda.py future-import-boilerplate +test/integration/targets/sns_topic/files/sns_topic_lambda/sns_topic_lambda.py metaclass-boilerplate +test/integration/targets/supervisorctl/files/sendProcessStdin.py future-import-boilerplate +test/integration/targets/supervisorctl/files/sendProcessStdin.py metaclass-boilerplate +test/integration/targets/template/files/encoding_1252_utf-8.expected no-smart-quotes +test/integration/targets/template/files/encoding_1252_windows-1252.expected no-smart-quotes +test/integration/targets/template/files/foo.dos.txt line-endings +test/integration/targets/template/role_filter/filter_plugins/myplugin.py future-import-boilerplate +test/integration/targets/template/role_filter/filter_plugins/myplugin.py metaclass-boilerplate +test/integration/targets/template/templates/encoding_1252.j2 no-smart-quotes +test/integration/targets/test_infra/library/test.py future-import-boilerplate +test/integration/targets/test_infra/library/test.py metaclass-boilerplate +test/integration/targets/unicode/unicode.yml no-smart-quotes +test/integration/targets/uri/files/testserver.py future-import-boilerplate +test/integration/targets/uri/files/testserver.py metaclass-boilerplate +test/integration/targets/var_precedence/ansible-var-precedence-check.py future-import-boilerplate +test/integration/targets/var_precedence/ansible-var-precedence-check.py metaclass-boilerplate +test/integration/targets/vars_prompt/test-vars_prompt.py future-import-boilerplate +test/integration/targets/vars_prompt/test-vars_prompt.py metaclass-boilerplate +test/integration/targets/vault/test-vault-client.py future-import-boilerplate +test/integration/targets/vault/test-vault-client.py metaclass-boilerplate +test/integration/targets/wait_for/files/testserver.py future-import-boilerplate +test/integration/targets/wait_for/files/testserver.py metaclass-boilerplate +test/integration/targets/want_json_modules_posix/library/helloworld.py future-import-boilerplate +test/integration/targets/want_json_modules_posix/library/helloworld.py metaclass-boilerplate +test/integration/targets/win_audit_rule/library/test_get_audit_rule.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_chocolatey/files/tools/chocolateyUninstall.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_chocolatey_source/library/choco_source.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_csharp_utils/library/ansible_basic_tests.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_csharp_utils/library/ansible_basic_tests.ps1 pslint:PSUseDeclaredVarsMoreThanAssignments # test setup requires vars to be set globally and not referenced in the same scope +test/integration/targets/win_csharp_utils/library/ansible_become_tests.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_dsc/files/xTestDsc/1.0.0/DSCResources/ANSIBLE_xSetReboot/ANSIBLE_xSetReboot.psm1 pslint!skip +test/integration/targets/win_dsc/files/xTestDsc/1.0.0/DSCResources/ANSIBLE_xTestResource/ANSIBLE_xTestResource.psm1 pslint!skip +test/integration/targets/win_dsc/files/xTestDsc/1.0.0/xTestDsc.psd1 pslint!skip +test/integration/targets/win_dsc/files/xTestDsc/1.0.1/DSCResources/ANSIBLE_xTestResource/ANSIBLE_xTestResource.psm1 pslint!skip +test/integration/targets/win_dsc/files/xTestDsc/1.0.1/xTestDsc.psd1 pslint!skip +test/integration/targets/win_exec_wrapper/library/test_fail.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_iis_webbinding/library/test_get_webbindings.ps1 pslint:PSUseApprovedVerbs +test/integration/targets/win_module_utils/library/argv_parser_test.ps1 pslint:PSUseApprovedVerbs +test/integration/targets/win_module_utils/library/backup_file_test.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_module_utils/library/command_util_test.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_module_utils/library/legacy_only_new_way_win_line_ending.ps1 line-endings +test/integration/targets/win_module_utils/library/legacy_only_old_way_win_line_ending.ps1 line-endings +test/integration/targets/win_ping/library/win_ping_syntax_error.ps1 pslint!skip +test/integration/targets/win_psmodule/files/module/template.psd1 pslint!skip +test/integration/targets/win_psmodule/files/module/template.psm1 pslint!skip +test/integration/targets/win_psmodule/files/setup_modules.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_reboot/templates/post_reboot.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_regmerge/templates/win_line_ending.j2 line-endings +test/integration/targets/win_script/files/test_script.ps1 pslint:PSAvoidUsingWriteHost # Keep +test/integration/targets/win_script/files/test_script_creates_file.ps1 pslint:PSAvoidUsingCmdletAliases +test/integration/targets/win_script/files/test_script_removes_file.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_script/files/test_script_with_args.ps1 pslint:PSAvoidUsingWriteHost # Keep +test/integration/targets/win_script/files/test_script_with_splatting.ps1 pslint:PSAvoidUsingWriteHost # Keep +test/integration/targets/win_stat/library/test_symlink_file.ps1 pslint:PSCustomUseLiteralPath +test/integration/targets/win_template/files/foo.dos.txt line-endings +test/integration/targets/win_user_right/library/test_get_right.ps1 pslint:PSCustomUseLiteralPath +test/legacy/cleanup_ec2.py future-import-boilerplate +test/legacy/cleanup_ec2.py metaclass-boilerplate +test/legacy/cleanup_gce.py future-import-boilerplate +test/legacy/cleanup_gce.py metaclass-boilerplate +test/legacy/cleanup_gce.py pylint:blacklisted-name +test/legacy/cleanup_rax.py future-import-boilerplate +test/legacy/cleanup_rax.py metaclass-boilerplate +test/legacy/consul_running.py future-import-boilerplate +test/legacy/consul_running.py metaclass-boilerplate +test/legacy/gce_credentials.py future-import-boilerplate +test/legacy/gce_credentials.py metaclass-boilerplate +test/legacy/gce_credentials.py pylint:blacklisted-name +test/legacy/setup_gce.py future-import-boilerplate +test/legacy/setup_gce.py metaclass-boilerplate +test/lib/ansible_test/_data/requirements/constraints.txt test-constraints +test/lib/ansible_test/_data/requirements/integration.cloud.azure.txt test-constraints +test/lib/ansible_test/_data/setup/windows-httptester.ps1 pslint:PSCustomUseLiteralPath +test/lib/ansible_test/_data/sanity/pylint/plugins/string_format.py use-compat-six +test/lib/ansible_test/_data/setup/ConfigureRemotingForAnsible.ps1 pslint:PSCustomUseLiteralPath +test/units/config/manager/test_find_ini_config_file.py future-import-boilerplate +test/units/contrib/inventory/test_vmware_inventory.py future-import-boilerplate +test/units/contrib/inventory/test_vmware_inventory.py metaclass-boilerplate +test/units/contrib/inventory/test_vmware_inventory.py pylint:blacklisted-name +test/units/executor/test_play_iterator.py pylint:blacklisted-name +test/units/mock/path.py future-import-boilerplate +test/units/mock/path.py metaclass-boilerplate +test/units/mock/yaml_helper.py future-import-boilerplate +test/units/mock/yaml_helper.py metaclass-boilerplate +test/units/module_utils/aws/test_aws_module.py metaclass-boilerplate +test/units/module_utils/basic/test__symbolic_mode_to_octal.py future-import-boilerplate +test/units/module_utils/basic/test_deprecate_warn.py future-import-boilerplate +test/units/module_utils/basic/test_deprecate_warn.py metaclass-boilerplate +test/units/module_utils/basic/test_exit_json.py future-import-boilerplate +test/units/module_utils/basic/test_get_file_attributes.py future-import-boilerplate +test/units/module_utils/basic/test_heuristic_log_sanitize.py future-import-boilerplate +test/units/module_utils/basic/test_run_command.py future-import-boilerplate +test/units/module_utils/basic/test_run_command.py pylint:blacklisted-name +test/units/module_utils/basic/test_safe_eval.py future-import-boilerplate +test/units/module_utils/basic/test_tmpdir.py future-import-boilerplate +test/units/module_utils/cloud/test_backoff.py future-import-boilerplate +test/units/module_utils/cloud/test_backoff.py metaclass-boilerplate +test/units/module_utils/common/test_dict_transformations.py future-import-boilerplate +test/units/module_utils/common/test_dict_transformations.py metaclass-boilerplate +test/units/module_utils/conftest.py future-import-boilerplate +test/units/module_utils/conftest.py metaclass-boilerplate +test/units/module_utils/ec2/test_aws.py future-import-boilerplate +test/units/module_utils/ec2/test_aws.py metaclass-boilerplate +test/units/module_utils/facts/base.py future-import-boilerplate +test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py future-import-boilerplate +test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py metaclass-boilerplate +test/units/module_utils/facts/network/test_generic_bsd.py future-import-boilerplate +test/units/module_utils/facts/other/test_facter.py future-import-boilerplate +test/units/module_utils/facts/other/test_ohai.py future-import-boilerplate +test/units/module_utils/facts/system/test_lsb.py future-import-boilerplate +test/units/module_utils/facts/test_ansible_collector.py future-import-boilerplate +test/units/module_utils/facts/test_collector.py future-import-boilerplate +test/units/module_utils/facts/test_collectors.py future-import-boilerplate +test/units/module_utils/facts/test_facts.py future-import-boilerplate +test/units/module_utils/facts/test_timeout.py future-import-boilerplate +test/units/module_utils/facts/test_utils.py future-import-boilerplate +test/units/module_utils/gcp/test_auth.py future-import-boilerplate +test/units/module_utils/gcp/test_auth.py metaclass-boilerplate +test/units/module_utils/gcp/test_gcp_utils.py future-import-boilerplate +test/units/module_utils/gcp/test_gcp_utils.py metaclass-boilerplate +test/units/module_utils/gcp/test_utils.py future-import-boilerplate +test/units/module_utils/gcp/test_utils.py metaclass-boilerplate +test/units/module_utils/hwc/test_dict_comparison.py future-import-boilerplate +test/units/module_utils/hwc/test_dict_comparison.py metaclass-boilerplate +test/units/module_utils/hwc/test_hwc_utils.py future-import-boilerplate +test/units/module_utils/hwc/test_hwc_utils.py metaclass-boilerplate +test/units/module_utils/json_utils/test_filter_non_json_lines.py future-import-boilerplate +test/units/module_utils/net_tools/test_netbox.py future-import-boilerplate +test/units/module_utils/net_tools/test_netbox.py metaclass-boilerplate +test/units/module_utils/network/aci/test_aci.py future-import-boilerplate +test/units/module_utils/network/aci/test_aci.py metaclass-boilerplate +test/units/module_utils/network/avi/test_avi_api_utils.py future-import-boilerplate +test/units/module_utils/network/avi/test_avi_api_utils.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_common.py future-import-boilerplate +test/units/module_utils/network/ftd/test_common.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_configuration.py future-import-boilerplate +test/units/module_utils/network/ftd/test_configuration.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_device.py future-import-boilerplate +test/units/module_utils/network/ftd/test_device.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_parser.py future-import-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_parser.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_validator.py future-import-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_validator.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_with_real_data.py future-import-boilerplate +test/units/module_utils/network/ftd/test_fdm_swagger_with_real_data.py metaclass-boilerplate +test/units/module_utils/network/ftd/test_upsert_functionality.py future-import-boilerplate +test/units/module_utils/network/ftd/test_upsert_functionality.py metaclass-boilerplate +test/units/module_utils/network/nso/test_nso.py metaclass-boilerplate +test/units/module_utils/parsing/test_convert_bool.py future-import-boilerplate +test/units/module_utils/postgresql/test_postgres.py future-import-boilerplate +test/units/module_utils/postgresql/test_postgres.py metaclass-boilerplate +test/units/module_utils/remote_management/dellemc/test_ome.py future-import-boilerplate +test/units/module_utils/remote_management/dellemc/test_ome.py metaclass-boilerplate +test/units/module_utils/test_database.py future-import-boilerplate +test/units/module_utils/test_database.py metaclass-boilerplate +test/units/module_utils/test_distro.py future-import-boilerplate +test/units/module_utils/test_distro.py metaclass-boilerplate +test/units/module_utils/test_hetzner.py future-import-boilerplate +test/units/module_utils/test_hetzner.py metaclass-boilerplate +test/units/module_utils/test_kubevirt.py future-import-boilerplate +test/units/module_utils/test_kubevirt.py metaclass-boilerplate +test/units/module_utils/test_netapp.py future-import-boilerplate +test/units/module_utils/test_text.py future-import-boilerplate +test/units/module_utils/test_utm_utils.py future-import-boilerplate +test/units/module_utils/test_utm_utils.py metaclass-boilerplate +test/units/module_utils/urls/test_Request.py replace-urlopen +test/units/module_utils/urls/test_fetch_url.py replace-urlopen +test/units/module_utils/xenserver/FakeAnsibleModule.py future-import-boilerplate +test/units/module_utils/xenserver/FakeAnsibleModule.py metaclass-boilerplate +test/units/module_utils/xenserver/FakeXenAPI.py future-import-boilerplate +test/units/module_utils/xenserver/FakeXenAPI.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_aws_api_gateway.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_aws_direct_connect_connection.py future-import-boilerplate +test/units/modules/cloud/amazon/test_aws_direct_connect_connection.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_aws_direct_connect_link_aggregation_group.py future-import-boilerplate +test/units/modules/cloud/amazon/test_aws_direct_connect_link_aggregation_group.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_aws_s3.py future-import-boilerplate +test/units/modules/cloud/amazon/test_aws_s3.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_cloudformation.py future-import-boilerplate +test/units/modules/cloud/amazon/test_cloudformation.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_data_pipeline.py future-import-boilerplate +test/units/modules/cloud/amazon/test_data_pipeline.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_ec2_group.py future-import-boilerplate +test/units/modules/cloud/amazon/test_ec2_group.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_ec2_utils.py future-import-boilerplate +test/units/modules/cloud/amazon/test_ec2_utils.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py future-import-boilerplate +test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py pylint:blacklisted-name +test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py future-import-boilerplate +test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py pylint:blacklisted-name +test/units/modules/cloud/amazon/test_iam_password_policy.py future-import-boilerplate +test/units/modules/cloud/amazon/test_iam_password_policy.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_kinesis_stream.py future-import-boilerplate +test/units/modules/cloud/amazon/test_kinesis_stream.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_lambda.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_lambda_policy.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_redshift_cross_region_snapshots.py future-import-boilerplate +test/units/modules/cloud/amazon/test_redshift_cross_region_snapshots.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_route53_zone.py future-import-boilerplate +test/units/modules/cloud/amazon/test_route53_zone.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_s3_bucket.py future-import-boilerplate +test/units/modules/cloud/amazon/test_s3_bucket.py metaclass-boilerplate +test/units/modules/cloud/amazon/test_s3_bucket_notification.py future-import-boilerplate +test/units/modules/cloud/amazon/test_s3_bucket_notification.py metaclass-boilerplate +test/units/modules/cloud/cloudstack/test_cs_traffic_type.py future-import-boilerplate +test/units/modules/cloud/cloudstack/test_cs_traffic_type.py metaclass-boilerplate +test/units/modules/cloud/google/test_gce_tag.py future-import-boilerplate +test/units/modules/cloud/google/test_gce_tag.py metaclass-boilerplate +test/units/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate +test/units/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate +test/units/modules/cloud/google/test_gcp_url_map.py future-import-boilerplate +test/units/modules/cloud/google/test_gcp_url_map.py metaclass-boilerplate +test/units/modules/cloud/kubevirt/test_kubevirt_rs.py future-import-boilerplate +test/units/modules/cloud/kubevirt/test_kubevirt_rs.py metaclass-boilerplate +test/units/modules/cloud/kubevirt/test_kubevirt_vm.py future-import-boilerplate +test/units/modules/cloud/kubevirt/test_kubevirt_vm.py metaclass-boilerplate +test/units/modules/cloud/linode/conftest.py future-import-boilerplate +test/units/modules/cloud/linode/conftest.py metaclass-boilerplate +test/units/modules/cloud/linode/test_linode.py metaclass-boilerplate +test/units/modules/cloud/linode_v4/conftest.py future-import-boilerplate +test/units/modules/cloud/linode_v4/conftest.py metaclass-boilerplate +test/units/modules/cloud/linode_v4/test_linode_v4.py metaclass-boilerplate +test/units/modules/cloud/misc/test_terraform.py future-import-boilerplate +test/units/modules/cloud/misc/test_terraform.py metaclass-boilerplate +test/units/modules/cloud/misc/virt_net/conftest.py future-import-boilerplate +test/units/modules/cloud/misc/virt_net/conftest.py metaclass-boilerplate +test/units/modules/cloud/misc/virt_net/test_virt_net.py future-import-boilerplate +test/units/modules/cloud/misc/virt_net/test_virt_net.py metaclass-boilerplate +test/units/modules/cloud/openstack/test_os_server.py future-import-boilerplate +test/units/modules/cloud/openstack/test_os_server.py metaclass-boilerplate +test/units/modules/cloud/xenserver/FakeAnsibleModule.py future-import-boilerplate +test/units/modules/cloud/xenserver/FakeAnsibleModule.py metaclass-boilerplate +test/units/modules/cloud/xenserver/FakeXenAPI.py future-import-boilerplate +test/units/modules/cloud/xenserver/FakeXenAPI.py metaclass-boilerplate +test/units/modules/conftest.py future-import-boilerplate +test/units/modules/conftest.py metaclass-boilerplate +test/units/modules/files/test_copy.py future-import-boilerplate +test/units/modules/messaging/rabbitmq/test_rabbimq_user.py future-import-boilerplate +test/units/modules/messaging/rabbitmq/test_rabbimq_user.py metaclass-boilerplate +test/units/modules/monitoring/test_circonus_annotation.py future-import-boilerplate +test/units/modules/monitoring/test_circonus_annotation.py metaclass-boilerplate +test/units/modules/monitoring/test_icinga2_feature.py future-import-boilerplate +test/units/modules/monitoring/test_icinga2_feature.py metaclass-boilerplate +test/units/modules/monitoring/test_pagerduty.py future-import-boilerplate +test/units/modules/monitoring/test_pagerduty.py metaclass-boilerplate +test/units/modules/monitoring/test_pagerduty_alert.py future-import-boilerplate +test/units/modules/monitoring/test_pagerduty_alert.py metaclass-boilerplate +test/units/modules/net_tools/test_nmcli.py future-import-boilerplate +test/units/modules/net_tools/test_nmcli.py metaclass-boilerplate +test/units/modules/network/avi/test_avi_user.py future-import-boilerplate +test/units/modules/network/avi/test_avi_user.py metaclass-boilerplate +test/units/modules/network/check_point/test_checkpoint_access_rule.py future-import-boilerplate +test/units/modules/network/check_point/test_checkpoint_access_rule.py metaclass-boilerplate +test/units/modules/network/check_point/test_checkpoint_host.py future-import-boilerplate +test/units/modules/network/check_point/test_checkpoint_host.py metaclass-boilerplate +test/units/modules/network/check_point/test_checkpoint_session.py future-import-boilerplate +test/units/modules/network/check_point/test_checkpoint_session.py metaclass-boilerplate +test/units/modules/network/check_point/test_checkpoint_task_facts.py future-import-boilerplate +test/units/modules/network/check_point/test_checkpoint_task_facts.py metaclass-boilerplate +test/units/modules/network/cloudvision/test_cv_server_provision.py future-import-boilerplate +test/units/modules/network/cloudvision/test_cv_server_provision.py metaclass-boilerplate +test/units/modules/network/cumulus/test_nclu.py future-import-boilerplate +test/units/modules/network/cumulus/test_nclu.py metaclass-boilerplate +test/units/modules/network/ftd/test_ftd_configuration.py future-import-boilerplate +test/units/modules/network/ftd/test_ftd_configuration.py metaclass-boilerplate +test/units/modules/network/ftd/test_ftd_file_download.py future-import-boilerplate +test/units/modules/network/ftd/test_ftd_file_download.py metaclass-boilerplate +test/units/modules/network/ftd/test_ftd_file_upload.py future-import-boilerplate +test/units/modules/network/ftd/test_ftd_file_upload.py metaclass-boilerplate +test/units/modules/network/ftd/test_ftd_install.py future-import-boilerplate +test/units/modules/network/ftd/test_ftd_install.py metaclass-boilerplate +test/units/modules/network/netscaler/netscaler_module.py future-import-boilerplate +test/units/modules/network/netscaler/netscaler_module.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_action.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_action.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_policy.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_policy.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_vserver.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_cs_vserver.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_service.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_service.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_site.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_site.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_vserver.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_gslb_vserver.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_lb_monitor.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_lb_monitor.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_lb_vserver.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_lb_vserver.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_module_utils.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_module_utils.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_nitro_request.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_nitro_request.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_save_config.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_save_config.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_server.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_server.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_service.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_service.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_servicegroup.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_servicegroup.py metaclass-boilerplate +test/units/modules/network/netscaler/test_netscaler_ssl_certkey.py future-import-boilerplate +test/units/modules/network/netscaler/test_netscaler_ssl_certkey.py metaclass-boilerplate +test/units/modules/network/nso/nso_module.py metaclass-boilerplate +test/units/modules/network/nso/test_nso_action.py metaclass-boilerplate +test/units/modules/network/nso/test_nso_config.py metaclass-boilerplate +test/units/modules/network/nso/test_nso_query.py metaclass-boilerplate +test/units/modules/network/nso/test_nso_show.py metaclass-boilerplate +test/units/modules/network/nso/test_nso_verify.py metaclass-boilerplate +test/units/modules/network/nuage/nuage_module.py future-import-boilerplate +test/units/modules/network/nuage/nuage_module.py metaclass-boilerplate +test/units/modules/network/nuage/test_nuage_vspk.py future-import-boilerplate +test/units/modules/network/nuage/test_nuage_vspk.py metaclass-boilerplate +test/units/modules/network/nxos/test_nxos_acl_interface.py metaclass-boilerplate +test/units/modules/network/radware/test_vdirect_commit.py future-import-boilerplate +test/units/modules/network/radware/test_vdirect_commit.py metaclass-boilerplate +test/units/modules/network/radware/test_vdirect_file.py future-import-boilerplate +test/units/modules/network/radware/test_vdirect_file.py metaclass-boilerplate +test/units/modules/network/radware/test_vdirect_runnable.py future-import-boilerplate +test/units/modules/network/radware/test_vdirect_runnable.py metaclass-boilerplate +test/units/modules/notification/test_slack.py future-import-boilerplate +test/units/modules/notification/test_slack.py metaclass-boilerplate +test/units/modules/packaging/language/test_gem.py future-import-boilerplate +test/units/modules/packaging/language/test_gem.py metaclass-boilerplate +test/units/modules/packaging/language/test_pip.py future-import-boilerplate +test/units/modules/packaging/language/test_pip.py metaclass-boilerplate +test/units/modules/packaging/os/conftest.py future-import-boilerplate +test/units/modules/packaging/os/conftest.py metaclass-boilerplate +test/units/modules/packaging/os/test_apk.py future-import-boilerplate +test/units/modules/packaging/os/test_apk.py metaclass-boilerplate +test/units/modules/packaging/os/test_apt.py future-import-boilerplate +test/units/modules/packaging/os/test_apt.py metaclass-boilerplate +test/units/modules/packaging/os/test_apt.py pylint:blacklisted-name +test/units/modules/packaging/os/test_rhn_channel.py future-import-boilerplate +test/units/modules/packaging/os/test_rhn_channel.py metaclass-boilerplate +test/units/modules/packaging/os/test_rhn_register.py future-import-boilerplate +test/units/modules/packaging/os/test_rhn_register.py metaclass-boilerplate +test/units/modules/packaging/os/test_yum.py future-import-boilerplate +test/units/modules/packaging/os/test_yum.py metaclass-boilerplate +test/units/modules/remote_management/dellemc/test_ome_device_info.py future-import-boilerplate +test/units/modules/remote_management/dellemc/test_ome_device_info.py metaclass-boilerplate +test/units/modules/remote_management/lxca/test_lxca_cmms.py future-import-boilerplate +test/units/modules/remote_management/lxca/test_lxca_cmms.py metaclass-boilerplate +test/units/modules/remote_management/lxca/test_lxca_nodes.py future-import-boilerplate +test/units/modules/remote_management/lxca/test_lxca_nodes.py metaclass-boilerplate +test/units/modules/remote_management/oneview/conftest.py future-import-boilerplate +test/units/modules/remote_management/oneview/conftest.py metaclass-boilerplate +test/units/modules/remote_management/oneview/hpe_test_utils.py future-import-boilerplate +test/units/modules/remote_management/oneview/hpe_test_utils.py metaclass-boilerplate +test/units/modules/remote_management/oneview/oneview_module_loader.py future-import-boilerplate +test/units/modules/remote_management/oneview/oneview_module_loader.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_datacenter_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_datacenter_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_enclosure_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_enclosure_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_ethernet_network_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_ethernet_network_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fc_network.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fc_network.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fc_network_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fc_network_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fcoe_network.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fcoe_network.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fcoe_network_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_fcoe_network_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_network_set.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_network_set.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_network_set_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_network_set_info.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_san_manager.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_san_manager.py metaclass-boilerplate +test/units/modules/remote_management/oneview/test_oneview_san_manager_info.py future-import-boilerplate +test/units/modules/remote_management/oneview/test_oneview_san_manager_info.py metaclass-boilerplate +test/units/modules/source_control/gitlab.py future-import-boilerplate +test/units/modules/source_control/gitlab.py metaclass-boilerplate +test/units/modules/source_control/test_bitbucket_access_key.py future-import-boilerplate +test/units/modules/source_control/test_bitbucket_access_key.py metaclass-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_key_pair.py future-import-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_key_pair.py metaclass-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_known_host.py future-import-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_known_host.py metaclass-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_variable.py future-import-boilerplate +test/units/modules/source_control/test_bitbucket_pipeline_variable.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_deploy_key.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_deploy_key.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_group.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_group.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_hook.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_hook.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_project.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_project.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_runner.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_runner.py metaclass-boilerplate +test/units/modules/source_control/test_gitlab_user.py future-import-boilerplate +test/units/modules/source_control/test_gitlab_user.py metaclass-boilerplate +test/units/modules/storage/hpe3par/test_ss_3par_cpg.py future-import-boilerplate +test/units/modules/storage/hpe3par/test_ss_3par_cpg.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_cluster_config.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_cluster_config.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_cluster_snmp.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_cluster_snmp.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_initiators.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_elementsw_initiators.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_aggregate.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_aggregate.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_autosupport.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_autosupport.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_broadcast_domain.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_broadcast_domain.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cifs.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cifs.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cifs_server.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cifs_server.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cluster.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cluster.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cluster_peer.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_cluster_peer.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_command.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_command.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_export_policy_rule.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_export_policy_rule.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_firewall_policy.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_firewall_policy.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_flexcache.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_flexcache.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_info.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_info.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_igroup.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_igroup.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_igroup_initiator.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_igroup_initiator.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_interface.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_interface.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_ipspace.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_ipspace.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_job_schedule.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_job_schedule.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_lun_copy.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_lun_copy.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_lun_map.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_lun_map.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_motd.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_motd.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_ifgrp.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_ifgrp.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_port.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_port.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_routes.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_routes.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_subnet.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_net_subnet.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nfs.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nfs.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme_namespace.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme_namespace.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme_subsystem.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_nvme_subsystem.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_portset.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_portset.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_qos_policy_group.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_qos_policy_group.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_quotas.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_quotas.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_security_key_manager.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_security_key_manager.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_service_processor_network.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_service_processor_network.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapmirror.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapmirror.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapshot.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapshot.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapshot_policy.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_snapshot_policy.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_software_update.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_software_update.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_svm.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_svm.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_ucadapter.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_ucadapter.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_unix_group.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_unix_group.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_unix_user.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_unix_user.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_user.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_user.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_user_role.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_user_role.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_volume.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_volume.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_volume_clone.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_volume_clone.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_on_access_policy.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_on_access_policy.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_on_demand_task.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_on_demand_task.py metaclass-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_scanner_pool.py future-import-boilerplate +test/units/modules/storage/netapp/test_na_ontap_vscan_scanner_pool.py metaclass-boilerplate +test/units/modules/storage/netapp/test_netapp.py metaclass-boilerplate +test/units/modules/storage/netapp/test_netapp_e_alerts.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_asup.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_auditlog.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_global.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_host.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_iscsi_interface.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_iscsi_target.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_ldap.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_mgmt_interface.py future-import-boilerplate +test/units/modules/storage/netapp/test_netapp_e_syslog.py future-import-boilerplate +test/units/modules/system/interfaces_file/test_interfaces_file.py future-import-boilerplate +test/units/modules/system/interfaces_file/test_interfaces_file.py metaclass-boilerplate +test/units/modules/system/interfaces_file/test_interfaces_file.py pylint:blacklisted-name +test/units/modules/system/test_iptables.py future-import-boilerplate +test/units/modules/system/test_iptables.py metaclass-boilerplate +test/units/modules/system/test_java_keystore.py future-import-boilerplate +test/units/modules/system/test_java_keystore.py metaclass-boilerplate +test/units/modules/system/test_known_hosts.py future-import-boilerplate +test/units/modules/system/test_known_hosts.py metaclass-boilerplate +test/units/modules/system/test_known_hosts.py pylint:ansible-bad-function +test/units/modules/system/test_linux_mountinfo.py future-import-boilerplate +test/units/modules/system/test_linux_mountinfo.py metaclass-boilerplate +test/units/modules/system/test_pamd.py metaclass-boilerplate +test/units/modules/system/test_parted.py future-import-boilerplate +test/units/modules/system/test_systemd.py future-import-boilerplate +test/units/modules/system/test_systemd.py metaclass-boilerplate +test/units/modules/system/test_ufw.py future-import-boilerplate +test/units/modules/system/test_ufw.py metaclass-boilerplate +test/units/modules/utils.py future-import-boilerplate +test/units/modules/utils.py metaclass-boilerplate +test/units/modules/web_infrastructure/test_apache2_module.py future-import-boilerplate +test/units/modules/web_infrastructure/test_apache2_module.py metaclass-boilerplate +test/units/modules/web_infrastructure/test_jenkins_plugin.py future-import-boilerplate +test/units/modules/web_infrastructure/test_jenkins_plugin.py metaclass-boilerplate +test/units/parsing/utils/test_addresses.py future-import-boilerplate +test/units/parsing/utils/test_addresses.py metaclass-boilerplate +test/units/parsing/vault/test_vault.py pylint:blacklisted-name +test/units/playbook/role/test_role.py pylint:blacklisted-name +test/units/playbook/test_attribute.py future-import-boilerplate +test/units/playbook/test_attribute.py metaclass-boilerplate +test/units/playbook/test_conditional.py future-import-boilerplate +test/units/playbook/test_conditional.py metaclass-boilerplate +test/units/plugins/action/test_synchronize.py future-import-boilerplate +test/units/plugins/action/test_synchronize.py metaclass-boilerplate +test/units/plugins/httpapi/test_ftd.py future-import-boilerplate +test/units/plugins/httpapi/test_ftd.py metaclass-boilerplate +test/units/plugins/inventory/test_constructed.py future-import-boilerplate +test/units/plugins/inventory/test_constructed.py metaclass-boilerplate +test/units/plugins/inventory/test_group.py future-import-boilerplate +test/units/plugins/inventory/test_group.py metaclass-boilerplate +test/units/plugins/inventory/test_host.py future-import-boilerplate +test/units/plugins/inventory/test_host.py metaclass-boilerplate +test/units/plugins/loader_fixtures/import_fixture.py future-import-boilerplate +test/units/plugins/lookup/test_aws_secret.py metaclass-boilerplate +test/units/plugins/lookup/test_aws_ssm.py metaclass-boilerplate +test/units/plugins/shell/test_cmd.py future-import-boilerplate +test/units/plugins/shell/test_cmd.py metaclass-boilerplate +test/units/plugins/shell/test_powershell.py future-import-boilerplate +test/units/plugins/shell/test_powershell.py metaclass-boilerplate +test/units/plugins/test_plugins.py pylint:blacklisted-name +test/units/template/test_templar.py pylint:blacklisted-name +test/units/test_constants.py future-import-boilerplate +test/units/test_context.py future-import-boilerplate +test/units/utils/amazon_placebo_fixtures.py future-import-boilerplate +test/units/utils/amazon_placebo_fixtures.py metaclass-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/action/my_action.py future-import-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/action/my_action.py metaclass-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_other_util.py future-import-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_other_util.py metaclass-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_util.py future-import-boilerplate +test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_util.py metaclass-boilerplate +test/units/utils/kubevirt_fixtures.py future-import-boilerplate +test/units/utils/kubevirt_fixtures.py metaclass-boilerplate +test/units/utils/test_cleanup_tmp_file.py future-import-boilerplate +test/units/utils/test_encrypt.py future-import-boilerplate +test/units/utils/test_encrypt.py metaclass-boilerplate +test/units/utils/test_helpers.py future-import-boilerplate +test/units/utils/test_helpers.py metaclass-boilerplate +test/units/utils/test_shlex.py future-import-boilerplate +test/units/utils/test_shlex.py metaclass-boilerplate +test/utils/shippable/check_matrix.py replace-urlopen +test/utils/shippable/timing.py shebang From 828b3ea123047143cbaa5ae5e255d774c4b7530d Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 14:14:13 -0600 Subject: [PATCH 04/11] Issue #2: Remove extra test output data, adjust gitignore. --- .gitignore | 2 + .../targets/kubernetes/library/README.md | 3 + .../kubernetes/library/test_tempfile.py | 120 + .../kubernetes/tasks/setup_remote_tmp_dir.yml | 2 +- .../data/integration-2020-01-30-18-12-28.json | 11 - .../data/integration-2020-01-30-18-17-09.json | 3 - .../data/integration-2020-01-30-18-38-09.json | 11 - .../data/integration-2020-01-30-18-38-46.json | 3 - .../data/integration-2020-01-30-18-39-24.json | 11 - .../data/integration-2020-01-30-18-40-04.json | 3 - .../data/integration-2020-01-30-19-31-05.json | 11 - .../data/integration-2020-01-30-19-31-39.json | 3 - .../data/integration-2020-01-30-19-33-27.json | 11 - .../data/integration-2020-01-30-19-34-06.json | 3 - .../data/integration-2020-01-30-19-37-59.json | 11 - .../data/integration-2020-01-30-19-38-31.json | 3 - .../data/integration-2020-01-30-19-39-12.json | 11 - .../data/integration-2020-01-30-19-47-17.json | 39 - .../kubernetes-6diisgn1-1580413636.348936.xml | 6629 ----------------- tests/sanity/ignore.txt | 6606 ---------------- 20 files changed, 126 insertions(+), 13370 deletions(-) create mode 100644 tests/integration/targets/kubernetes/library/README.md create mode 100644 tests/integration/targets/kubernetes/library/test_tempfile.py delete mode 100644 tests/output/data/integration-2020-01-30-18-12-28.json delete mode 100644 tests/output/data/integration-2020-01-30-18-17-09.json delete mode 100644 tests/output/data/integration-2020-01-30-18-38-09.json delete mode 100644 tests/output/data/integration-2020-01-30-18-38-46.json delete mode 100644 tests/output/data/integration-2020-01-30-18-39-24.json delete mode 100644 tests/output/data/integration-2020-01-30-18-40-04.json delete mode 100644 tests/output/data/integration-2020-01-30-19-31-05.json delete mode 100644 tests/output/data/integration-2020-01-30-19-31-39.json delete mode 100644 tests/output/data/integration-2020-01-30-19-33-27.json delete mode 100644 tests/output/data/integration-2020-01-30-19-34-06.json delete mode 100644 tests/output/data/integration-2020-01-30-19-37-59.json delete mode 100644 tests/output/data/integration-2020-01-30-19-38-31.json delete mode 100644 tests/output/data/integration-2020-01-30-19-39-12.json delete mode 100644 tests/output/data/integration-2020-01-30-19-47-17.json delete mode 100644 tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml diff --git a/.gitignore b/.gitignore index bece7b25..2d197564 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.retry .idea *.log +tests/output +tests/integration/cloud-config-* diff --git a/tests/integration/targets/kubernetes/library/README.md b/tests/integration/targets/kubernetes/library/README.md new file mode 100644 index 00000000..ac312297 --- /dev/null +++ b/tests/integration/targets/kubernetes/library/README.md @@ -0,0 +1,3 @@ +# README + +The `test_tempfile.py` module added here is only used for the `setup_remote_tmp_dir.yml` temporary directory setup task. It is a clone of the `tempfile.py` community-supported Ansible module, and has to be included with the tests here because it is not available in the `ansible-base` distribution against which this collection is tested. diff --git a/tests/integration/targets/kubernetes/library/test_tempfile.py b/tests/integration/targets/kubernetes/library/test_tempfile.py new file mode 100644 index 00000000..868f37b4 --- /dev/null +++ b/tests/integration/targets/kubernetes/library/test_tempfile.py @@ -0,0 +1,120 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# Copyright: (c) 2016, Krzysztof Magosa +# Copyright: (c) 2017, Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = ''' +--- +module: test_tempfile +version_added: "2.3" +short_description: Creates temporary files and directories +description: + - The C(test_tempfile) module creates temporary files and directories. C(mktemp) command takes different parameters on various systems, this module helps + to avoid troubles related to that. Files/directories created by module are accessible only by creator. In case you need to make them world-accessible + you need to use M(file) module. + - For Windows targets, use the M(win_tempfile) module instead. +options: + state: + description: + - Whether to create file or directory. + type: str + choices: [ directory, file ] + default: file + path: + description: + - Location where temporary file or directory should be created. + - If path is not specified, the default system temporary directory will be used. + type: path + prefix: + description: + - Prefix of file/directory name created by module. + type: str + default: ansible. + suffix: + description: + - Suffix of file/directory name created by module. + type: str + default: "" +seealso: +- module: file +- module: win_tempfile +author: + - Krzysztof Magosa (@krzysztof-magosa) +''' + +EXAMPLES = """ +- name: create temporary build directory + test_tempfile: + state: directory + suffix: build + +- name: create temporary file + test_tempfile: + state: file + suffix: temp + register: tempfile_1 + +- name: use the registered var and the file module to remove the temporary file + file: + path: "{{ tempfile_1.path }}" + state: absent + when: tempfile_1.path is defined +""" + +RETURN = ''' +path: + description: Path to created file or directory + returned: success + type: str + sample: "/tmp/ansible.bMlvdk" +''' + +from os import close +from tempfile import mkstemp, mkdtemp +from traceback import format_exc + +from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils._text import to_native + + +def main(): + module = AnsibleModule( + argument_spec=dict( + state=dict(type='str', default='file', choices=['file', 'directory']), + path=dict(type='path'), + prefix=dict(type='str', default='ansible.'), + suffix=dict(type='str', default=''), + ), + ) + + try: + if module.params['state'] == 'file': + handle, path = mkstemp( + prefix=module.params['prefix'], + suffix=module.params['suffix'], + dir=module.params['path'], + ) + close(handle) + elif module.params['state'] == 'directory': + path = mkdtemp( + prefix=module.params['prefix'], + suffix=module.params['suffix'], + dir=module.params['path'], + ) + + module.exit_json(changed=True, path=path) + except Exception as e: + module.fail_json(msg=to_native(e), exception=format_exc()) + + +if __name__ == '__main__': + main() diff --git a/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml b/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml index 1e0f51b8..e04f5053 100644 --- a/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml +++ b/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml @@ -1,5 +1,5 @@ - name: create temporary directory - tempfile: + test_tempfile: state: directory suffix: .test register: remote_tmp_dir diff --git a/tests/output/data/integration-2020-01-30-18-12-28.json b/tests/output/data/integration-2020-01-30-18-12-28.json deleted file mode 100644 index e9518e6d..00000000 --- a/tests/output/data/integration-2020-01-30-18-12-28.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 63, - "targets": [ - "k8s.k8s" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-18-17-09.json b/tests/output/data/integration-2020-01-30-18-17-09.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-18-17-09.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-18-38-09.json b/tests/output/data/integration-2020-01-30-18-38-09.json deleted file mode 100644 index f90fb7f6..00000000 --- a/tests/output/data/integration-2020-01-30-18-38-09.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 19, - "targets": [ - "k8s.k8s" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-18-38-46.json b/tests/output/data/integration-2020-01-30-18-38-46.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-18-38-46.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-18-39-24.json b/tests/output/data/integration-2020-01-30-18-39-24.json deleted file mode 100644 index f90fb7f6..00000000 --- a/tests/output/data/integration-2020-01-30-18-39-24.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 19, - "targets": [ - "k8s.k8s" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-18-40-04.json b/tests/output/data/integration-2020-01-30-18-40-04.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-18-40-04.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-19-31-05.json b/tests/output/data/integration-2020-01-30-19-31-05.json deleted file mode 100644 index dd8cd323..00000000 --- a/tests/output/data/integration-2020-01-30-19-31-05.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 20, - "targets": [ - "kubernetes" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-19-31-39.json b/tests/output/data/integration-2020-01-30-19-31-39.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-19-31-39.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-19-33-27.json b/tests/output/data/integration-2020-01-30-19-33-27.json deleted file mode 100644 index f91486e6..00000000 --- a/tests/output/data/integration-2020-01-30-19-33-27.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 19, - "targets": [ - "kubernetes" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-19-34-06.json b/tests/output/data/integration-2020-01-30-19-34-06.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-19-34-06.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-19-37-59.json b/tests/output/data/integration-2020-01-30-19-37-59.json deleted file mode 100644 index f91486e6..00000000 --- a/tests/output/data/integration-2020-01-30-19-37-59.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 19, - "targets": [ - "kubernetes" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-19-38-31.json b/tests/output/data/integration-2020-01-30-19-38-31.json deleted file mode 100644 index 7025fa75..00000000 --- a/tests/output/data/integration-2020-01-30-19-38-31.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "targets": {} -} diff --git a/tests/output/data/integration-2020-01-30-19-39-12.json b/tests/output/data/integration-2020-01-30-19-39-12.json deleted file mode 100644 index f91486e6..00000000 --- a/tests/output/data/integration-2020-01-30-19-39-12.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "clouds": { - "openshift": { - "platform": "openshift", - "setup_seconds": 19, - "targets": [ - "kubernetes" - ] - } - } -} diff --git a/tests/output/data/integration-2020-01-30-19-47-17.json b/tests/output/data/integration-2020-01-30-19-47-17.json deleted file mode 100644 index 71cd4479..00000000 --- a/tests/output/data/integration-2020-01-30-19-47-17.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "targets": { - "kubernetes": { - "aliases": [ - "cloud/", - "cloud/kubernetes", - "cloud/openshift/", - "cloud/openshift/kubernetes", - "kubernetes", - "module/", - "module/kubernetes/", - "module/kubernetes/kubernetes", - "non_destructive/", - "non_destructive/kubernetes", - "posix/", - "role/", - "role/kubernetes", - "shippable/", - "shippable/cloud/", - "shippable/cloud/group1/", - "shippable/cloud/group1/kubernetes", - "shippable/cloud/kubernetes", - "shippable/kubernetes" - ], - "coverage": false, - "coverage_label": "", - "modules": [ - "kubernetes" - ], - "name": "kubernetes", - "python_version": "3.6", - "run_time_seconds": 455, - "setup_always": [], - "setup_once": [], - "type": "role", - "validation_seconds": 1 - } - } -} diff --git a/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml b/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml deleted file mode 100644 index efd22612..00000000 --- a/tests/output/junit/kubernetes-6diisgn1-1580413636.348936.xml +++ /dev/null @@ -1,6629 +0,0 @@ - - - - - { -"ansible_facts": { -"ansible_apparmor": { -"status": "disabled" -}, -"ansible_architecture": "x86_64", -"ansible_bios_date": "03/14/2014", -"ansible_bios_version": "1.00", -"ansible_cmdline": { -"BOOT_IMAGE": "/boot/kernel", -"console": "ttyS1", -"page_poison": "1", -"panic": "1", -"root": "/dev/sr0", -"text": true, -"vsyscall": "emulate" -}, -"ansible_date_time": { -"date": "2020-01-30", -"day": "30", -"epoch": "1580413185", -"hour": "19", -"iso8601": "2020-01-30T19:39:45Z", -"iso8601_basic": "20200130T193945527460", -"iso8601_basic_short": "20200130T193945", -"iso8601_micro": "2020-01-30T19:39:45.527632Z", -"minute": "39", -"month": "01", -"second": "45", -"time": "19:39:45", -"tz": "UTC", -"tz_offset": "+0000", -"weekday": "Thursday", -"weekday_number": "4", -"weeknumber": "04", -"year": "2020" -}, -"ansible_device_links": { -"ids": {}, -"labels": {}, -"masters": {}, -"uuids": {} -}, -"ansible_devices": { -"loop0": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop1": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop2": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop3": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop4": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop5": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop6": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"loop7": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd0": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd1": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd10": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd11": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd12": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd13": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd14": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd15": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd2": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd3": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd4": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd5": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd6": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd7": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd8": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"nbd9": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "mq-deadline", -"sectors": "0", -"sectorsize": "512", -"size": "0.00 Bytes", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram0": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram1": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram10": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram11": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram12": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram13": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram14": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram15": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram2": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram3": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram4": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram5": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram6": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram7": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram8": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"ram9": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": null, -"partitions": {}, -"removable": "0", -"rotational": "0", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "", -"sectors": "131072", -"sectorsize": "512", -"size": "64.00 MB", -"support_discard": "0", -"vendor": null, -"virtual": 1 -}, -"sda": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": "BHYVE SATA DISK", -"partitions": { -"sda1": { -"holders": [], -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"sectors": "124997632", -"sectorsize": 512, -"size": "59.60 GB", -"start": "2048", -"uuid": null -} -}, -"removable": "0", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "deadline", -"sectors": "124999680", -"sectorsize": "512", -"size": "59.60 GB", -"support_discard": "4096", -"vendor": "ATA", -"virtual": 1 -}, -"sr0": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": "BHYVE DVD-ROM", -"partitions": {}, -"removable": "1", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "deadline", -"sectors": "964040", -"sectorsize": "2048", -"size": "470.72 MB", -"support_discard": "0", -"vendor": "BHYVE", -"virtual": 1 -}, -"sr1": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": "BHYVE DVD-ROM", -"partitions": {}, -"removable": "1", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "deadline", -"sectors": "424", -"sectorsize": "2048", -"size": "212.00 KB", -"support_discard": "0", -"vendor": "BHYVE", -"virtual": 1 -}, -"sr2": { -"holders": [], -"host": "", -"links": { -"ids": [], -"labels": [], -"masters": [], -"uuids": [] -}, -"model": "BHYVE DVD-ROM", -"partitions": {}, -"removable": "1", -"rotational": "1", -"sas_address": null, -"sas_device_handle": null, -"scheduler_mode": "deadline", -"sectors": "1688708", -"sectorsize": "2048", -"size": "824.56 MB", -"support_discard": "0", -"vendor": "BHYVE", -"virtual": 1 -} -}, -"ansible_distribution": "Ubuntu", -"ansible_distribution_file_parsed": true, -"ansible_distribution_file_path": "/etc/os-release", -"ansible_distribution_file_variety": "Debian", -"ansible_distribution_major_version": "18", -"ansible_distribution_release": "bionic", -"ansible_distribution_version": "18.04", -"ansible_dns": { -"nameservers": [ -"192.168.65.1" -] -}, -"ansible_domain": "", -"ansible_effective_group_id": 0, -"ansible_effective_user_id": 0, -"ansible_env": { -"ANSIBLE_CALLBACK_WHITELIST": "junit", -"ANSIBLE_COLLECTIONS_PATHS": "/root/ansible", -"ANSIBLE_CONFIG": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/integration.cfg", -"ANSIBLE_DEPRECATION_WARNINGS": "false", -"ANSIBLE_FORCE_COLOR": "true", -"ANSIBLE_FORCE_HANDLERS": "true", -"ANSIBLE_HOST_KEY_CHECKING": "false", -"ANSIBLE_HOST_PATTERN_MISMATCH": "error", -"ANSIBLE_INVENTORY": "/dev/null", -"ANSIBLE_LIBRARY": "/dev/null", -"ANSIBLE_PLAYBOOK_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration", -"ANSIBLE_PYTHON_INTERPRETER": "/set/ansible_python_interpreter/in/inventory", -"ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE": "1024", -"ANSIBLE_RETRY_FILES_ENABLED": "false", -"ANSIBLE_ROLES_PATH": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets", -"ANSIBLE_TEST_CI": "", -"ANSIBLE_TEST_COVERAGE": "", -"ANSIBLE_TEST_PYTHON_INTERPRETER": "/usr/bin/python3.6", -"ANSIBLE_TEST_PYTHON_VERSION": "3.6", -"HOME": "/root", -"INVENTORY_PATH": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/inventory", -"JUNIT_OUTPUT_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/junit", -"K8S_AUTH_KUBECONFIG": "/root/ansible/ansible_collections/community/kubernetes/tests/integration/cloud-config-openshift-h55zhvsi.kubeconfig", -"LC_ALL": "en_US.UTF-8", -"OUTPUT_DIR": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/output_dir", -"PAGER": "/bin/cat", -"PATH": "/tmp/python-_nao3p15-ansible:/root/ansible/test/lib/ansible_test/_data/injector:/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -"PWD": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration", -"PYTHONPATH": "/root/ansible/lib" -}, -"ansible_fibre_channel_wwn": [], -"ansible_fips": false, -"ansible_form_factor": "Unknown", -"ansible_fqdn": "3463f7b7fac5", -"ansible_hostname": "3463f7b7fac5", -"ansible_hostnqn": "", -"ansible_is_chroot": false, -"ansible_iscsi_iqn": "", -"ansible_kernel": "4.19.76-linuxkit", -"ansible_kernel_version": "#1 SMP Thu Oct 17 19:31:58 UTC 2019", -"ansible_local": {}, -"ansible_lsb": { -"codename": "bionic", -"description": "Ubuntu 18.04.3 LTS", -"id": "Ubuntu", -"major_release": "18", -"release": "18.04" -}, -"ansible_machine": "x86_64", -"ansible_machine_id": "fa8b71f31f5d40ffb66fec414187d314", -"ansible_memfree_mb": 115, -"ansible_memory_mb": { -"nocache": { -"free": 2576, -"used": 1362 -}, -"real": { -"free": 115, -"total": 3938, -"used": 3823 -}, -"swap": { -"cached": 0, -"free": 1020, -"total": 1023, -"used": 3 -} -}, -"ansible_memtotal_mb": 3938, -"ansible_mounts": [ -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/run", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -}, -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/tmp", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -}, -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/run/lock", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -}, -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/etc/resolv.conf", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -}, -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/etc/hostname", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -}, -{ -"block_available": 7567208, -"block_size": 4096, -"block_total": 15313873, -"block_used": 7746665, -"device": "/dev/sda1", -"fstype": "ext4", -"inode_available": 2790799, -"inode_total": 3907584, -"inode_used": 1116785, -"mount": "/etc/hosts", -"options": "rw,relatime,bind", -"size_available": 30995283968, -"size_total": 62725623808, -"uuid": "N/A" -} -], -"ansible_nodename": "3463f7b7fac5", -"ansible_os_family": "Debian", -"ansible_pkg_mgr": "apt", -"ansible_proc_cmdline": { -"BOOT_IMAGE": "/boot/kernel", -"console": [ -"ttyS0", -"ttyS1" -], -"page_poison": "1", -"panic": "1", -"root": "/dev/sr0", -"text": true, -"vsyscall": "emulate" -}, -"ansible_processor": [ -"0", -"GenuineIntel", -"Intel(R) Core(TM) i7-6660U CPU @ 2.40GHz", -"1", -"GenuineIntel", -"Intel(R) Core(TM) i7-6660U CPU @ 2.40GHz" -], -"ansible_processor_cores": 1, -"ansible_processor_count": 2, -"ansible_processor_threads_per_core": 1, -"ansible_processor_vcpus": 2, -"ansible_product_name": "BHYVE", -"ansible_product_serial": "None", -"ansible_product_uuid": "02594ace-0000-0000-83fc-c0a068aebccb", -"ansible_product_version": "1.0", -"ansible_python": { -"executable": "/tmp/python-_nao3p15-ansible/python", -"has_sslcontext": true, -"type": "cpython", -"version": { -"major": 3, -"micro": 8, -"minor": 6, -"releaselevel": "final", -"serial": 0 -}, -"version_info": [ -3, -6, -8, -"final", -0 -] -}, -"ansible_python_version": "3.6.8", -"ansible_real_group_id": 0, -"ansible_real_user_id": 0, -"ansible_selinux": { -"status": "Missing selinux Python library" -}, -"ansible_selinux_python_present": false, -"ansible_service_mgr": "systemd", -"ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCoEuuztuQpD1fqb2wTCrpBf8ATh6TBlXrPh8MX4hOW+gseI3+R30kNF0qfEtRm1Q/Q46ml303iGgWvHVLOltR4=", -"ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIAa+2oQosP5ZPj2AKVbZPVMX5cR/9nOQExjKX8o6k/6w", -"ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDB0n+VMM8MPY2jQ/+g9Xv5bFG+z7E8Ncfbwh4rZAcy+aiwY4Ch8KjAQTkglLJTFHDcHH+plOYiGtz1KQ8BidjckjXivO2dUcYHq5Nt15EoAivy2oJIw1TrIeWTzICKA503xJODlHvCYqBJd8i2QxzAs+P0L0oFqG6G8ZsWX/FM50/jDUO6xToEGYdbUb10/UxOjHXnupnCjJK00A2/eUFqP12hxzLvRZQhgknrlrswNnrYQ3hvO3Ibh0BXTVzIJZlbLLpEJPEDpaAV9vk55RXbehOixK3e9Hf6R7YAhWAkTBecbuLByf3swj78Dupt3nsbrXZgxPwfXAu4AhMU1IFf", -"ansible_swapfree_mb": 1020, -"ansible_swaptotal_mb": 1023, -"ansible_system": "Linux", -"ansible_system_vendor": "NA", -"ansible_uptime_seconds": 165282, -"ansible_user_dir": "/root", -"ansible_user_gecos": "root", -"ansible_user_gid": 0, -"ansible_user_id": "root", -"ansible_user_shell": "/bin/bash", -"ansible_user_uid": 0, -"ansible_userspace_architecture": "x86_64", -"ansible_userspace_bits": "64", -"ansible_virtualization_role": "guest", -"ansible_virtualization_type": "docker", -"gather_subset": [ -"all" -], -"module_setup": true -}, -"changed": false, -"deprecations": [], -"warnings": [] -} - - - { -"changed": false, -"include": "setup_remote_tmp_dir.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/setup_remote_tmp_dir.yml (args={} vars={}): [testhost] - - - { -"changed": true, -"gid": 0, -"group": "root", -"mode": "0700", -"owner": "root", -"path": "/tmp/ansible.cixdxil5.test", -"size": 4096, -"state": "directory", -"uid": 0 -} - - - { -"ansible_facts": { -"remote_tmp_dir": "/tmp/ansible.cixdxil5.test" -}, -"changed": false -} - - - { -"ansible_facts": { -"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv", -"virtualenv_command": "/tmp/python-_nao3p15-ansible/python -m virtualenv" -}, -"changed": false -} - - - { -"ansible_facts": { -"virtualenv_interpreter": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python" -}, -"changed": false -} - - - { -"changed": false, -"cmd": [ -"/usr/local/bin/pip3", -"install", -"virtualenv" -], -"name": [ -"virtualenv" -], -"requirements": null, -"state": "present", -"stderr": "WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\n", -"stderr_lines": [ -"WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.", -"You should consider upgrading via the 'pip install --upgrade pip' command." -], -"stdout": "Requirement already satisfied: virtualenv in /usr/local/lib/python3.6/dist-packages (16.7.5)\n", -"stdout_lines": [ -"Requirement already satisfied: virtualenv in /usr/local/lib/python3.6/dist-packages (16.7.5)" -], -"version": null, -"virtualenv": null -} - - - { -"changed": true, -"cmd": [ -"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", -"install", -"openshift>=0.9.2", -"coverage" -], -"name": [ -"openshift>=0.9.2", -"coverage" -], -"requirements": null, -"state": "present", -"stderr": "", -"stderr_lines": [], -"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting openshift>=0.9.2\n Downloading openshift-0.10.1.tar.gz (18 kB)\nCollecting coverage\n Downloading coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nCollecting dictdiffer\n Downloading dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting jinja2\n Downloading Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting kubernetes~=10.0.1\n Downloading kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting ruamel.yaml>=0.15\n Downloading ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting google-auth>=1.0.1\n Downloading google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting certifi>=14.05.14\n Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting python-dateutil>=2.5.3\n Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting requests-oauthlib\n Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)\nCollecting urllib3>=1.24.2\n Downloading urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting pyyaml>=3.12\n Downloading PyYAML-5.3.tar.gz (268 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Downloading idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting pyasn1-modules>=0.2.1\n Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Downloading cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting pyasn1<0.5.0,>=0.4.6\n Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: openshift, pyyaml\n Building wheel for openshift (setup.py): started\n Building wheel for openshift (setup.py): finished with status 'done'\n Created wheel for openshift: filename=openshift-0.10.1-py3-none-any.whl size=19448 sha256=c3cfc37b13e9002df2788542f1674d4e26160db1546a808c6e47818fbce2c7e2\n Stored in directory: /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69\n Building wheel for pyyaml (setup.py): started\n Building wheel for pyyaml (setup.py): finished with status 'done'\n Created wheel for pyyaml: filename=PyYAML-5.3-cp36-cp36m-linux_x86_64.whl size=403280 sha256=30bd16e159e62938bcdbb4908d7b8ff14c2829dc60f23d4704002a81ba05af57\n Stored in directory: /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46\nSuccessfully built openshift pyyaml\nInstalling collected packages: dictdiffer, MarkupSafe, jinja2, chardet, certifi, idna, urllib3, requests, six, pyasn1, pyasn1-modules, rsa, cachetools, google-auth, python-dateutil, oauthlib, requests-oauthlib, websocket-client, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", -"stdout_lines": [ -"Already using interpreter /tmp/python-_nao3p15-ansible/python", -"Using base prefix '/usr'", -"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"Installing setuptools, pip, wheel...", -"done.", -"Collecting openshift>=0.9.2", -" Downloading openshift-0.10.1.tar.gz (18 kB)", -"Collecting coverage", -" Downloading coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", -"Collecting dictdiffer", -" Downloading dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", -"Collecting jinja2", -" Downloading Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", -"Collecting kubernetes~=10.0.1", -" Downloading kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", -"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", -"Collecting ruamel.yaml>=0.15", -" Downloading ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", -"Collecting six", -" Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)", -"Collecting MarkupSafe>=0.23", -" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", -"Collecting requests", -" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", -"Collecting google-auth>=1.0.1", -" Downloading google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", -"Collecting certifi>=14.05.14", -" Downloading certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", -"Collecting python-dateutil>=2.5.3", -" Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", -"Collecting requests-oauthlib", -" Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", -"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)", -"Collecting urllib3>=1.24.2", -" Downloading urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", -"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", -" Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", -"Collecting pyyaml>=3.12", -" Downloading PyYAML-5.3.tar.gz (268 kB)", -"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", -" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", -"Collecting chardet<3.1.0,>=3.0.2", -" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", -"Collecting idna<2.9,>=2.5", -" Downloading idna-2.8-py2.py3-none-any.whl (58 kB)", -"Collecting pyasn1-modules>=0.2.1", -" Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", -"Collecting rsa<4.1,>=3.1.4", -" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", -"Collecting cachetools<5.0,>=2.0.0", -" Downloading cachetools-4.0.0-py3-none-any.whl (10 kB)", -"Collecting oauthlib>=3.0.0", -" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", -"Collecting pyasn1<0.5.0,>=0.4.6", -" Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", -"Building wheels for collected packages: openshift, pyyaml", -" Building wheel for openshift (setup.py): started", -" Building wheel for openshift (setup.py): finished with status 'done'", -" Created wheel for openshift: filename=openshift-0.10.1-py3-none-any.whl size=19448 sha256=c3cfc37b13e9002df2788542f1674d4e26160db1546a808c6e47818fbce2c7e2", -" Stored in directory: /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69", -" Building wheel for pyyaml (setup.py): started", -" Building wheel for pyyaml (setup.py): finished with status 'done'", -" Created wheel for pyyaml: filename=PyYAML-5.3-cp36-cp36m-linux_x86_64.whl size=403280 sha256=30bd16e159e62938bcdbb4908d7b8ff14c2829dc60f23d4704002a81ba05af57", -" Stored in directory: /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46", -"Successfully built openshift pyyaml", -"Installing collected packages: dictdiffer, MarkupSafe, jinja2, chardet, certifi, idna, urllib3, requests, six, pyasn1, pyasn1-modules, rsa, cachetools, google-auth, python-dateutil, oauthlib, requests-oauthlib, websocket-client, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage", -"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" -], -"version": null, -"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" -} - - - { -"changed": false, -"include": "validate_not_installed.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"mismatched": {}, -"not_found": [ -"kubernetes-validate" -], -"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"python_system_path": [ -"/tmp/ansible_python_requirements_info_payload_46mzxasa/ansible_python_requirements_info_payload.zip", -"/root/ansible/lib", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", -"/usr/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" -], -"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", -"valid": { -"kubernetes": { -"desired": null, -"installed": "10.0.1" -}, -"openshift": { -"desired": null, -"installed": "0.10.1" -} -} -} - - - { -"changed": false, -"msg": "kubernetes-validate python library is required to validate resources" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", -"changed": true -} - - - { -"changed": true, -"cmd": [ -"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", -"install", -"kubernetes-validate==1.12.0", -"openshift>=0.9.2", -"coverage" -], -"name": [ -"kubernetes-validate==1.12.0", -"openshift>=0.9.2", -"coverage" -], -"requirements": null, -"state": "present", -"stderr": "", -"stderr_lines": [], -"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting kubernetes-validate==1.12.0\n Downloading kubernetes-validate-1.12.0.tar.gz (2.0 MB)\nProcessing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting jsonschema\n Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting kubernetes~=10.0.1\n Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting pyrsistent>=0.14.0\n Downloading pyrsistent-0.15.7.tar.gz (107 kB)\nCollecting importlib-metadata; python_version < \"3.8\"\n Downloading importlib_metadata-1.5.0-py2.py3-none-any.whl (30 kB)\nCollecting attrs>=17.4.0\n Using cached attrs-19.3.0-py2.py3-none-any.whl (39 kB)\nRequirement already satisfied: setuptools in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from jsonschema->kubernetes-validate==1.12.0) (45.1.0)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting urllib3>=1.24.2\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting zipp>=0.5\n Downloading zipp-2.1.0-py3-none-any.whl (4.6 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting pyasn1>=0.1.3\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: kubernetes-validate, pyrsistent\n Building wheel for kubernetes-validate (setup.py): started\n Building wheel for kubernetes-validate (setup.py): finished with status 'done'\n Created wheel for kubernetes-validate: filename=kubernetes_validate-1.12.0-py3-none-any.whl size=4065386 sha256=19400eeda8943f7a72581c84ba6a5aeed9b1273f04d468f1f63c71bf0ca1f51f\n Stored in directory: /root/.cache/pip/wheels/98/9b/da/4ebc13dd4d601645aa96f5f9da2859e115044084fa26b74477\n Building wheel for pyrsistent (setup.py): started\n Building wheel for pyrsistent (setup.py): finished with status 'done'\n Created wheel for pyrsistent: filename=pyrsistent-0.15.7-cp36-cp36m-linux_x86_64.whl size=97700 sha256=54e4335e7bd824cf08d196671406f3dd921d1f1ecc83aa8c1f0002b9e125251c\n Stored in directory: /root/.cache/pip/wheels/43/9a/e4/7f687f2bb934e9a26a6e1158778ed7c5436b9ea15db48c888a\nSuccessfully built kubernetes-validate pyrsistent\nInstalling collected packages: PyYAML, six, pyrsistent, zipp, importlib-metadata, attrs, jsonschema, kubernetes-validate, MarkupSafe, jinja2, dictdiffer, websocket-client, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, python-dateutil, certifi, urllib3, chardet, idna, requests, oauthlib, requests-oauthlib, kubernetes, ruamel.yaml.clib, ruamel.yaml, python-string-utils, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 PyYAML-5.3 attrs-19.3.0 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 importlib-metadata-1.5.0 jinja2-2.11.1 jsonschema-3.2.0 kubernetes-10.0.1 kubernetes-validate-1.12.0 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyrsistent-0.15.7 python-dateutil-2.8.1 python-string-utils-0.6.0 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0 zipp-2.1.0\n", -"stdout_lines": [ -"Already using interpreter /tmp/python-_nao3p15-ansible/python", -"Using base prefix '/usr'", -"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"Installing setuptools, pip, wheel...", -"done.", -"Collecting kubernetes-validate==1.12.0", -" Downloading kubernetes-validate-1.12.0.tar.gz (2.0 MB)", -"Processing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl", -"Collecting coverage", -" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", -"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", -"Collecting jsonschema", -" Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)", -"Collecting jinja2", -" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", -"Collecting dictdiffer", -" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", -"Collecting six", -" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", -"Collecting kubernetes~=10.0.1", -" Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", -"Collecting ruamel.yaml>=0.15", -" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", -"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", -"Collecting pyrsistent>=0.14.0", -" Downloading pyrsistent-0.15.7.tar.gz (107 kB)", -"Collecting importlib-metadata; python_version < \"3.8\"", -" Downloading importlib_metadata-1.5.0-py2.py3-none-any.whl (30 kB)", -"Collecting attrs>=17.4.0", -" Using cached attrs-19.3.0-py2.py3-none-any.whl (39 kB)", -"Requirement already satisfied: setuptools in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from jsonschema->kubernetes-validate==1.12.0) (45.1.0)", -"Collecting MarkupSafe>=0.23", -" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", -"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", -" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", -"Collecting google-auth>=1.0.1", -" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", -"Collecting python-dateutil>=2.5.3", -" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", -"Collecting certifi>=14.05.14", -" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", -"Collecting urllib3>=1.24.2", -" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", -"Collecting requests", -" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", -"Collecting requests-oauthlib", -" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", -"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", -" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", -"Collecting zipp>=0.5", -" Downloading zipp-2.1.0-py3-none-any.whl (4.6 kB)", -"Collecting rsa<4.1,>=3.1.4", -" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", -"Collecting cachetools<5.0,>=2.0.0", -" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", -"Collecting pyasn1-modules>=0.2.1", -" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", -"Collecting chardet<3.1.0,>=3.0.2", -" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", -"Collecting idna<2.9,>=2.5", -" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", -"Collecting oauthlib>=3.0.0", -" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", -"Collecting pyasn1>=0.1.3", -" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", -"Building wheels for collected packages: kubernetes-validate, pyrsistent", -" Building wheel for kubernetes-validate (setup.py): started", -" Building wheel for kubernetes-validate (setup.py): finished with status 'done'", -" Created wheel for kubernetes-validate: filename=kubernetes_validate-1.12.0-py3-none-any.whl size=4065386 sha256=19400eeda8943f7a72581c84ba6a5aeed9b1273f04d468f1f63c71bf0ca1f51f", -" Stored in directory: /root/.cache/pip/wheels/98/9b/da/4ebc13dd4d601645aa96f5f9da2859e115044084fa26b74477", -" Building wheel for pyrsistent (setup.py): started", -" Building wheel for pyrsistent (setup.py): finished with status 'done'", -" Created wheel for pyrsistent: filename=pyrsistent-0.15.7-cp36-cp36m-linux_x86_64.whl size=97700 sha256=54e4335e7bd824cf08d196671406f3dd921d1f1ecc83aa8c1f0002b9e125251c", -" Stored in directory: /root/.cache/pip/wheels/43/9a/e4/7f687f2bb934e9a26a6e1158778ed7c5436b9ea15db48c888a", -"Successfully built kubernetes-validate pyrsistent", -"Installing collected packages: PyYAML, six, pyrsistent, zipp, importlib-metadata, attrs, jsonschema, kubernetes-validate, MarkupSafe, jinja2, dictdiffer, websocket-client, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, python-dateutil, certifi, urllib3, chardet, idna, requests, oauthlib, requests-oauthlib, kubernetes, ruamel.yaml.clib, ruamel.yaml, python-string-utils, openshift, coverage", -"Successfully installed MarkupSafe-1.1.1 PyYAML-5.3 attrs-19.3.0 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 importlib-metadata-1.5.0 jinja2-2.11.1 jsonschema-3.2.0 kubernetes-10.0.1 kubernetes-validate-1.12.0 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pyrsistent-0.15.7 python-dateutil-2.8.1 python-string-utils-0.6.0 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0 zipp-2.1.0" -], -"version": null, -"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" -} - - - { -"changed": false, -"include": "validate_installed.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/validate_installed.yml (args={} vars={}): [testhost] - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:41:41Z", -"name": "ansible-test-k8s-validate", -"resourceVersion": "931", -"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate", -"uid": "89e6c3d0-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": true, -"dest": "/tmp/ansible.cixdxil5.test/", -"src": "/root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/files" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:41:49Z", -"name": "hello", -"namespace": "ansible-test-k8s-validate", -"resourceVersion": "968", -"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate/configmaps/hello", -"uid": "8e77f94a-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "extensions/v1beta1", -"kind": "Deployment", -"metadata": { -"creationTimestamp": "2020-01-30T19:41:53Z", -"generation": 1, -"labels": { -"app": "kuard" -}, -"name": "kuard", -"namespace": "default", -"resourceVersion": "973", -"selfLink": "/apis/extensions/v1beta1/namespaces/default/deployments/kuard", -"uid": "90c97af1-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"replicas": 3, -"selector": { -"matchLabels": { -"app": "kuard" -} -}, -"strategy": { -"rollingUpdate": { -"maxSurge": 1, -"maxUnavailable": 1 -}, -"type": "RollingUpdate" -}, -"template": { -"metadata": { -"creationTimestamp": null, -"labels": { -"app": "kuard" -} -}, -"spec": { -"containers": [ -{ -"image": "gcr.io/kuar-demo/kuard-amd64:1", -"imagePullPolicy": "IfNotPresent", -"name": "kuard", -"resources": {}, -"terminationMessagePath": "/dev/termination-log", -"terminationMessagePolicy": "File" -} -], -"dnsPolicy": "ClusterFirst", -"restartPolicy": "Always", -"schedulerName": "default-scheduler", -"securityContext": {}, -"terminationGracePeriodSeconds": 30 -} -} -}, -"status": {} -} -} - - - { -"changed": false, -"msg": "Deployment kuard: resource definition validation error at spec.selector: Additional properties are not allowed ('unwanted' was unexpected)" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"msg": "Deployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"error": 500, -"msg": "Failed to patch object: b'{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char \\'h\\'\",\"code\":500}\\n'\nDeployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'", -"reason": "Internal Server Error", -"status": 500, -"warnings": [ -"Deployment kuard: resource definition validation error at spec.replicas: 'hello' is not of type 'integer'" -] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "apiextensions.k8s.io/v1beta1", -"kind": "CustomResourceDefinition", -"metadata": { -"creationTimestamp": "2020-01-30T19:42:09Z", -"generation": 1, -"name": "certificates.certmanager.k8s.io", -"resourceVersion": "1029", -"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", -"uid": "9a44b6c4-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"group": "certmanager.k8s.io", -"names": { -"kind": "Certificate", -"listKind": "CertificateList", -"plural": "certificates", -"shortNames": [ -"cert", -"certs" -], -"singular": "certificate" -}, -"scope": "Namespaced", -"version": "v1alpha1" -}, -"status": { -"acceptedNames": { -"kind": "", -"plural": "" -}, -"conditions": null -} -} -} - - - { -"changed": false, -"delta": 5, -"echo": true, -"rc": 0, -"start": "2020-01-30 19:42:09.345151", -"stderr": "", -"stdout": "Paused for 5.0 seconds", -"stop": "2020-01-30 19:42:14.347413", -"user_input": "" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "certmanager.k8s.io/v1alpha1", -"kind": "Certificate", -"metadata": { -"clusterName": "", -"creationTimestamp": "2020-01-30T19:42:17Z", -"name": "acme-crt", -"namespace": "ansible-test-k8s-validate", -"resourceVersion": "1042", -"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/ansible-test-k8s-validate/certificates/acme-crt", -"uid": "9f440a2d-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"acme": { -"config": [ -{ -"domains": [ -"foo.example.com", -"bar.example.com" -], -"ingressClass": "nginx" -} -] -}, -"dnsNames": [ -"foo.example.com", -"bar.example.com" -], -"issuerRef": { -"kind": "Issuer", -"name": "letsencrypt-prod" -}, -"secretName": "acme-crt-secret" -} -}, -"warnings": [ -"Certificate acme-crt: Could not find schema for object kind Certificate with API version certmanager.k8s.io/v1alpha1 in Kubernetes version 1.9.1+a0ce1bc657 (possibly Custom Resource?)" -] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"group": "certmanager.k8s.io", -"kind": "certificates", -"name": "acme-crt", -"uid": "9f440a2d-4398-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -} -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "apiextensions.k8s.io/v1beta1", -"kind": "CustomResourceDefinition", -"metadata": { -"creationTimestamp": "2020-01-30T19:42:09Z", -"deletionTimestamp": "2020-01-30T19:42:24Z", -"finalizers": [ -"customresourcecleanup.apiextensions.k8s.io" -], -"generation": 1, -"name": "certificates.certmanager.k8s.io", -"resourceVersion": "1057", -"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", -"uid": "9a44b6c4-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"group": "certmanager.k8s.io", -"names": { -"kind": "Certificate", -"listKind": "CertificateList", -"plural": "certificates", -"shortNames": [ -"cert", -"certs" -], -"singular": "certificate" -}, -"scope": "Namespaced", -"version": "v1alpha1" -}, -"status": { -"acceptedNames": { -"kind": "Certificate", -"listKind": "CertificateList", -"plural": "certificates", -"shortNames": [ -"cert", -"certs" -], -"singular": "certificate" -}, -"conditions": [ -{ -"lastTransitionTime": "2020-01-30T19:42:09Z", -"message": "no conflicts found", -"reason": "NoConflicts", -"status": "True", -"type": "NamesAccepted" -}, -{ -"lastTransitionTime": "2020-01-30T19:42:09Z", -"message": "the initial names have been accepted", -"reason": "InitialNamesAccepted", -"status": "True", -"type": "Established" -}, -{ -"lastTransitionTime": "2020-01-30T19:42:24Z", -"message": "CustomResourceDefinition marked for deletion; CustomResource deletion will begin soon", -"reason": "InstanceDeletionPending", -"status": "True", -"type": "Terminating" -} -] -} -} -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c8,c2", -"openshift.io/sa.scc.supplemental-groups": "1000060000/10000", -"openshift.io/sa.scc.uid-range": "1000060000/10000" -}, -"creationTimestamp": "2020-01-30T19:41:41Z", -"deletionTimestamp": "2020-01-30T19:42:27Z", -"name": "ansible-test-k8s-validate", -"resourceVersion": "1065", -"selfLink": "/api/v1/namespaces/ansible-test-k8s-validate", -"uid": "89e6c3d0-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -} - - - { -"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", -"changed": true -} - - - { -"changed": true, -"cmd": [ -"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", -"install", -"openshift==0.6.0", -"kubernetes==6.0.0", -"coverage" -], -"name": [ -"openshift==0.6.0", -"kubernetes==6.0.0", -"coverage" -], -"requirements": null, -"state": "present", -"stderr": "", -"stderr_lines": [], -"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nCollecting openshift==0.6.0\n Downloading openshift-0.6.0.tar.gz (342 kB)\nCollecting kubernetes==6.0.0\n Downloading kubernetes-6.0.0-py2.py3-none-any.whl (1.2 MB)\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting ipaddress>=1.0.17\n Downloading ipaddress-1.0.23-py2.py3-none-any.whl (18 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes==6.0.0) (45.1.0)\nCollecting urllib3!=1.21,>=1.19.1\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting pyasn1>=0.1.3\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nBuilding wheels for collected packages: openshift\n Building wheel for openshift (setup.py): started\n Building wheel for openshift (setup.py): finished with status 'done'\n Created wheel for openshift: filename=openshift-0.6.0-py3-none-any.whl size=1334832 sha256=af0b317ae00e7865c38a743902ec1e07b7e088827a17bdb911000b9a82604e25\n Stored in directory: /root/.cache/pip/wheels/ce/9d/c3/c5be277f0eefe1431c23590dc844aced905e179e7b4c3fc41b\nSuccessfully built openshift\nInstalling collected packages: dictdiffer, MarkupSafe, jinja2, ipaddress, six, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, oauthlib, idna, chardet, certifi, urllib3, requests, requests-oauthlib, websocket-client, python-dateutil, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 ipaddress-1.0.23 jinja2-2.11.1 kubernetes-6.0.0 oauthlib-3.1.0 openshift-0.6.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", -"stdout_lines": [ -"Already using interpreter /tmp/python-_nao3p15-ansible/python", -"Using base prefix '/usr'", -"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"Installing setuptools, pip, wheel...", -"done.", -"Collecting openshift==0.6.0", -" Downloading openshift-0.6.0.tar.gz (342 kB)", -"Collecting kubernetes==6.0.0", -" Downloading kubernetes-6.0.0-py2.py3-none-any.whl (1.2 MB)", -"Collecting coverage", -" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", -"Collecting dictdiffer", -" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", -"Collecting jinja2", -" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", -"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", -"Collecting ruamel.yaml>=0.15", -" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", -"Collecting six", -" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", -"Collecting ipaddress>=1.0.17", -" Downloading ipaddress-1.0.23-py2.py3-none-any.whl (18 kB)", -"Collecting google-auth>=1.0.1", -" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", -"Collecting requests-oauthlib", -" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", -"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes==6.0.0) (45.1.0)", -"Collecting urllib3!=1.21,>=1.19.1", -" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", -"Collecting requests", -" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", -"Collecting certifi>=14.05.14", -" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", -"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", -" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", -"Collecting python-dateutil>=2.5.3", -" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", -"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", -"Collecting MarkupSafe>=0.23", -" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", -"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", -" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", -"Collecting rsa<4.1,>=3.1.4", -" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", -"Collecting cachetools<5.0,>=2.0.0", -" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", -"Collecting pyasn1-modules>=0.2.1", -" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", -"Collecting oauthlib>=3.0.0", -" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", -"Collecting idna<2.9,>=2.5", -" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", -"Collecting chardet<3.1.0,>=3.0.2", -" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", -"Collecting pyasn1>=0.1.3", -" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", -"Building wheels for collected packages: openshift", -" Building wheel for openshift (setup.py): started", -" Building wheel for openshift (setup.py): finished with status 'done'", -" Created wheel for openshift: filename=openshift-0.6.0-py3-none-any.whl size=1334832 sha256=af0b317ae00e7865c38a743902ec1e07b7e088827a17bdb911000b9a82604e25", -" Stored in directory: /root/.cache/pip/wheels/ce/9d/c3/c5be277f0eefe1431c23590dc844aced905e179e7b4c3fc41b", -"Successfully built openshift", -"Installing collected packages: dictdiffer, MarkupSafe, jinja2, ipaddress, six, pyasn1, rsa, cachetools, pyasn1-modules, google-auth, oauthlib, idna, chardet, certifi, urllib3, requests, requests-oauthlib, websocket-client, python-dateutil, pyyaml, kubernetes, python-string-utils, ruamel.yaml.clib, ruamel.yaml, openshift, coverage", -"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 ipaddress-1.0.23 jinja2-2.11.1 kubernetes-6.0.0 oauthlib-3.1.0 openshift-0.6.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" -], -"version": null, -"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" -} - - - { -"changed": false, -"include": "older_openshift_fail.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"mismatched": {}, -"not_found": [], -"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"python_system_path": [ -"/tmp/ansible_python_requirements_info_payload_hc42g51v/ansible_python_requirements_info_payload.zip", -"/root/ansible/lib", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", -"/usr/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" -], -"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", -"valid": { -"kubernetes": { -"desired": "kubernetes==6.0.0", -"installed": "6.0.0" -}, -"openshift": { -"desired": "openshift==0.6.0", -"installed": "0.6.0" -} -} -} - - - { -"changed": false, -"msg": "Failed to import the required Python library (openshift >= 0.7.2) on 3463f7b7fac5's Python /tmp/ansible.cixdxil5.test/virtualenv/bin/python. This is required for append_hash. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"msg": "openshift >= 0.8.0 is required for validate" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"msg": "Failed to import the required Python library (openshift >= 0.9.2) on 3463f7b7fac5's Python /tmp/ansible.cixdxil5.test/virtualenv/bin/python. This is required for apply. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter" -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", -"changed": true -} - - - { -"changed": true, -"cmd": [ -"/tmp/ansible.cixdxil5.test/virtualenv/bin/pip3", -"install", -"openshift>=0.9.2", -"coverage" -], -"name": [ -"openshift>=0.9.2", -"coverage" -], -"requirements": null, -"state": "present", -"stderr": "", -"stderr_lines": [], -"stdout": "Already using interpreter /tmp/python-_nao3p15-ansible/python\nUsing base prefix '/usr'\nNew python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python\nInstalling setuptools, pip, wheel...\ndone.\nProcessing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl\nCollecting coverage\n Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)\nProcessing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl\nCollecting dictdiffer\n Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)\nCollecting kubernetes~=10.0.1\n Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)\nCollecting ruamel.yaml>=0.15\n Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)\nCollecting six\n Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)\nCollecting jinja2\n Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)\nCollecting requests-oauthlib\n Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)\nCollecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0\n Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\nCollecting google-auth>=1.0.1\n Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)\nRequirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)\nCollecting certifi>=14.05.14\n Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)\nCollecting requests\n Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)\nCollecting urllib3>=1.24.2\n Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)\nProcessing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl\nCollecting python-dateutil>=2.5.3\n Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)\nCollecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"\n Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)\nCollecting MarkupSafe>=0.23\n Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)\nCollecting oauthlib>=3.0.0\n Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)\nCollecting cachetools<5.0,>=2.0.0\n Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)\nCollecting pyasn1-modules>=0.2.1\n Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)\nCollecting rsa<4.1,>=3.1.4\n Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)\nCollecting chardet<3.1.0,>=3.0.2\n Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)\nCollecting idna<2.9,>=2.5\n Using cached idna-2.8-py2.py3-none-any.whl (58 kB)\nCollecting pyasn1<0.5.0,>=0.4.6\n Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)\nInstalling collected packages: python-string-utils, dictdiffer, six, chardet, idna, certifi, urllib3, requests, oauthlib, requests-oauthlib, websocket-client, cachetools, pyasn1, pyasn1-modules, rsa, google-auth, pyyaml, python-dateutil, kubernetes, ruamel.yaml.clib, ruamel.yaml, MarkupSafe, jinja2, openshift, coverage\nSuccessfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0\n", -"stdout_lines": [ -"Already using interpreter /tmp/python-_nao3p15-ansible/python", -"Using base prefix '/usr'", -"New python executable in /tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"Installing setuptools, pip, wheel...", -"done.", -"Processing /root/.cache/pip/wheels/03/ca/56/deca5094fd3ff62df9d8703a5c64b6c7e3f67212bee6c37a69/openshift-0.10.1-py3-none-any.whl", -"Collecting coverage", -" Using cached coverage-5.0.3-cp36-cp36m-manylinux1_x86_64.whl (227 kB)", -"Processing /root/.cache/pip/wheels/b2/1d/3f/2f554103ba3e4aa8d53b8e1ea70b5a0b4f74409a789e17fa35/python_string_utils-0.6.0-cp36-none-any.whl", -"Collecting dictdiffer", -" Using cached dictdiffer-0.8.1-py2.py3-none-any.whl (16 kB)", -"Collecting kubernetes~=10.0.1", -" Using cached kubernetes-10.0.1-py2.py3-none-any.whl (1.5 MB)", -"Collecting ruamel.yaml>=0.15", -" Using cached ruamel.yaml-0.16.7-py2.py3-none-any.whl (123 kB)", -"Collecting six", -" Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)", -"Collecting jinja2", -" Using cached Jinja2-2.11.1-py2.py3-none-any.whl (126 kB)", -"Collecting requests-oauthlib", -" Using cached requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)", -"Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0", -" Using cached websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)", -"Collecting google-auth>=1.0.1", -" Using cached google_auth-1.11.0-py2.py3-none-any.whl (76 kB)", -"Requirement already satisfied: setuptools>=21.0.0 in ./ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages (from kubernetes~=10.0.1->openshift>=0.9.2) (45.1.0)", -"Collecting certifi>=14.05.14", -" Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)", -"Collecting requests", -" Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)", -"Collecting urllib3>=1.24.2", -" Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)", -"Processing /root/.cache/pip/wheels/b1/86/0d/10e6c39d3a2b85ba807d7657ee80f08cc16c03f2aa2adf8e46/PyYAML-5.3-cp36-cp36m-linux_x86_64.whl", -"Collecting python-dateutil>=2.5.3", -" Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)", -"Collecting ruamel.yaml.clib>=0.1.2; platform_python_implementation == \"CPython\" and python_version < \"3.8\"", -" Using cached ruamel.yaml.clib-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (548 kB)", -"Collecting MarkupSafe>=0.23", -" Using cached MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)", -"Collecting oauthlib>=3.0.0", -" Using cached oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)", -"Collecting cachetools<5.0,>=2.0.0", -" Using cached cachetools-4.0.0-py3-none-any.whl (10 kB)", -"Collecting pyasn1-modules>=0.2.1", -" Using cached pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)", -"Collecting rsa<4.1,>=3.1.4", -" Using cached rsa-4.0-py2.py3-none-any.whl (38 kB)", -"Collecting chardet<3.1.0,>=3.0.2", -" Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)", -"Collecting idna<2.9,>=2.5", -" Using cached idna-2.8-py2.py3-none-any.whl (58 kB)", -"Collecting pyasn1<0.5.0,>=0.4.6", -" Using cached pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)", -"Installing collected packages: python-string-utils, dictdiffer, six, chardet, idna, certifi, urllib3, requests, oauthlib, requests-oauthlib, websocket-client, cachetools, pyasn1, pyasn1-modules, rsa, google-auth, pyyaml, python-dateutil, kubernetes, ruamel.yaml.clib, ruamel.yaml, MarkupSafe, jinja2, openshift, coverage", -"Successfully installed MarkupSafe-1.1.1 cachetools-4.0.0 certifi-2019.11.28 chardet-3.0.4 coverage-5.0.3 dictdiffer-0.8.1 google-auth-1.11.0 idna-2.8 jinja2-2.11.1 kubernetes-10.0.1 oauthlib-3.1.0 openshift-0.10.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 python-dateutil-2.8.1 python-string-utils-0.6.0 pyyaml-5.3 requests-2.22.0 requests-oauthlib-1.3.0 rsa-4.0 ruamel.yaml-0.16.7 ruamel.yaml.clib-0.2.0 six-1.14.0 urllib3-1.25.8 websocket-client-0.57.0" -], -"version": null, -"virtualenv": "/tmp/ansible.cixdxil5.test/virtualenv" -} - - - { -"changed": false, -"include": "full_test.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/full_test.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"include": "delete.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/delete.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"resources": [] -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { -"changed": false, -"include": "apply.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/apply.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"mismatched": {}, -"not_found": [], -"python": "/tmp/ansible.cixdxil5.test/virtualenv/bin/python", -"python_system_path": [ -"/tmp/ansible_python_requirements_info_payload_74uktbba/ansible_python_requirements_info_payload.zip", -"/root/ansible/lib", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python36.zip", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/lib-dynload", -"/usr/lib/python3.6", -"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages" -], -"python_version": "3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0]", -"valid": { -"kubernetes": { -"desired": null, -"installed": "10.0.1" -}, -"openshift": { -"desired": null, -"installed": "0.10.1" -} -} -} - - - { -"ansible_facts": { -"apply_namespace": "apply" -}, -"changed": false -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:43:53Z", -"name": "apply", -"resourceVersion": "1201", -"selfLink": "/api/v1/namespaces/apply", -"uid": "d8a9bd73-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": true, -"method": "apply", -"result": { -"apiVersion": "v1", -"data": { -"one": "1", -"three": "3", -"two": "2" -}, -"kind": "ConfigMap", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" -}, -"creationTimestamp": "2020-01-30T19:43:56Z", -"name": "apply-configmap", -"namespace": "apply", -"resourceVersion": "1232", -"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", -"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"method": "apply", -"result": { -"apiVersion": "v1", -"data": { -"one": "1", -"three": "3", -"two": "2" -}, -"kind": "ConfigMap", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" -}, -"creationTimestamp": "2020-01-30T19:43:56Z", -"name": "apply-configmap", -"namespace": "apply", -"resourceVersion": "1232", -"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", -"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"method": "apply", -"result": { -"apiVersion": "v1", -"data": { -"one": "1", -"three": "3", -"two": "2" -}, -"kind": "ConfigMap", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" -}, -"creationTimestamp": "2020-01-30T19:43:56Z", -"name": "apply-configmap", -"namespace": "apply", -"resourceVersion": "1232", -"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", -"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"method": "apply", -"result": { -"apiVersion": "v1", -"data": { -"one": "1", -"three": "3", -"two": "2" -}, -"kind": "ConfigMap", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"one\":\"1\",\"three\":\"3\",\"two\":\"2\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" -}, -"creationTimestamp": "2020-01-30T19:43:56Z", -"name": "apply-configmap", -"namespace": "apply", -"resourceVersion": "1232", -"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", -"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "apply", -"result": { -"apiVersion": "v1", -"data": { -"four": "4", -"one": "1", -"three": "3" -}, -"kind": "ConfigMap", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"data\":{\"four\":\"4\",\"one\":\"1\",\"three\":\"3\"},\"kind\":\"ConfigMap\",\"metadata\":{\"name\":\"apply-configmap\",\"namespace\":\"apply\"}}" -}, -"creationTimestamp": "2020-01-30T19:43:56Z", -"name": "apply-configmap", -"namespace": "apply", -"resourceVersion": "1261", -"selfLink": "/api/v1/namespaces/apply/configmaps/apply-configmap", -"uid": "da0d05c0-4398-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "apply", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app\":\"whatever\"}}}" -}, -"creationTimestamp": "2020-01-30T19:44:11Z", -"name": "apply-svc", -"namespace": "apply", -"resourceVersion": "1268", -"selfLink": "/api/v1/namespaces/apply/services/apply-svc", -"uid": "e32f841d-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.14.30", -"ports": [ -{ -"name": "http", -"port": 8080, -"protocol": "TCP", -"targetPort": 8080 -} -], -"selector": { -"app": "whatever" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -} - - - { -"changed": false, -"method": "apply", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"targetPort\":8080}],\"selector\":{\"app\":\"whatever\"}}}" -}, -"creationTimestamp": "2020-01-30T19:44:11Z", -"name": "apply-svc", -"namespace": "apply", -"resourceVersion": "1268", -"selfLink": "/api/v1/namespaces/apply/services/apply-svc", -"uid": "e32f841d-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.14.30", -"ports": [ -{ -"name": "http", -"port": 8080, -"protocol": "TCP", -"targetPort": 8080 -} -], -"selector": { -"app": "whatever" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "apply", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"annotations": { -"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"name\":\"apply-svc\",\"namespace\":\"apply\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8081,\"targetPort\":8081}],\"selector\":{\"app\":\"whatever\"}}}" -}, -"creationTimestamp": "2020-01-30T19:44:11Z", -"name": "apply-svc", -"namespace": "apply", -"resourceVersion": "1279", -"selfLink": "/api/v1/namespaces/apply/services/apply-svc", -"uid": "e32f841d-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.14.30", -"ports": [ -{ -"name": "http", -"port": 8081, -"protocol": "TCP", -"targetPort": 8081 -} -], -"selector": { -"app": "whatever" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c8,c7", -"openshift.io/sa.scc.supplemental-groups": "1000070000/10000", -"openshift.io/sa.scc.uid-range": "1000070000/10000" -}, -"creationTimestamp": "2020-01-30T19:43:53Z", -"deletionTimestamp": "2020-01-30T19:44:21Z", -"name": "apply", -"resourceVersion": "1285", -"selfLink": "/api/v1/namespaces/apply", -"uid": "d8a9bd73-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -} - - - { -"changed": false, -"include": "waiter.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/waiter.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"resources": [] -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:44:58Z", -"name": "testing", -"resourceVersion": "1362", -"selfLink": "/api/v1/namespaces/testing", -"uid": "ff662088-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { - "changed": false, - "output": { - "changed": true, - "failed": false, - "method": "create", - "result": { - "apiVersion": "v1", - "kind": "Namespace", - "metadata": { - "creationTimestamp": "2020-01-30T19:44:58Z", - "name": "testing", - "resourceVersion": "1362", - "selfLink": "/api/v1/namespaces/testing", - "uid": "ff662088-4398-11ea-abc6-0242ac110002" - }, - "spec": { - "finalizers": [ - "kubernetes" - ] - }, - "status": { - "phase": "Active" - } - } - } -} - - - { -"changed": false, -"module_stderr": "2020-01-30 19:45:01,916 WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\n2020-01-30 19:45:01,940 WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\n2020-01-30 19:45:01,956 WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /version\nTraceback (most recent call last):\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 72, in __init_cache\n self._cache = json.load(f, cls=CacheDecoder(self.client))\n File \"/usr/lib/python3.6/json/__init__.py\", line 299, in load\n parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)\n File \"/usr/lib/python3.6/json/__init__.py\", line 367, in loads\n return cls(**kw).decode(s)\nTypeError: 'CacheDecoder' object is not callable\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 672, in urlopen\n chunked=chunked,\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 376, in _make_request\n self._validate_conn(conn)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 994, in _validate_conn\n conn.connect()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connection.py\", line 360, in connect\n ssl_context=context,\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/util/ssl_.py\", line 370, in ssl_wrap_socket\n return context.wrap_socket(sock, server_hostname=server_hostname)\n File \"/usr/lib/python3.6/ssl.py\", line 407, in wrap_socket\n _context=self, _session=session)\n File \"/usr/lib/python3.6/ssl.py\", line 817, in __init__\n self.do_handshake()\n File \"/usr/lib/python3.6/ssl.py\", line 1077, in do_handshake\n self._sslobj.do_handshake()\n File \"/usr/lib/python3.6/ssl.py\", line 689, in do_handshake\n self._sslobj.do_handshake()\nssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 116, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 108, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1580413500.1297867-196837318919822/AnsiballZ_k8s.py\", line 54, in invoke_module\n runpy.run_module(mod_name='ansible_collections.community.kubernetes.plugins.modules.k8s', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/lib/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/modules/k8s.py\", line 279, in <module>\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/modules/k8s.py\", line 275, in main\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/module_utils/raw.py\", line 171, in execute_module\n File \"/tmp/ansible_k8s_payload_kir9sh5g/ansible_k8s_payload.zip/ansible_collections/community/kubernetes/plugins/module_utils/common.py\", line 200, in get_api_client\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 71, in __init__\n self.__discoverer = discoverer(self, cache_file)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 256, in __init__\n Discoverer.__init__(self, client, cache_file)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 31, in __init__\n self.__init_cache()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 77, in __init_cache\n self.invalidate_cache()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 92, in invalidate_cache\n self.__init_cache(refresh=True)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 78, in __init_cache\n self._load_server_info()\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/discovery.py\", line 158, in _load_server_info\n 'kubernetes': self.client.request('get', '/version', serializer=just_json)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 42, in inner\n resp = func(self, *args, **kwargs)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/openshift/dynamic/client.py\", line 245, in request\n _return_http_data_only=params.get('_return_http_data_only', True)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 334, in call_api\n _return_http_data_only, collection_formats, _preload_content, _request_timeout)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 168, in __call_api\n _request_timeout=_request_timeout)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/api_client.py\", line 355, in request\n headers=headers)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/rest.py\", line 231, in GET\n query_params=query_params)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/kubernetes/client/rest.py\", line 205, in request\n headers=headers)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/request.py\", line 76, in request\n method, url, fields=fields, headers=headers, **urlopen_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/request.py\", line 97, in request_encode_url\n return self.urlopen(method, url, **extra_kw)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/poolmanager.py\", line 330, in urlopen\n response = conn.urlopen(method, u.request_uri, **kw)\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 760, in urlopen\n **response_kw\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 720, in urlopen\n method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]\n File \"/tmp/ansible.cixdxil5.test/virtualenv/lib/python3.6/site-packages/urllib3/util/retry.py\", line 436, in increment\n raise MaxRetryError(_pool, url, error or ResponseError(cause))\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openshift-origin', port=8443): Max retries exceeded with url: /version (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))\n", -"module_stdout": "", -"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", -"rc": 1 -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"resources": [] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:08Z", -"labels": { -"app": "galaxy", -"service": "web" -}, -"name": "web", -"namespace": "testing", -"resourceVersion": "1404", -"selfLink": "/api/v1/namespaces/testing/services/web", -"uid": "04f95bc2-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.182.243", -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "galaxy", -"service": "web" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -} - - - { - "changed": false, - "output": { - "changed": true, - "failed": false, - "method": "create", - "result": { - "apiVersion": "v1", - "kind": "Service", - "metadata": { - "creationTimestamp": "2020-01-30T19:45:08Z", - "labels": { - "app": "galaxy", - "service": "web" - }, - "name": "web", - "namespace": "testing", - "resourceVersion": "1404", - "selfLink": "/api/v1/namespaces/testing/services/web", - "uid": "04f95bc2-4399-11ea-abc6-0242ac110002" - }, - "spec": { - "clusterIP": "172.30.182.243", - "ports": [ - { - "name": "port-8000-tcp", - "port": 8000, - "protocol": "TCP", - "targetPort": 8000 - } - ], - "selector": { - "app": "galaxy", - "service": "web" - }, - "sessionAffinity": "None", - "type": "ClusterIP" - }, - "status": { - "loadBalancer": {} - } - } - } -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:08Z", -"labels": { -"app": "galaxy", -"service": "web" -}, -"name": "web", -"namespace": "testing", -"resourceVersion": "1404", -"selfLink": "/api/v1/namespaces/testing/services/web", -"uid": "04f95bc2-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.182.243", -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "galaxy", -"service": "web" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"key": "value" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:14Z", -"name": "test-force-update", -"namespace": "testing", -"resourceVersion": "1416", -"selfLink": "/api/v1/namespaces/testing/configmaps/test-force-update", -"uid": "08f6f437-4399-11ea-abc6-0242ac110002" -} -} -} - - - { -"changed": true, -"method": "replace", -"result": { -"apiVersion": "v1", -"data": { -"key": "newvalue" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:14Z", -"name": "test-force-update", -"namespace": "testing", -"resourceVersion": "1419", -"selfLink": "/api/v1/namespaces/testing/configmaps/test-force-update", -"uid": "08f6f437-4399-11ea-abc6-0242ac110002" -} -} -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "PersistentVolumeClaim", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:19Z", -"name": "elastic-volume", -"namespace": "testing", -"resourceVersion": "1423", -"selfLink": "/api/v1/namespaces/testing/persistentvolumeclaims/elastic-volume", -"uid": "0c10f59c-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"accessModes": [ -"ReadWriteOnce" -], -"resources": { -"requests": { -"storage": "5Gi" -} -} -}, -"status": { -"phase": "Pending" -} -} -} - - - { - "changed": false, - "output": { - "changed": false, - "diff": {}, - "failed": false, - "method": "patch", - "result": { - "apiVersion": "v1", - "kind": "Service", - "metadata": { - "creationTimestamp": "2020-01-30T19:45:08Z", - "labels": { - "app": "galaxy", - "service": "web" - }, - "name": "web", - "namespace": "testing", - "resourceVersion": "1404", - "selfLink": "/api/v1/namespaces/testing/services/web", - "uid": "04f95bc2-4399-11ea-abc6-0242ac110002" - }, - "spec": { - "clusterIP": "172.30.182.243", - "ports": [ - { - "name": "port-8000-tcp", - "port": 8000, - "protocol": "TCP", - "targetPort": 8000 - } - ], - "selector": { - "app": "galaxy", - "service": "web" - }, - "sessionAffinity": "None", - "type": "ClusterIP" - }, - "status": { - "loadBalancer": {} - } - } - } -} - - - { -"changed": true, -"method": "patch", -"result": { -"apiVersion": "v1", -"kind": "PersistentVolumeClaim", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:19Z", -"name": "elastic-volume", -"namespace": "testing", -"resourceVersion": "1430", -"selfLink": "/api/v1/namespaces/testing/persistentvolumeclaims/elastic-volume", -"uid": "0c10f59c-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"accessModes": [ -"ReadWriteOnce" -], -"resources": { -"requests": { -"storage": "5Gi" -} -} -}, -"status": { -"phase": "Pending" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "extensions/v1beta1", -"kind": "Deployment", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:27Z", -"generation": 1, -"labels": { -"app": "galaxy", -"service": "elastic" -}, -"name": "elastic", -"namespace": "testing", -"resourceVersion": "1437", -"selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", -"uid": "105833f1-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"replicas": 1, -"selector": { -"matchLabels": { -"app": "galaxy", -"service": "elastic" -} -}, -"strategy": { -"rollingUpdate": { -"maxSurge": 1, -"maxUnavailable": 1 -}, -"type": "RollingUpdate" -}, -"template": { -"metadata": { -"creationTimestamp": null, -"labels": { -"app": "galaxy", -"service": "elastic" -} -}, -"spec": { -"containers": [ -{ -"command": [ -"elasticsearch" -], -"image": "ansible/galaxy-elasticsearch:2.4.6", -"imagePullPolicy": "IfNotPresent", -"name": "elastic", -"resources": {}, -"terminationMessagePath": "/dev/termination-log", -"terminationMessagePolicy": "File", -"volumeMounts": [ -{ -"mountPath": "/usr/share/elasticsearch/data", -"name": "elastic-volume" -} -] -} -], -"dnsPolicy": "ClusterFirst", -"restartPolicy": "Always", -"schedulerName": "default-scheduler", -"securityContext": {}, -"terminationGracePeriodSeconds": 30, -"volumes": [ -{ -"name": "elastic-volume", -"persistentVolumeClaim": { -"claimName": "elastic-volume" -} -} -] -} -} -}, -"status": {} -} -} - - - { - "changed": false, - "output": { - "changed": true, - "failed": false, - "method": "create", - "result": { - "apiVersion": "extensions/v1beta1", - "kind": "Deployment", - "metadata": { - "creationTimestamp": "2020-01-30T19:45:27Z", - "generation": 1, - "labels": { - "app": "galaxy", - "service": "elastic" - }, - "name": "elastic", - "namespace": "testing", - "resourceVersion": "1437", - "selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", - "uid": "105833f1-4399-11ea-abc6-0242ac110002" - }, - "spec": { - "replicas": 1, - "selector": { - "matchLabels": { - "app": "galaxy", - "service": "elastic" - } - }, - "strategy": { - "rollingUpdate": { - "maxSurge": 1, - "maxUnavailable": 1 - }, - "type": "RollingUpdate" - }, - "template": { - "metadata": { - "creationTimestamp": null, - "labels": { - "app": "galaxy", - "service": "elastic" - } - }, - "spec": { - "containers": [ - { - "command": [ - "elasticsearch" - ], - "image": "ansible/galaxy-elasticsearch:2.4.6", - "imagePullPolicy": "IfNotPresent", - "name": "elastic", - "resources": {}, - "terminationMessagePath": "/dev/termination-log", - "terminationMessagePolicy": "File", - "volumeMounts": [ - { - "mountPath": "/usr/share/elasticsearch/data", - "name": "elastic-volume" - } - ] - } - ], - "dnsPolicy": "ClusterFirst", - "restartPolicy": "Always", - "schedulerName": "default-scheduler", - "securityContext": {}, - "terminationGracePeriodSeconds": 30, - "volumes": [ - { - "name": "elastic-volume", - "persistentVolumeClaim": { - "claimName": "elastic-volume" - } - } - ] - } - } - }, - "status": {} - } - } -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "extensions/v1beta1", -"kind": "Deployment", -"metadata": { -"annotations": { -"deployment.kubernetes.io/revision": "1" -}, -"creationTimestamp": "2020-01-30T19:45:27Z", -"generation": 1, -"labels": { -"app": "galaxy", -"service": "elastic" -}, -"name": "elastic", -"namespace": "testing", -"resourceVersion": "1450", -"selfLink": "/apis/extensions/v1beta1/namespaces/testing/deployments/elastic", -"uid": "105833f1-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"replicas": 1, -"selector": { -"matchLabels": { -"app": "galaxy", -"service": "elastic" -} -}, -"strategy": { -"rollingUpdate": { -"maxSurge": 1, -"maxUnavailable": 1 -}, -"type": "RollingUpdate" -}, -"template": { -"metadata": { -"creationTimestamp": null, -"labels": { -"app": "galaxy", -"service": "elastic" -} -}, -"spec": { -"containers": [ -{ -"command": [ -"elasticsearch" -], -"image": "ansible/galaxy-elasticsearch:2.4.6", -"imagePullPolicy": "IfNotPresent", -"name": "elastic", -"resources": {}, -"terminationMessagePath": "/dev/termination-log", -"terminationMessagePolicy": "File", -"volumeMounts": [ -{ -"mountPath": "/usr/share/elasticsearch/data", -"name": "elastic-volume" -} -] -} -], -"dnsPolicy": "ClusterFirst", -"restartPolicy": "Always", -"schedulerName": "default-scheduler", -"securityContext": {}, -"terminationGracePeriodSeconds": 30, -"volumes": [ -{ -"name": "elastic-volume", -"persistentVolumeClaim": { -"claimName": "elastic-volume" -} -} -] -} -} -}, -"status": { -"conditions": [ -{ -"lastTransitionTime": "2020-01-30T19:45:27Z", -"lastUpdateTime": "2020-01-30T19:45:27Z", -"message": "Deployment has minimum availability.", -"reason": "MinimumReplicasAvailable", -"status": "True", -"type": "Available" -} -], -"observedGeneration": 1, -"replicas": 1, -"unavailableReplicas": 1, -"updatedReplicas": 1 -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { - "changed": false, - "k8s_openshift": true -} - - - { -"changed": false, -"include": "openshift.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/openshift.yml (args={} vars={}): [testhost] - - - { -"changed": true, -"method": "patch", -"result": { -"apiVersion": "v1", -"kind": "Project", -"metadata": { -"annotations": { -"openshift.io/display-name": "", -"openshift.io/sa.scc.mcs": "s0:c9,c4", -"openshift.io/sa.scc.supplemental-groups": "1000080000/10000", -"openshift.io/sa.scc.uid-range": "1000080000/10000" -}, -"creationTimestamp": "2020-01-30T19:44:58Z", -"name": "testing", -"resourceVersion": "1465", -"selfLink": "/oapi/v1/projects/testing", -"uid": "ff662088-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { - "changed": false, - "output": { - "changed": true, - "diff": { - "after": { - "metadata": { - "annotations": { - "openshift.io/display-name": "" - }, - "resourceVersion": "1465" - } - }, - "before": { - "metadata": { - "annotations": {}, - "resourceVersion": "1364" - } - } - }, - "failed": false, - "method": "patch", - "result": { - "apiVersion": "v1", - "kind": "Project", - "metadata": { - "annotations": { - "openshift.io/display-name": "", - "openshift.io/sa.scc.mcs": "s0:c9,c4", - "openshift.io/sa.scc.supplemental-groups": "1000080000/10000", - "openshift.io/sa.scc.uid-range": "1000080000/10000" - }, - "creationTimestamp": "2020-01-30T19:44:58Z", - "name": "testing", - "resourceVersion": "1465", - "selfLink": "/oapi/v1/projects/testing", - "uid": "ff662088-4398-11ea-abc6-0242ac110002" - }, - "spec": { - "finalizers": [ - "kubernetes" - ] - }, - "status": { - "phase": "Active" - } - } - } -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "DeploymentConfig", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:39Z", -"generation": 1, -"labels": { -"app": "galaxy", -"service": "elastic" -}, -"name": "elastic", -"namespace": "testing", -"resourceVersion": "1471", -"selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", -"uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"replicas": 1, -"selector": { -"app": "galaxy", -"service": "elastic" -}, -"strategy": { -"activeDeadlineSeconds": 21600, -"resources": {}, -"rollingParams": { -"intervalSeconds": 1, -"maxSurge": "25%", -"maxUnavailable": "25%", -"timeoutSeconds": 600, -"updatePeriodSeconds": 1 -}, -"type": "Rolling" -}, -"template": { -"metadata": { -"creationTimestamp": null, -"labels": { -"app": "galaxy", -"service": "elastic" -} -}, -"spec": { -"containers": [ -{ -"command": [ -"elasticsearch" -], -"image": "ansible/galaxy-elasticsearch:2.4.6", -"imagePullPolicy": "IfNotPresent", -"name": "elastic", -"resources": {}, -"terminationMessagePath": "/dev/termination-log", -"terminationMessagePolicy": "File", -"volumeMounts": [ -{ -"mountPath": "/usr/share/elasticsearch/data", -"name": "elastic-volume" -} -] -} -], -"dnsPolicy": "ClusterFirst", -"restartPolicy": "Always", -"schedulerName": "default-scheduler", -"securityContext": {}, -"terminationGracePeriodSeconds": 30, -"volumes": [ -{ -"name": "elastic-volume", -"persistentVolumeClaim": { -"claimName": "elastic-volume" -} -} -] -} -}, -"test": false, -"triggers": [ -{ -"type": "ConfigChange" -} -] -}, -"status": { -"availableReplicas": 0, -"latestVersion": 0, -"observedGeneration": 0, -"replicas": 0, -"unavailableReplicas": 0, -"updatedReplicas": 0 -} -} -} - - - { - "changed": false, - "output": { - "changed": true, - "failed": false, - "method": "create", - "result": { - "apiVersion": "v1", - "kind": "DeploymentConfig", - "metadata": { - "creationTimestamp": "2020-01-30T19:45:39Z", - "generation": 1, - "labels": { - "app": "galaxy", - "service": "elastic" - }, - "name": "elastic", - "namespace": "testing", - "resourceVersion": "1471", - "selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", - "uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" - }, - "spec": { - "replicas": 1, - "selector": { - "app": "galaxy", - "service": "elastic" - }, - "strategy": { - "activeDeadlineSeconds": 21600, - "resources": {}, - "rollingParams": { - "intervalSeconds": 1, - "maxSurge": "25%", - "maxUnavailable": "25%", - "timeoutSeconds": 600, - "updatePeriodSeconds": 1 - }, - "type": "Rolling" - }, - "template": { - "metadata": { - "creationTimestamp": null, - "labels": { - "app": "galaxy", - "service": "elastic" - } - }, - "spec": { - "containers": [ - { - "command": [ - "elasticsearch" - ], - "image": "ansible/galaxy-elasticsearch:2.4.6", - "imagePullPolicy": "IfNotPresent", - "name": "elastic", - "resources": {}, - "terminationMessagePath": "/dev/termination-log", - "terminationMessagePolicy": "File", - "volumeMounts": [ - { - "mountPath": "/usr/share/elasticsearch/data", - "name": "elastic-volume" - } - ] - } - ], - "dnsPolicy": "ClusterFirst", - "restartPolicy": "Always", - "schedulerName": "default-scheduler", - "securityContext": {}, - "terminationGracePeriodSeconds": 30, - "volumes": [ - { - "name": "elastic-volume", - "persistentVolumeClaim": { - "claimName": "elastic-volume" - } - } - ] - } - }, - "test": false, - "triggers": [ - { - "type": "ConfigChange" - } - ] - }, - "status": { - "availableReplicas": 0, - "latestVersion": 0, - "observedGeneration": 0, - "replicas": 0, - "unavailableReplicas": 0, - "updatedReplicas": 0 - } - } - } -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "v1", -"kind": "DeploymentConfig", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:39Z", -"generation": 1, -"labels": { -"app": "galaxy", -"service": "elastic" -}, -"name": "elastic", -"namespace": "testing", -"resourceVersion": "1481", -"selfLink": "/oapi/v1/namespaces/testing/deploymentconfigs/elastic", -"uid": "17e8f7c5-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"replicas": 1, -"selector": { -"app": "galaxy", -"service": "elastic" -}, -"strategy": { -"activeDeadlineSeconds": 21600, -"resources": {}, -"rollingParams": { -"intervalSeconds": 1, -"maxSurge": "25%", -"maxUnavailable": "25%", -"timeoutSeconds": 600, -"updatePeriodSeconds": 1 -}, -"type": "Rolling" -}, -"template": { -"metadata": { -"creationTimestamp": null, -"labels": { -"app": "galaxy", -"service": "elastic" -} -}, -"spec": { -"containers": [ -{ -"command": [ -"elasticsearch" -], -"image": "ansible/galaxy-elasticsearch:2.4.6", -"imagePullPolicy": "IfNotPresent", -"name": "elastic", -"resources": {}, -"terminationMessagePath": "/dev/termination-log", -"terminationMessagePolicy": "File", -"volumeMounts": [ -{ -"mountPath": "/usr/share/elasticsearch/data", -"name": "elastic-volume" -} -] -} -], -"dnsPolicy": "ClusterFirst", -"restartPolicy": "Always", -"schedulerName": "default-scheduler", -"securityContext": {}, -"terminationGracePeriodSeconds": 30, -"volumes": [ -{ -"name": "elastic-volume", -"persistentVolumeClaim": { -"claimName": "elastic-volume" -} -} -] -} -}, -"test": false, -"triggers": [ -{ -"type": "ConfigChange" -} -] -}, -"status": { -"availableReplicas": 0, -"conditions": [ -{ -"lastTransitionTime": "2020-01-30T19:45:39Z", -"lastUpdateTime": "2020-01-30T19:45:39Z", -"message": "Deployment config does not have minimum availability.", -"status": "False", -"type": "Available" -}, -{ -"lastTransitionTime": "2020-01-30T19:45:40Z", -"lastUpdateTime": "2020-01-30T19:45:40Z", -"message": "replication controller \"elastic-1\" is waiting for pod \"elastic-1-deploy\" to run", -"status": "Unknown", -"type": "Progressing" -} -], -"details": { -"causes": [ -{ -"type": "ConfigChange" -} -], -"message": "config change" -}, -"latestVersion": 1, -"observedGeneration": 1, -"replicas": 0, -"unavailableReplicas": 0, -"updatedReplicas": 0 -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:47Z", -"name": "testing1", -"resourceVersion": "1499", -"selfLink": "/api/v1/namespaces/testing1", -"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": false, -"failed_when_result": false, -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c0", -"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", -"openshift.io/sa.scc.uid-range": "1000090000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:47Z", -"name": "testing1", -"resourceVersion": "1501", -"selfLink": "/api/v1/namespaces/testing1", -"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing2", -"resourceVersion": "1532", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing3", -"resourceVersion": "1535", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing2", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing2", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c5", -"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", -"openshift.io/sa.scc.uid-range": "1000100000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing2", -"resourceVersion": "1538", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing3", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing3", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c0", -"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", -"openshift.io/sa.scc.uid-range": "1000110000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing3", -"resourceVersion": "1554", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -} -] -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing2", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing2", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c5", -"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", -"openshift.io/sa.scc.uid-range": "1000100000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing2", -"resourceVersion": "1538", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing3", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing3", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c0", -"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", -"openshift.io/sa.scc.uid-range": "1000110000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"name": "testing3", -"resourceVersion": "1554", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -"msg": "All assertions passed" -} -] -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c5", -"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", -"openshift.io/sa.scc.uid-range": "1000100000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing2", -"resourceVersion": "1597", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c0", -"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", -"openshift.io/sa.scc.uid-range": "1000110000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing3", -"resourceVersion": "1598", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing2", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing2", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c5", -"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", -"openshift.io/sa.scc.uid-range": "1000100000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing2", -"resourceVersion": "1597", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing3", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing3", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c0", -"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", -"openshift.io/sa.scc.uid-range": "1000110000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing3", -"resourceVersion": "1598", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -} -] -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing2", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing2", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c5", -"openshift.io/sa.scc.supplemental-groups": "1000100000/10000", -"openshift.io/sa.scc.uid-range": "1000100000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing2", -"resourceVersion": "1597", -"selfLink": "/api/v1/namespaces/testing2", -"uid": "200cbc61-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing3", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing3", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c0", -"openshift.io/sa.scc.supplemental-groups": "1000110000/10000", -"openshift.io/sa.scc.uid-range": "1000110000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:53Z", -"deletionTimestamp": "2020-01-30T19:45:59Z", -"name": "testing3", -"resourceVersion": "1598", -"selfLink": "/api/v1/namespaces/testing3", -"uid": "2010caff-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -"msg": "All assertions passed" -} -] -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing4", -"resourceVersion": "1613", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing5", -"resourceVersion": "1615", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing4", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing4", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c5", -"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", -"openshift.io/sa.scc.uid-range": "1000120000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing4", -"resourceVersion": "1616", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing5", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing5", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c10", -"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", -"openshift.io/sa.scc.uid-range": "1000130000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing5", -"resourceVersion": "1620", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -} -] -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing4", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing4", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c5", -"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", -"openshift.io/sa.scc.uid-range": "1000120000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing4", -"resourceVersion": "1616", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing5", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing5", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c10", -"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", -"openshift.io/sa.scc.uid-range": "1000130000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"name": "testing5", -"resourceVersion": "1620", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -}, -"msg": "All assertions passed" -} -] -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c5", -"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", -"openshift.io/sa.scc.uid-range": "1000120000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing4", -"resourceVersion": "1706", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c10", -"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", -"openshift.io/sa.scc.uid-range": "1000130000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing5", -"resourceVersion": "1707", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing4", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing4", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c5", -"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", -"openshift.io/sa.scc.uid-range": "1000120000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing4", -"resourceVersion": "1706", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing5", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing5", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c10", -"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", -"openshift.io/sa.scc.uid-range": "1000130000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing5", -"resourceVersion": "1707", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -} -] -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing4", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing4", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c5", -"openshift.io/sa.scc.supplemental-groups": "1000120000/10000", -"openshift.io/sa.scc.uid-range": "1000120000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing4", -"resourceVersion": "1706", -"selfLink": "/api/v1/namespaces/testing4", -"uid": "265c7f52-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Namespace", -"kubeconfig": null, -"label_selectors": [], -"name": "testing5", -"namespace": null, -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": "testing5", -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c11,c10", -"openshift.io/sa.scc.supplemental-groups": "1000130000/10000", -"openshift.io/sa.scc.uid-range": "1000130000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:04Z", -"deletionTimestamp": "2020-01-30T19:46:09Z", -"name": "testing5", -"resourceVersion": "1707", -"selfLink": "/api/v1/namespaces/testing5", -"uid": "265e861d-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -] -}, -"msg": "All assertions passed" -} -] -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:15Z", -"name": "testing6", -"resourceVersion": "1746", -"selfLink": "/api/v1/namespaces/testing6", -"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": false, -"failed_when_result": false, -"resources": [ -{ -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c12,c4", -"openshift.io/sa.scc.supplemental-groups": "1000140000/10000", -"openshift.io/sa.scc.uid-range": "1000140000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:15Z", -"name": "testing6", -"resourceVersion": "1752", -"selfLink": "/api/v1/namespaces/testing6", -"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -] -} - - - { -"changed": false, -"include": "crd.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/crd.yml (args={} vars={}): [testhost] - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:19Z", -"name": "crd", -"resourceVersion": "1797", -"selfLink": "/api/v1/namespaces/crd", -"uid": "2f989e98-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "apiextensions.k8s.io/v1beta1", -"kind": "CustomResourceDefinition", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:21Z", -"generation": 1, -"name": "certificates.certmanager.k8s.io", -"resourceVersion": "1827", -"selfLink": "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io", -"uid": "3098b601-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"group": "certmanager.k8s.io", -"names": { -"kind": "Certificate", -"listKind": "CertificateList", -"plural": "certificates", -"shortNames": [ -"cert", -"certs" -], -"singular": "certificate" -}, -"scope": "Namespaced", -"version": "v1alpha1" -}, -"status": { -"acceptedNames": { -"kind": "", -"plural": "" -}, -"conditions": null -} -} -} - - - { -"changed": false, -"delta": 5, -"echo": true, -"rc": 0, -"start": "2020-01-30 19:46:21.448036", -"stderr": "", -"stdout": "Paused for 5.0 seconds", -"stop": "2020-01-30 19:46:26.448443", -"user_input": "" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "certmanager.k8s.io/v1alpha1", -"kind": "Certificate", -"metadata": { -"clusterName": "", -"creationTimestamp": "2020-01-30T19:46:27Z", -"name": "acme-crt", -"namespace": "crd", -"resourceVersion": "1840", -"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", -"uid": "34974484-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"acme": { -"config": [ -{ -"domains": [ -"foo.example.com", -"bar.example.com" -], -"ingressClass": "nginx" -} -] -}, -"dnsNames": [ -"foo.example.com", -"bar.example.com" -], -"issuerRef": { -"kind": "Issuer", -"name": "letsencrypt-prod" -}, -"secretName": "acme-crt-secret" -} -} -} - - - { -"changed": true, -"method": "patch", -"result": { -"apiVersion": "certmanager.k8s.io/v1alpha1", -"kind": "Certificate", -"metadata": { -"clusterName": "", -"creationTimestamp": "2020-01-30T19:46:27Z", -"generation": 0, -"name": "acme-crt", -"namespace": "crd", -"resourceVersion": "1842", -"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", -"uid": "34974484-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"acme": { -"config": [ -{ -"domains": [ -"foo.example.com", -"bar.example.com" -], -"ingressClass": "nginx" -} -] -}, -"dnsNames": [ -"foo.example.com", -"bar.example.com" -], -"issuerRef": { -"kind": "Issuer", -"name": "letsencrypt-prod" -}, -"secretName": "acme-crt-secret" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "certmanager.k8s.io/v1alpha1", -"kind": "Certificate", -"metadata": { -"clusterName": "", -"creationTimestamp": "2020-01-30T19:46:27Z", -"generation": 0, -"name": "acme-crt", -"namespace": "crd", -"resourceVersion": "1842", -"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", -"uid": "34974484-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"acme": { -"config": [ -{ -"domains": [ -"foo.example.com", -"bar.example.com" -], -"ingressClass": "nginx" -} -] -}, -"dnsNames": [ -"foo.example.com", -"bar.example.com" -], -"issuerRef": { -"kind": "Issuer", -"name": "letsencrypt-prod" -}, -"secretName": "acme-crt-secret" -} -} -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "certmanager.k8s.io/v1alpha1", -"kind": "Certificate", -"metadata": { -"clusterName": "", -"creationTimestamp": "2020-01-30T19:46:27Z", -"generation": 0, -"name": "acme-crt", -"namespace": "crd", -"resourceVersion": "1842", -"selfLink": "/apis/certmanager.k8s.io/v1alpha1/namespaces/crd/certificates/acme-crt", -"uid": "34974484-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"acme": { -"config": [ -{ -"domains": [ -"foo.example.com", -"bar.example.com" -], -"ingressClass": "nginx" -} -] -}, -"dnsNames": [ -"foo.example.com", -"bar.example.com" -], -"issuerRef": { -"kind": "Issuer", -"name": "letsencrypt-prod" -}, -"secretName": "acme-crt-secret" -} -} -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"group": "certmanager.k8s.io", -"kind": "certificates", -"name": "acme-crt", -"uid": "34974484-4399-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -} -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c12,c9", -"openshift.io/sa.scc.supplemental-groups": "1000150000/10000", -"openshift.io/sa.scc.uid-range": "1000150000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:19Z", -"deletionTimestamp": "2020-01-30T19:46:37Z", -"name": "crd", -"resourceVersion": "1858", -"selfLink": "/api/v1/namespaces/crd", -"uid": "2f989e98-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -} - - - { -"changed": false, -"include": "lists.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/lists.yml (args={} vars={}): [testhost] - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c0", -"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", -"openshift.io/sa.scc.uid-range": "1000090000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:47Z", -"name": "testing1", -"resourceVersion": "1501", -"selfLink": "/api/v1/namespaces/testing1", -"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"a": "first" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-1", -"namespace": "testing1", -"resourceVersion": "1864", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", -"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"a": "second" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-2", -"namespace": "testing1", -"resourceVersion": "1865", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", -"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"a": "third" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-3", -"namespace": "testing1", -"resourceVersion": "1866", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", -"uid": "3c70700a-4399-11ea-abc6-0242ac110002" -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"resources": [ -{ -"apiVersion": "v1", -"data": { -"a": "first" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-1", -"namespace": "testing1", -"resourceVersion": "1864", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", -"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" -} -}, -{ -"apiVersion": "v1", -"data": { -"a": "second" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-2", -"namespace": "testing1", -"resourceVersion": "1865", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", -"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" -} -}, -{ -"apiVersion": "v1", -"data": { -"a": "third" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-3", -"namespace": "testing1", -"resourceVersion": "1866", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", -"uid": "3c70700a-4399-11ea-abc6-0242ac110002" -} -} -] -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"apiVersion": "v1", -"data": { -"a": "first" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-1", -"namespace": "testing1", -"resourceVersion": "1864", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-1", -"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" -} -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"apiVersion": "v1", -"data": { -"a": "second" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-2", -"namespace": "testing1", -"resourceVersion": "1865", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-2", -"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" -} -}, -"msg": "All assertions passed" -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"item": { -"apiVersion": "v1", -"data": { -"a": "third" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:41Z", -"labels": { -"app": "test" -}, -"name": "list-example-3", -"namespace": "testing1", -"resourceVersion": "1866", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-3", -"uid": "3c70700a-4399-11ea-abc6-0242ac110002" -} -}, -"msg": "All assertions passed" -} -] -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"kind": "configmaps", -"name": "list-example-1", -"uid": "3c6c7bef-4399-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"kind": "configmaps", -"name": "list-example-2", -"uid": "3c6e9f6b-4399-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"kind": "configmaps", -"name": "list-example-3", -"uid": "3c70700a-4399-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"resources": [] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"key": "value" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:49Z", -"name": "list-example-4", -"namespace": "testing1", -"resourceVersion": "1905", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-4", -"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:49Z", -"labels": { -"app": "test" -}, -"name": "list-example-svc", -"namespace": "testing1", -"resourceVersion": "1907", -"selfLink": "/api/v1/namespaces/testing1/services/list-example-svc", -"uid": "41ac301c-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.186.254", -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "test" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "ConfigMap", -"kubeconfig": null, -"label_selectors": [], -"name": "list-example-4", -"namespace": "testing1", -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": { -"apiVersion": "v1", -"data": { -"key": "value" -}, -"kind": "ConfigMap", -"metadata": { -"name": "list-example-4" -} -}, -"resources": [ -{ -"apiVersion": "v1", -"data": { -"key": "value" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:49Z", -"name": "list-example-4", -"namespace": "testing1", -"resourceVersion": "1905", -"selfLink": "/api/v1/namespaces/testing1/configmaps/list-example-4", -"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" -} -} -] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Service", -"kubeconfig": null, -"label_selectors": [], -"name": "list-example-svc", -"namespace": "testing1", -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"labels": { -"app": "test" -}, -"name": "list-example-svc" -}, -"spec": { -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "test" -} -} -}, -"resources": [ -{ -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"creationTimestamp": "2020-01-30T19:46:49Z", -"labels": { -"app": "test" -}, -"name": "list-example-svc", -"namespace": "testing1", -"resourceVersion": "1907", -"selfLink": "/api/v1/namespaces/testing1/services/list-example-svc", -"uid": "41ac301c-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"clusterIP": "172.30.186.254", -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "test" -}, -"sessionAffinity": "None", -"type": "ClusterIP" -}, -"status": { -"loadBalancer": {} -} -} -] -} -] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"details": { -"kind": "configmaps", -"name": "list-example-4", -"uid": "41a9dbb1-4399-11ea-abc6-0242ac110002" -}, -"kind": "Status", -"metadata": {}, -"status": "Success" -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Status", -"metadata": {}, -"status": "Success" -}, -"warnings": [] -} -] -} -} - - - { -"changed": false, -"msg": "All items completed", -"results": [ -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "ConfigMap", -"kubeconfig": null, -"label_selectors": [], -"name": "list-example-4", -"namespace": "testing1", -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": { -"apiVersion": "v1", -"data": { -"key": "value" -}, -"kind": "ConfigMap", -"metadata": { -"name": "list-example-4" -} -}, -"resources": [] -}, -{ -"ansible_loop_var": "item", -"changed": false, -"failed": false, -"invocation": { -"module_args": { -"api_key": null, -"api_version": "v1", -"ca_cert": null, -"client_cert": null, -"client_key": null, -"context": null, -"field_selectors": [], -"host": null, -"kind": "Service", -"kubeconfig": null, -"label_selectors": [], -"name": "list-example-svc", -"namespace": "testing1", -"password": null, -"proxy": null, -"username": null, -"validate_certs": null -} -}, -"item": { -"apiVersion": "v1", -"kind": "Service", -"metadata": { -"labels": { -"app": "test" -}, -"name": "list-example-svc" -}, -"spec": { -"ports": [ -{ -"name": "port-8000-tcp", -"port": 8000, -"protocol": "TCP", -"targetPort": 8000 -} -], -"selector": { -"app": "test" -} -} -}, -"resources": [] -} -] -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"include": "append_hash.yml", -"include_args": {} -} - - - /root/ansible/ansible_collections/community/kubernetes/tests/output/.tmp/integration/kubernetes-x12ifq4y-ÅÑŚÌβŁÈ/tests/integration/targets/kubernetes/tasks/append_hash.yml (args={} vars={}): [testhost] - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"creationTimestamp": "2020-01-30T19:47:01Z", -"name": "append-hash", -"resourceVersion": "1929", -"selfLink": "/api/v1/namespaces/append-hash", -"uid": "484a0d69-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Active" -} -} -} - - - { -"ansible_facts": { -"k8s_resource": { -"apiVersion": "v1", -"data": { -"hello": "world" -}, -"kind": "ConfigMap", -"metadata": { -"name": "config-map-test", -"namespace": "append-hash" -} -} -}, -"changed": false -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"hello": "world" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:47:03Z", -"name": "config-map-test-5khcd6g5kk", -"namespace": "append-hash", -"resourceVersion": "1962", -"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-5khcd6g5kk", -"uid": "497bcd9d-4399-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": false, -"method": "patch", -"result": { -"apiVersion": "v1", -"data": { -"hello": "world" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:47:03Z", -"name": "config-map-test-5khcd6g5kk", -"namespace": "append-hash", -"resourceVersion": "1962", -"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-5khcd6g5kk", -"uid": "497bcd9d-4399-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "create", -"result": { -"apiVersion": "v1", -"data": { -"another": "value", -"hello": "world" -}, -"kind": "ConfigMap", -"metadata": { -"creationTimestamp": "2020-01-30T19:47:08Z", -"name": "config-map-test-25mggh69bh", -"namespace": "append-hash", -"resourceVersion": "1971", -"selfLink": "/api/v1/namespaces/append-hash/configmaps/config-map-test-25mggh69bh", -"uid": "4d017708-4399-11ea-abc6-0242ac110002" -} -} -} - - - { - "changed": false, - "msg": "All assertions passed" -} - - - { -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c13,c2", -"openshift.io/sa.scc.supplemental-groups": "1000160000/10000", -"openshift.io/sa.scc.uid-range": "1000160000/10000" -}, -"creationTimestamp": "2020-01-30T19:47:01Z", -"deletionTimestamp": "2020-01-30T19:47:11Z", -"name": "append-hash", -"resourceVersion": "1974", -"selfLink": "/api/v1/namespaces/append-hash", -"uid": "484a0d69-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -} -} - - - { -"changed": true, -"result": { -"results": [ -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/display-name": "", -"openshift.io/sa.scc.mcs": "s0:c9,c4", -"openshift.io/sa.scc.supplemental-groups": "1000080000/10000", -"openshift.io/sa.scc.uid-range": "1000080000/10000" -}, -"creationTimestamp": "2020-01-30T19:44:58Z", -"deletionTimestamp": "2020-01-30T19:47:13Z", -"name": "testing", -"resourceVersion": "1978", -"selfLink": "/api/v1/namespaces/testing", -"uid": "ff662088-4398-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes", -"openshift.io/origin" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c10,c0", -"openshift.io/sa.scc.supplemental-groups": "1000090000/10000", -"openshift.io/sa.scc.uid-range": "1000090000/10000" -}, -"creationTimestamp": "2020-01-30T19:45:47Z", -"deletionTimestamp": "2020-01-30T19:47:13Z", -"name": "testing1", -"resourceVersion": "1980", -"selfLink": "/api/v1/namespaces/testing1", -"uid": "1cbdc7ee-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -}, -{ -"changed": false, -"method": "delete", -"result": {}, -"warnings": [] -}, -{ -"changed": false, -"method": "delete", -"result": {}, -"warnings": [] -}, -{ -"changed": false, -"method": "delete", -"result": {}, -"warnings": [] -}, -{ -"changed": false, -"method": "delete", -"result": {}, -"warnings": [] -}, -{ -"changed": true, -"method": "delete", -"result": { -"apiVersion": "v1", -"kind": "Namespace", -"metadata": { -"annotations": { -"openshift.io/sa.scc.mcs": "s0:c12,c4", -"openshift.io/sa.scc.supplemental-groups": "1000140000/10000", -"openshift.io/sa.scc.uid-range": "1000140000/10000" -}, -"creationTimestamp": "2020-01-30T19:46:15Z", -"deletionTimestamp": "2020-01-30T19:47:13Z", -"name": "testing6", -"resourceVersion": "1981", -"selfLink": "/api/v1/namespaces/testing6", -"uid": "2d5d11a0-4399-11ea-abc6-0242ac110002" -}, -"spec": { -"finalizers": [ -"kubernetes" -] -}, -"status": { -"phase": "Terminating" -} -}, -"warnings": [] -} -] -} -} - - - { -"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", -"changed": true -} - - - { -"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", -"changed": true -} - - - diff --git a/tests/sanity/ignore.txt b/tests/sanity/ignore.txt index e9685fce..b06b72bd 100644 --- a/tests/sanity/ignore.txt +++ b/tests/sanity/ignore.txt @@ -1,2161 +1,6 @@ -contrib/inventory/abiquo.py future-import-boilerplate -contrib/inventory/abiquo.py metaclass-boilerplate -contrib/inventory/apache-libcloud.py future-import-boilerplate -contrib/inventory/apache-libcloud.py metaclass-boilerplate -contrib/inventory/apstra_aos.py future-import-boilerplate -contrib/inventory/apstra_aos.py metaclass-boilerplate -contrib/inventory/azure_rm.py future-import-boilerplate -contrib/inventory/azure_rm.py metaclass-boilerplate -contrib/inventory/brook.py future-import-boilerplate -contrib/inventory/brook.py metaclass-boilerplate -contrib/inventory/cloudforms.py future-import-boilerplate -contrib/inventory/cloudforms.py metaclass-boilerplate -contrib/inventory/cloudstack.py future-import-boilerplate -contrib/inventory/cloudstack.py metaclass-boilerplate -contrib/inventory/cobbler.py future-import-boilerplate -contrib/inventory/cobbler.py metaclass-boilerplate -contrib/inventory/collins.py future-import-boilerplate -contrib/inventory/collins.py metaclass-boilerplate -contrib/inventory/consul_io.py future-import-boilerplate -contrib/inventory/consul_io.py metaclass-boilerplate -contrib/inventory/digital_ocean.py future-import-boilerplate -contrib/inventory/digital_ocean.py metaclass-boilerplate -contrib/inventory/ec2.py future-import-boilerplate -contrib/inventory/ec2.py metaclass-boilerplate -contrib/inventory/fleet.py future-import-boilerplate -contrib/inventory/fleet.py metaclass-boilerplate -contrib/inventory/foreman.py future-import-boilerplate -contrib/inventory/foreman.py metaclass-boilerplate -contrib/inventory/freeipa.py future-import-boilerplate -contrib/inventory/freeipa.py metaclass-boilerplate -contrib/inventory/gce.py future-import-boilerplate -contrib/inventory/gce.py metaclass-boilerplate -contrib/inventory/gce.py pylint:blacklisted-name -contrib/inventory/infoblox.py future-import-boilerplate -contrib/inventory/infoblox.py metaclass-boilerplate -contrib/inventory/jail.py future-import-boilerplate -contrib/inventory/jail.py metaclass-boilerplate -contrib/inventory/landscape.py future-import-boilerplate -contrib/inventory/landscape.py metaclass-boilerplate -contrib/inventory/libvirt_lxc.py future-import-boilerplate -contrib/inventory/libvirt_lxc.py metaclass-boilerplate -contrib/inventory/linode.py future-import-boilerplate -contrib/inventory/linode.py metaclass-boilerplate -contrib/inventory/lxc_inventory.py future-import-boilerplate -contrib/inventory/lxc_inventory.py metaclass-boilerplate -contrib/inventory/lxd.py future-import-boilerplate -contrib/inventory/lxd.py metaclass-boilerplate -contrib/inventory/mdt_dynamic_inventory.py future-import-boilerplate -contrib/inventory/mdt_dynamic_inventory.py metaclass-boilerplate -contrib/inventory/nagios_livestatus.py future-import-boilerplate -contrib/inventory/nagios_livestatus.py metaclass-boilerplate -contrib/inventory/nagios_ndo.py future-import-boilerplate -contrib/inventory/nagios_ndo.py metaclass-boilerplate -contrib/inventory/nsot.py future-import-boilerplate -contrib/inventory/nsot.py metaclass-boilerplate -contrib/inventory/openshift.py future-import-boilerplate -contrib/inventory/openshift.py metaclass-boilerplate -contrib/inventory/openstack_inventory.py future-import-boilerplate -contrib/inventory/openstack_inventory.py metaclass-boilerplate -contrib/inventory/openvz.py future-import-boilerplate -contrib/inventory/openvz.py metaclass-boilerplate -contrib/inventory/ovirt.py future-import-boilerplate -contrib/inventory/ovirt.py metaclass-boilerplate -contrib/inventory/ovirt4.py future-import-boilerplate -contrib/inventory/ovirt4.py metaclass-boilerplate -contrib/inventory/packet_net.py future-import-boilerplate -contrib/inventory/packet_net.py metaclass-boilerplate -contrib/inventory/proxmox.py future-import-boilerplate -contrib/inventory/proxmox.py metaclass-boilerplate -contrib/inventory/rackhd.py future-import-boilerplate -contrib/inventory/rackhd.py metaclass-boilerplate -contrib/inventory/rax.py future-import-boilerplate -contrib/inventory/rax.py metaclass-boilerplate -contrib/inventory/rudder.py future-import-boilerplate -contrib/inventory/rudder.py metaclass-boilerplate -contrib/inventory/scaleway.py future-import-boilerplate -contrib/inventory/scaleway.py metaclass-boilerplate -contrib/inventory/serf.py future-import-boilerplate -contrib/inventory/serf.py metaclass-boilerplate -contrib/inventory/softlayer.py future-import-boilerplate -contrib/inventory/softlayer.py metaclass-boilerplate -contrib/inventory/spacewalk.py future-import-boilerplate -contrib/inventory/spacewalk.py metaclass-boilerplate -contrib/inventory/ssh_config.py future-import-boilerplate -contrib/inventory/ssh_config.py metaclass-boilerplate -contrib/inventory/stacki.py future-import-boilerplate -contrib/inventory/stacki.py metaclass-boilerplate -contrib/inventory/vagrant.py future-import-boilerplate -contrib/inventory/vagrant.py metaclass-boilerplate -contrib/inventory/vbox.py future-import-boilerplate -contrib/inventory/vbox.py metaclass-boilerplate -contrib/inventory/vmware.py future-import-boilerplate -contrib/inventory/vmware.py metaclass-boilerplate -contrib/inventory/vmware_inventory.py future-import-boilerplate -contrib/inventory/vmware_inventory.py metaclass-boilerplate -contrib/inventory/zabbix.py future-import-boilerplate -contrib/inventory/zabbix.py metaclass-boilerplate -contrib/inventory/zone.py future-import-boilerplate -contrib/inventory/zone.py metaclass-boilerplate -contrib/vault/azure_vault.py future-import-boilerplate -contrib/vault/azure_vault.py metaclass-boilerplate -contrib/vault/vault-keyring-client.py future-import-boilerplate -contrib/vault/vault-keyring-client.py metaclass-boilerplate -contrib/vault/vault-keyring.py future-import-boilerplate -contrib/vault/vault-keyring.py metaclass-boilerplate -docs/bin/find-plugin-refs.py future-import-boilerplate -docs/bin/find-plugin-refs.py metaclass-boilerplate -docs/docsite/_extensions/pygments_lexer.py future-import-boilerplate -docs/docsite/_extensions/pygments_lexer.py metaclass-boilerplate -docs/docsite/_themes/sphinx_rtd_theme/__init__.py future-import-boilerplate -docs/docsite/_themes/sphinx_rtd_theme/__init__.py metaclass-boilerplate -docs/docsite/rst/conf.py future-import-boilerplate -docs/docsite/rst/conf.py metaclass-boilerplate -docs/docsite/rst/dev_guide/testing/sanity/no-smart-quotes.rst no-smart-quotes -examples/scripts/ConfigureRemotingForAnsible.ps1 pslint:PSCustomUseLiteralPath -examples/scripts/upgrade_to_ps3.ps1 pslint:PSCustomUseLiteralPath -examples/scripts/upgrade_to_ps3.ps1 pslint:PSUseApprovedVerbs -examples/scripts/uptime.py future-import-boilerplate -examples/scripts/uptime.py metaclass-boilerplate -hacking/aws_config/build_iam_policy_framework.py future-import-boilerplate -hacking/aws_config/build_iam_policy_framework.py metaclass-boilerplate -hacking/build-ansible.py shebang # only run by release engineers, Python 3.6+ required -hacking/build_library/build_ansible/announce.py compile-2.6!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/announce.py compile-2.7!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/announce.py compile-3.5!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/dump_config.py compile-2.6!skip # docs build only, 2.7+ required -hacking/build_library/build_ansible/command_plugins/dump_keywords.py compile-2.6!skip # docs build only, 2.7+ required -hacking/build_library/build_ansible/command_plugins/generate_man.py compile-2.6!skip # docs build only, 2.7+ required -hacking/build_library/build_ansible/command_plugins/plugin_formatter.py compile-2.6!skip # docs build only, 2.7+ required -hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-2.6!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-2.7!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/porting_guide.py compile-3.5!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-2.6!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-2.7!skip # release process only, 3.6+ required -hacking/build_library/build_ansible/command_plugins/release_announcement.py compile-3.5!skip # release process only, 3.6+ required -hacking/create_deprecated_issues.py future-import-boilerplate -hacking/create_deprecated_issues.py metaclass-boilerplate -hacking/fix_test_syntax.py future-import-boilerplate -hacking/fix_test_syntax.py metaclass-boilerplate -hacking/get_library.py future-import-boilerplate -hacking/get_library.py metaclass-boilerplate -hacking/report.py future-import-boilerplate -hacking/report.py metaclass-boilerplate -hacking/return_skeleton_generator.py future-import-boilerplate -hacking/return_skeleton_generator.py metaclass-boilerplate -hacking/test-module.py future-import-boilerplate -hacking/test-module.py metaclass-boilerplate -hacking/tests/gen_distribution_version_testcase.py future-import-boilerplate -hacking/tests/gen_distribution_version_testcase.py metaclass-boilerplate -lib/ansible/cli/console.py pylint:blacklisted-name -lib/ansible/cli/scripts/ansible_cli_stub.py shebang -lib/ansible/cli/scripts/ansible_connection_cli_stub.py shebang -lib/ansible/compat/selectors/_selectors2.py future-import-boilerplate # ignore bundled -lib/ansible/compat/selectors/_selectors2.py metaclass-boilerplate # ignore bundled -lib/ansible/compat/selectors/_selectors2.py pylint:blacklisted-name -lib/ansible/config/base.yml no-unwanted-files -lib/ansible/config/module_defaults.yml no-unwanted-files -lib/ansible/executor/playbook_executor.py pylint:blacklisted-name -lib/ansible/executor/powershell/async_watchdog.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/executor/powershell/async_wrapper.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/executor/powershell/exec_wrapper.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/executor/task_queue_manager.py pylint:blacklisted-name -lib/ansible/module_utils/_text.py future-import-boilerplate -lib/ansible/module_utils/_text.py metaclass-boilerplate -lib/ansible/module_utils/alicloud_ecs.py future-import-boilerplate -lib/ansible/module_utils/alicloud_ecs.py metaclass-boilerplate -lib/ansible/module_utils/ansible_tower.py future-import-boilerplate -lib/ansible/module_utils/ansible_tower.py metaclass-boilerplate -lib/ansible/module_utils/api.py future-import-boilerplate -lib/ansible/module_utils/api.py metaclass-boilerplate -lib/ansible/module_utils/aws/batch.py future-import-boilerplate -lib/ansible/module_utils/aws/batch.py metaclass-boilerplate -lib/ansible/module_utils/aws/cloudfront_facts.py future-import-boilerplate -lib/ansible/module_utils/aws/cloudfront_facts.py metaclass-boilerplate -lib/ansible/module_utils/aws/core.py future-import-boilerplate -lib/ansible/module_utils/aws/core.py metaclass-boilerplate -lib/ansible/module_utils/aws/direct_connect.py future-import-boilerplate -lib/ansible/module_utils/aws/direct_connect.py metaclass-boilerplate -lib/ansible/module_utils/aws/elb_utils.py future-import-boilerplate -lib/ansible/module_utils/aws/elb_utils.py metaclass-boilerplate -lib/ansible/module_utils/aws/elbv2.py future-import-boilerplate -lib/ansible/module_utils/aws/elbv2.py metaclass-boilerplate -lib/ansible/module_utils/aws/iam.py future-import-boilerplate -lib/ansible/module_utils/aws/iam.py metaclass-boilerplate -lib/ansible/module_utils/aws/rds.py future-import-boilerplate -lib/ansible/module_utils/aws/rds.py metaclass-boilerplate -lib/ansible/module_utils/aws/s3.py future-import-boilerplate -lib/ansible/module_utils/aws/s3.py metaclass-boilerplate -lib/ansible/module_utils/aws/urls.py future-import-boilerplate -lib/ansible/module_utils/aws/urls.py metaclass-boilerplate -lib/ansible/module_utils/aws/waf.py future-import-boilerplate -lib/ansible/module_utils/aws/waf.py metaclass-boilerplate -lib/ansible/module_utils/aws/waiters.py future-import-boilerplate -lib/ansible/module_utils/aws/waiters.py metaclass-boilerplate -lib/ansible/module_utils/azure_rm_common.py future-import-boilerplate -lib/ansible/module_utils/azure_rm_common.py metaclass-boilerplate -lib/ansible/module_utils/azure_rm_common_ext.py future-import-boilerplate -lib/ansible/module_utils/azure_rm_common_ext.py metaclass-boilerplate -lib/ansible/module_utils/azure_rm_common_rest.py future-import-boilerplate -lib/ansible/module_utils/azure_rm_common_rest.py metaclass-boilerplate -lib/ansible/module_utils/basic.py metaclass-boilerplate -lib/ansible/module_utils/cloud.py future-import-boilerplate -lib/ansible/module_utils/cloud.py metaclass-boilerplate -lib/ansible/module_utils/common/network.py future-import-boilerplate -lib/ansible/module_utils/common/network.py metaclass-boilerplate -lib/ansible/module_utils/compat/ipaddress.py future-import-boilerplate -lib/ansible/module_utils/compat/ipaddress.py metaclass-boilerplate -lib/ansible/module_utils/compat/ipaddress.py no-assert -lib/ansible/module_utils/compat/ipaddress.py no-unicode-literals -lib/ansible/module_utils/connection.py future-import-boilerplate -lib/ansible/module_utils/connection.py metaclass-boilerplate -lib/ansible/module_utils/database.py future-import-boilerplate -lib/ansible/module_utils/database.py metaclass-boilerplate -lib/ansible/module_utils/digital_ocean.py future-import-boilerplate -lib/ansible/module_utils/digital_ocean.py metaclass-boilerplate -lib/ansible/module_utils/dimensiondata.py future-import-boilerplate -lib/ansible/module_utils/dimensiondata.py metaclass-boilerplate -lib/ansible/module_utils/distro/__init__.py empty-init # breaks namespacing, bundled, do not override -lib/ansible/module_utils/distro/_distro.py future-import-boilerplate # ignore bundled -lib/ansible/module_utils/distro/_distro.py metaclass-boilerplate # ignore bundled -lib/ansible/module_utils/distro/_distro.py no-assert -lib/ansible/module_utils/distro/_distro.py pep8!skip # bundled code we don't want to modify -lib/ansible/module_utils/ec2.py future-import-boilerplate -lib/ansible/module_utils/ec2.py metaclass-boilerplate -lib/ansible/module_utils/exoscale.py future-import-boilerplate -lib/ansible/module_utils/exoscale.py metaclass-boilerplate -lib/ansible/module_utils/f5_utils.py future-import-boilerplate -lib/ansible/module_utils/f5_utils.py metaclass-boilerplate -lib/ansible/module_utils/facts/__init__.py empty-init # breaks namespacing, deprecate and eventually remove -lib/ansible/module_utils/facts/network/linux.py pylint:blacklisted-name -lib/ansible/module_utils/facts/sysctl.py future-import-boilerplate -lib/ansible/module_utils/facts/sysctl.py metaclass-boilerplate -lib/ansible/module_utils/facts/utils.py future-import-boilerplate -lib/ansible/module_utils/facts/utils.py metaclass-boilerplate -lib/ansible/module_utils/firewalld.py future-import-boilerplate -lib/ansible/module_utils/firewalld.py metaclass-boilerplate -lib/ansible/module_utils/gcdns.py future-import-boilerplate -lib/ansible/module_utils/gcdns.py metaclass-boilerplate -lib/ansible/module_utils/gce.py future-import-boilerplate -lib/ansible/module_utils/gce.py metaclass-boilerplate -lib/ansible/module_utils/gcp.py future-import-boilerplate -lib/ansible/module_utils/gcp.py metaclass-boilerplate -lib/ansible/module_utils/gcp_utils.py future-import-boilerplate -lib/ansible/module_utils/gcp_utils.py metaclass-boilerplate -lib/ansible/module_utils/gitlab.py future-import-boilerplate -lib/ansible/module_utils/gitlab.py metaclass-boilerplate -lib/ansible/module_utils/hwc_utils.py future-import-boilerplate -lib/ansible/module_utils/hwc_utils.py metaclass-boilerplate -lib/ansible/module_utils/infinibox.py future-import-boilerplate -lib/ansible/module_utils/infinibox.py metaclass-boilerplate -lib/ansible/module_utils/ipa.py future-import-boilerplate -lib/ansible/module_utils/ipa.py metaclass-boilerplate -lib/ansible/module_utils/ismount.py future-import-boilerplate -lib/ansible/module_utils/ismount.py metaclass-boilerplate -lib/ansible/module_utils/json_utils.py future-import-boilerplate -lib/ansible/module_utils/json_utils.py metaclass-boilerplate lib/ansible/module_utils/k8s/common.py metaclass-boilerplate lib/ansible/module_utils/k8s/raw.py metaclass-boilerplate lib/ansible/module_utils/k8s/scale.py metaclass-boilerplate -lib/ansible/module_utils/known_hosts.py future-import-boilerplate -lib/ansible/module_utils/known_hosts.py metaclass-boilerplate -lib/ansible/module_utils/kubevirt.py future-import-boilerplate -lib/ansible/module_utils/kubevirt.py metaclass-boilerplate -lib/ansible/module_utils/linode.py future-import-boilerplate -lib/ansible/module_utils/linode.py metaclass-boilerplate -lib/ansible/module_utils/lxd.py future-import-boilerplate -lib/ansible/module_utils/lxd.py metaclass-boilerplate -lib/ansible/module_utils/manageiq.py future-import-boilerplate -lib/ansible/module_utils/manageiq.py metaclass-boilerplate -lib/ansible/module_utils/memset.py future-import-boilerplate -lib/ansible/module_utils/memset.py metaclass-boilerplate -lib/ansible/module_utils/mysql.py future-import-boilerplate -lib/ansible/module_utils/mysql.py metaclass-boilerplate -lib/ansible/module_utils/net_tools/netbox/netbox_utils.py future-import-boilerplate -lib/ansible/module_utils/net_tools/nios/api.py future-import-boilerplate -lib/ansible/module_utils/net_tools/nios/api.py metaclass-boilerplate -lib/ansible/module_utils/netapp.py future-import-boilerplate -lib/ansible/module_utils/netapp.py metaclass-boilerplate -lib/ansible/module_utils/netapp_elementsw_module.py future-import-boilerplate -lib/ansible/module_utils/netapp_elementsw_module.py metaclass-boilerplate -lib/ansible/module_utils/netapp_module.py future-import-boilerplate -lib/ansible/module_utils/netapp_module.py metaclass-boilerplate -lib/ansible/module_utils/network/a10/a10.py future-import-boilerplate -lib/ansible/module_utils/network/a10/a10.py metaclass-boilerplate -lib/ansible/module_utils/network/aci/aci.py future-import-boilerplate -lib/ansible/module_utils/network/aci/aci.py metaclass-boilerplate -lib/ansible/module_utils/network/aci/mso.py future-import-boilerplate -lib/ansible/module_utils/network/aci/mso.py metaclass-boilerplate -lib/ansible/module_utils/network/aireos/aireos.py future-import-boilerplate -lib/ansible/module_utils/network/aireos/aireos.py metaclass-boilerplate -lib/ansible/module_utils/network/aos/aos.py future-import-boilerplate -lib/ansible/module_utils/network/aos/aos.py metaclass-boilerplate -lib/ansible/module_utils/network/aruba/aruba.py future-import-boilerplate -lib/ansible/module_utils/network/aruba/aruba.py metaclass-boilerplate -lib/ansible/module_utils/network/asa/asa.py future-import-boilerplate -lib/ansible/module_utils/network/asa/asa.py metaclass-boilerplate -lib/ansible/module_utils/network/avi/ansible_utils.py future-import-boilerplate -lib/ansible/module_utils/network/avi/ansible_utils.py metaclass-boilerplate -lib/ansible/module_utils/network/avi/avi.py future-import-boilerplate -lib/ansible/module_utils/network/avi/avi.py metaclass-boilerplate -lib/ansible/module_utils/network/avi/avi_api.py future-import-boilerplate -lib/ansible/module_utils/network/avi/avi_api.py metaclass-boilerplate -lib/ansible/module_utils/network/bigswitch/bigswitch.py future-import-boilerplate -lib/ansible/module_utils/network/bigswitch/bigswitch.py metaclass-boilerplate -lib/ansible/module_utils/network/checkpoint/checkpoint.py metaclass-boilerplate -lib/ansible/module_utils/network/cloudengine/ce.py future-import-boilerplate -lib/ansible/module_utils/network/cloudengine/ce.py metaclass-boilerplate -lib/ansible/module_utils/network/cnos/cnos.py future-import-boilerplate -lib/ansible/module_utils/network/cnos/cnos.py metaclass-boilerplate -lib/ansible/module_utils/network/cnos/cnos_devicerules.py future-import-boilerplate -lib/ansible/module_utils/network/cnos/cnos_devicerules.py metaclass-boilerplate -lib/ansible/module_utils/network/cnos/cnos_errorcodes.py future-import-boilerplate -lib/ansible/module_utils/network/cnos/cnos_errorcodes.py metaclass-boilerplate -lib/ansible/module_utils/network/common/cfg/base.py future-import-boilerplate -lib/ansible/module_utils/network/common/cfg/base.py metaclass-boilerplate -lib/ansible/module_utils/network/common/config.py future-import-boilerplate -lib/ansible/module_utils/network/common/config.py metaclass-boilerplate -lib/ansible/module_utils/network/common/facts/facts.py future-import-boilerplate -lib/ansible/module_utils/network/common/facts/facts.py metaclass-boilerplate -lib/ansible/module_utils/network/common/netconf.py future-import-boilerplate -lib/ansible/module_utils/network/common/netconf.py metaclass-boilerplate -lib/ansible/module_utils/network/common/network.py future-import-boilerplate -lib/ansible/module_utils/network/common/network.py metaclass-boilerplate -lib/ansible/module_utils/network/common/parsing.py future-import-boilerplate -lib/ansible/module_utils/network/common/parsing.py metaclass-boilerplate -lib/ansible/module_utils/network/common/utils.py future-import-boilerplate -lib/ansible/module_utils/network/common/utils.py metaclass-boilerplate -lib/ansible/module_utils/network/dellos10/dellos10.py future-import-boilerplate -lib/ansible/module_utils/network/dellos10/dellos10.py metaclass-boilerplate -lib/ansible/module_utils/network/dellos6/dellos6.py future-import-boilerplate -lib/ansible/module_utils/network/dellos6/dellos6.py metaclass-boilerplate -lib/ansible/module_utils/network/dellos9/dellos9.py future-import-boilerplate -lib/ansible/module_utils/network/dellos9/dellos9.py metaclass-boilerplate -lib/ansible/module_utils/network/edgeos/edgeos.py future-import-boilerplate -lib/ansible/module_utils/network/edgeos/edgeos.py metaclass-boilerplate -lib/ansible/module_utils/network/edgeswitch/edgeswitch.py future-import-boilerplate -lib/ansible/module_utils/network/edgeswitch/edgeswitch.py metaclass-boilerplate -lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py future-import-boilerplate -lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py metaclass-boilerplate -lib/ansible/module_utils/network/edgeswitch/edgeswitch_interface.py pylint:duplicate-string-formatting-argument -lib/ansible/module_utils/network/enos/enos.py future-import-boilerplate -lib/ansible/module_utils/network/enos/enos.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/eos.py future-import-boilerplate -lib/ansible/module_utils/network/eos/eos.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/address_family.py future-import-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/address_family.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/neighbors.py future-import-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/neighbors.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/process.py future-import-boilerplate -lib/ansible/module_utils/network/eos/providers/cli/config/bgp/process.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/providers/module.py future-import-boilerplate -lib/ansible/module_utils/network/eos/providers/module.py metaclass-boilerplate -lib/ansible/module_utils/network/eos/providers/providers.py future-import-boilerplate -lib/ansible/module_utils/network/eos/providers/providers.py metaclass-boilerplate -lib/ansible/module_utils/network/exos/exos.py future-import-boilerplate -lib/ansible/module_utils/network/exos/exos.py metaclass-boilerplate -lib/ansible/module_utils/network/fortimanager/common.py future-import-boilerplate -lib/ansible/module_utils/network/fortimanager/common.py metaclass-boilerplate -lib/ansible/module_utils/network/fortimanager/fortimanager.py future-import-boilerplate -lib/ansible/module_utils/network/fortimanager/fortimanager.py metaclass-boilerplate -lib/ansible/module_utils/network/fortios/fortios.py future-import-boilerplate -lib/ansible/module_utils/network/fortios/fortios.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/frr.py future-import-boilerplate -lib/ansible/module_utils/network/frr/frr.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/base.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/base.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/address_family.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/address_family.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/neighbors.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/neighbors.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/process.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/cli/config/bgp/process.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/module.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/module.py metaclass-boilerplate -lib/ansible/module_utils/network/frr/providers/providers.py future-import-boilerplate -lib/ansible/module_utils/network/frr/providers/providers.py metaclass-boilerplate -lib/ansible/module_utils/network/ftd/common.py future-import-boilerplate -lib/ansible/module_utils/network/ftd/common.py metaclass-boilerplate -lib/ansible/module_utils/network/ftd/configuration.py future-import-boilerplate -lib/ansible/module_utils/network/ftd/configuration.py metaclass-boilerplate -lib/ansible/module_utils/network/ftd/device.py future-import-boilerplate -lib/ansible/module_utils/network/ftd/device.py metaclass-boilerplate -lib/ansible/module_utils/network/ftd/fdm_swagger_client.py future-import-boilerplate -lib/ansible/module_utils/network/ftd/fdm_swagger_client.py metaclass-boilerplate -lib/ansible/module_utils/network/ftd/operation.py future-import-boilerplate -lib/ansible/module_utils/network/ftd/operation.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/ios.py future-import-boilerplate -lib/ansible/module_utils/network/ios/ios.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/base.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/base.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/address_family.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/address_family.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/neighbors.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/neighbors.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/process.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/cli/config/bgp/process.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/module.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/module.py metaclass-boilerplate -lib/ansible/module_utils/network/ios/providers/providers.py future-import-boilerplate -lib/ansible/module_utils/network/ios/providers/providers.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/iosxr.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/iosxr.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/address_family.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/address_family.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/neighbors.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/process.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/providers/cli/config/bgp/process.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/providers/module.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/providers/module.py metaclass-boilerplate -lib/ansible/module_utils/network/iosxr/providers/providers.py future-import-boilerplate -lib/ansible/module_utils/network/iosxr/providers/providers.py metaclass-boilerplate -lib/ansible/module_utils/network/junos/argspec/facts/facts.py future-import-boilerplate -lib/ansible/module_utils/network/junos/argspec/facts/facts.py metaclass-boilerplate -lib/ansible/module_utils/network/junos/facts/facts.py future-import-boilerplate -lib/ansible/module_utils/network/junos/facts/facts.py metaclass-boilerplate -lib/ansible/module_utils/network/junos/facts/legacy/base.py future-import-boilerplate -lib/ansible/module_utils/network/junos/facts/legacy/base.py metaclass-boilerplate -lib/ansible/module_utils/network/junos/junos.py future-import-boilerplate -lib/ansible/module_utils/network/junos/junos.py metaclass-boilerplate -lib/ansible/module_utils/network/meraki/meraki.py future-import-boilerplate -lib/ansible/module_utils/network/meraki/meraki.py metaclass-boilerplate -lib/ansible/module_utils/network/netconf/netconf.py future-import-boilerplate -lib/ansible/module_utils/network/netconf/netconf.py metaclass-boilerplate -lib/ansible/module_utils/network/netscaler/netscaler.py future-import-boilerplate -lib/ansible/module_utils/network/netscaler/netscaler.py metaclass-boilerplate -lib/ansible/module_utils/network/nos/nos.py future-import-boilerplate -lib/ansible/module_utils/network/nos/nos.py metaclass-boilerplate -lib/ansible/module_utils/network/nso/nso.py future-import-boilerplate -lib/ansible/module_utils/network/nso/nso.py metaclass-boilerplate -lib/ansible/module_utils/network/nxos/argspec/facts/facts.py future-import-boilerplate -lib/ansible/module_utils/network/nxos/argspec/facts/facts.py metaclass-boilerplate -lib/ansible/module_utils/network/nxos/facts/facts.py future-import-boilerplate -lib/ansible/module_utils/network/nxos/facts/facts.py metaclass-boilerplate -lib/ansible/module_utils/network/nxos/facts/legacy/base.py future-import-boilerplate -lib/ansible/module_utils/network/nxos/facts/legacy/base.py metaclass-boilerplate -lib/ansible/module_utils/network/nxos/nxos.py future-import-boilerplate -lib/ansible/module_utils/network/nxos/nxos.py metaclass-boilerplate -lib/ansible/module_utils/network/nxos/utils/utils.py future-import-boilerplate -lib/ansible/module_utils/network/nxos/utils/utils.py metaclass-boilerplate -lib/ansible/module_utils/network/onyx/onyx.py future-import-boilerplate -lib/ansible/module_utils/network/onyx/onyx.py metaclass-boilerplate -lib/ansible/module_utils/network/ordnance/ordnance.py future-import-boilerplate -lib/ansible/module_utils/network/ordnance/ordnance.py metaclass-boilerplate -lib/ansible/module_utils/network/restconf/restconf.py future-import-boilerplate -lib/ansible/module_utils/network/restconf/restconf.py metaclass-boilerplate -lib/ansible/module_utils/network/routeros/routeros.py future-import-boilerplate -lib/ansible/module_utils/network/routeros/routeros.py metaclass-boilerplate -lib/ansible/module_utils/network/skydive/api.py future-import-boilerplate -lib/ansible/module_utils/network/skydive/api.py metaclass-boilerplate -lib/ansible/module_utils/network/slxos/slxos.py future-import-boilerplate -lib/ansible/module_utils/network/slxos/slxos.py metaclass-boilerplate -lib/ansible/module_utils/network/sros/sros.py future-import-boilerplate -lib/ansible/module_utils/network/sros/sros.py metaclass-boilerplate -lib/ansible/module_utils/network/voss/voss.py future-import-boilerplate -lib/ansible/module_utils/network/voss/voss.py metaclass-boilerplate -lib/ansible/module_utils/network/vyos/vyos.py future-import-boilerplate -lib/ansible/module_utils/network/vyos/vyos.py metaclass-boilerplate -lib/ansible/module_utils/oneandone.py future-import-boilerplate -lib/ansible/module_utils/oneandone.py metaclass-boilerplate -lib/ansible/module_utils/oneview.py metaclass-boilerplate -lib/ansible/module_utils/opennebula.py future-import-boilerplate -lib/ansible/module_utils/opennebula.py metaclass-boilerplate -lib/ansible/module_utils/openstack.py future-import-boilerplate -lib/ansible/module_utils/openstack.py metaclass-boilerplate -lib/ansible/module_utils/oracle/oci_utils.py future-import-boilerplate -lib/ansible/module_utils/oracle/oci_utils.py metaclass-boilerplate -lib/ansible/module_utils/ovirt.py future-import-boilerplate -lib/ansible/module_utils/ovirt.py metaclass-boilerplate -lib/ansible/module_utils/parsing/convert_bool.py future-import-boilerplate -lib/ansible/module_utils/parsing/convert_bool.py metaclass-boilerplate -lib/ansible/module_utils/postgres.py future-import-boilerplate -lib/ansible/module_utils/postgres.py metaclass-boilerplate -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.ArgvParser.psm1 pslint:PSUseApprovedVerbs -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSProvideCommentHelp # need to agree on best format for comment location -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSUseApprovedVerbs -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.FileUtil.psm1 pslint:PSCustomUseLiteralPath -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.FileUtil.psm1 pslint:PSProvideCommentHelp -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1 pslint:PSCustomUseLiteralPath -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1 pslint:PSUseApprovedVerbs -lib/ansible/module_utils/powershell/Ansible.ModuleUtils.LinkUtil.psm1 pslint:PSUseApprovedVerbs -lib/ansible/module_utils/pure.py future-import-boilerplate -lib/ansible/module_utils/pure.py metaclass-boilerplate -lib/ansible/module_utils/pycompat24.py future-import-boilerplate -lib/ansible/module_utils/pycompat24.py metaclass-boilerplate -lib/ansible/module_utils/pycompat24.py no-get-exception -lib/ansible/module_utils/rax.py future-import-boilerplate -lib/ansible/module_utils/rax.py metaclass-boilerplate -lib/ansible/module_utils/redhat.py future-import-boilerplate -lib/ansible/module_utils/redhat.py metaclass-boilerplate -lib/ansible/module_utils/remote_management/dellemc/dellemc_idrac.py future-import-boilerplate -lib/ansible/module_utils/remote_management/intersight.py future-import-boilerplate -lib/ansible/module_utils/remote_management/intersight.py metaclass-boilerplate -lib/ansible/module_utils/remote_management/lxca/common.py future-import-boilerplate -lib/ansible/module_utils/remote_management/lxca/common.py metaclass-boilerplate -lib/ansible/module_utils/remote_management/ucs.py future-import-boilerplate -lib/ansible/module_utils/remote_management/ucs.py metaclass-boilerplate -lib/ansible/module_utils/scaleway.py future-import-boilerplate -lib/ansible/module_utils/scaleway.py metaclass-boilerplate -lib/ansible/module_utils/service.py future-import-boilerplate -lib/ansible/module_utils/service.py metaclass-boilerplate -lib/ansible/module_utils/six/__init__.py empty-init # breaks namespacing, bundled, do not override -lib/ansible/module_utils/six/__init__.py future-import-boilerplate # ignore bundled -lib/ansible/module_utils/six/__init__.py metaclass-boilerplate # ignore bundled -lib/ansible/module_utils/six/__init__.py no-basestring -lib/ansible/module_utils/six/__init__.py no-dict-iteritems -lib/ansible/module_utils/six/__init__.py no-dict-iterkeys -lib/ansible/module_utils/six/__init__.py no-dict-itervalues -lib/ansible/module_utils/six/__init__.py replace-urlopen -lib/ansible/module_utils/splitter.py future-import-boilerplate -lib/ansible/module_utils/splitter.py metaclass-boilerplate -lib/ansible/module_utils/storage/hpe3par/hpe3par.py future-import-boilerplate -lib/ansible/module_utils/storage/hpe3par/hpe3par.py metaclass-boilerplate -lib/ansible/module_utils/univention_umc.py future-import-boilerplate -lib/ansible/module_utils/univention_umc.py metaclass-boilerplate -lib/ansible/module_utils/urls.py future-import-boilerplate -lib/ansible/module_utils/urls.py metaclass-boilerplate -lib/ansible/module_utils/urls.py pylint:blacklisted-name -lib/ansible/module_utils/urls.py replace-urlopen -lib/ansible/module_utils/vca.py future-import-boilerplate -lib/ansible/module_utils/vca.py metaclass-boilerplate -lib/ansible/module_utils/vexata.py future-import-boilerplate -lib/ansible/module_utils/vexata.py metaclass-boilerplate -lib/ansible/module_utils/yumdnf.py future-import-boilerplate -lib/ansible/module_utils/yumdnf.py metaclass-boilerplate -lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_acm_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_acm_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_acm_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_acm_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_api_gateway.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/aws_api_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_application_scaling_policy.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/amazon/aws_az_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_az_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_az_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_batch_compute_environment.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_batch_job_definition.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_batch_job_queue.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_caller_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_caller_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_codebuild.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_codebuild.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_codecommit.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_codecommit.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_codecommit.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_codepipeline.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_codepipeline.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_config_aggregation_authorization.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_config_aggregator.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_config_delivery_channel.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_config_recorder.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_config_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_connection.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_direct_connect_gateway.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_direct_connect_link_aggregation_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_direct_connect_virtual_interface.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_eks_cluster.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_eks_cluster.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_eks_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_eks_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_elasticbeanstalk_app.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_glue_connection.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_glue_connection.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_glue_connection.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_glue_job.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_glue_job.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_glue_job.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_inspector_target.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_inspector_target.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_inspector_target.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_inspector_target.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_kms.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_kms.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_kms.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_kms.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_kms_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_kms_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_kms_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_region_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_region_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_region_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_s3.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_s3.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_s3.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_s3_cors.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_s3_cors.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_s3_cors.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_secret.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_secret.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_ses_identity.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_identity.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_identity.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_ses_identity.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_ses_identity_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_ses_rule_set.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_sgw_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_sgw_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/aws_ssm_parameter_store.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_waf_condition.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_condition.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_condition.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_waf_condition.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_waf_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_waf_rule.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_rule.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_waf_rule.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/aws_waf_web_acl.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudformation_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudfront_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/data_pipeline.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/dms_endpoint.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/dms_replication_subnet_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_ami.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_ami_copy.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_ami_copy.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_ami_copy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_ami_copy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_ami_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_ami_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_ami_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_asg.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_asg.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_asg.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_asg_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_asg_lifecycle_hook.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_customer_gateway.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_customer_gateway_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_eip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_eip_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eip_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eip_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_elb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_elb_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_elb_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_elb_info.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/ec2_elb_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_eni.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eni.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eni.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_eni.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_eni_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eni_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_eni_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_group.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_group_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_instance.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_instance_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_key.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_launch_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_lc.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_lc.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_lc.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_lc_find.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_lc_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_metric_alarm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_placement_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_placement_group.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_placement_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_placement_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_placement_group_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_scaling_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_snapshot_copy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_snapshot_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_tag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_tag.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_transit_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_transit_gateway.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vol_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_info.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/ec2_vpc_dhcp_option_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_egress_igw.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_endpoint_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_igw.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_igw.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_igw_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_nacl.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_nacl_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_nat_gateway_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_net.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_net_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_peer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_peer.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_peering_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_route_table_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_subnet_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ec2_vpc_vgw_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ec2_vpc_vpn_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_service.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ecs_service.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/ecs_taskdefinition_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/efs.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/efs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/efs_info.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elasticache.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elasticache.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elasticache_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elasticache_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elasticache_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_application_lb.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elb_application_lb.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_application_lb.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/amazon/elb_application_lb_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_classic_lb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_classic_lb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/elb_classic_lb_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_instance.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_network_lb.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elb_network_lb.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_network_lb.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/amazon/elb_target.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/elb_target.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/elb_target.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/elb_target.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/elb_target_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/elb_target_group_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/execute_lambda.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/execute_lambda.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/iam_policy.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/iam_policy.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/iam_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/iam_role.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/iam_role.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/iam_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/iam_role_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/kinesis_stream.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/kinesis_stream.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lambda.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/lambda.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/lambda.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/amazon/lambda.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/lambda.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/lambda_alias.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/lambda_event.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/_lambda_facts.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/_lambda_facts.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/_lambda_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lambda_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/lambda_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/lambda_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lambda_policy.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/lambda_policy.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/lambda_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/lambda_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/lightsail.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/rds.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/rds.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/rds.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/rds.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/rds_instance_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/rds_instance_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/rds_instance_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/rds_instance_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/rds_param_group.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/rds_param_group.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/rds_param_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/rds_snapshot.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/rds_snapshot.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/rds_snapshot_info.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/rds_snapshot_info.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/rds_snapshot_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/rds_subnet_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/redshift.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/redshift.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/redshift.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/redshift.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/redshift_cross_region_snapshots.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/redshift_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/redshift_subnet_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/route53.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/cloud/amazon/route53.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/route53_health_check.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/route53_health_check.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/route53_health_check.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/route53_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/route53_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/route53_zone.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/route53_zone.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/route53_zone.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/s3_bucket.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/s3_bucket.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/s3_bucket.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/s3_bucket.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/s3_lifecycle.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/s3_logging.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/s3_sync.py future-import-boilerplate -lib/ansible/modules/cloud/amazon/s3_sync.py metaclass-boilerplate -lib/ansible/modules/cloud/amazon/s3_sync.py pylint:blacklisted-name -lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/s3_sync.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/amazon/s3_website.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sns.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/sns_topic.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sns_topic.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/sqs_queue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sqs_queue.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sts_assume_role.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/amazon/sts_session_token.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/amazon/sts_session_token.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/atomic/atomic_container.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/atomic/atomic_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/atomic/atomic_image.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_acs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_aks.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_aks_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_aksversion_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_appgateway.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_appgateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_applicationsecuritygroup_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_appserviceplan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_appserviceplan_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_autoscale.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_autoscale.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_autoscale_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_availabilityset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_availabilityset_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_azurefirewall.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/azure/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_containerinstance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_containerinstance_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_containerregistry.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_containerregistry_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabenvironment.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_image.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_image_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_keyvault_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_manageddisk_info.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_mariadbconfiguration.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_mysqlserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_networkinterface.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/azure/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_postgresqlserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_publicipaddress.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_publicipaddress_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_rediscache.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_rediscache_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_rediscachefirewallrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_resource.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_resource_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_resourcegroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_resourcegroup_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_roleassignment.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_roleassignment_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:invalid-argument-spec -lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_roledefinition.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/azure/azure_rm_roledefinition_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_securitygroup.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/azure/azure_rm_securitygroup_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebus.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebus_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebusqueue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebussaspolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebustopic.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_servicebustopicsubscription.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqldatabase.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqldatabase_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqlfirewallrule_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqlserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_sqlserver_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/azure/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerendpoint_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_trafficmanagerprofile_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachineextension_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachineimage_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescaleset_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetextension_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualmachinescalesetinstance_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkgateway.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_virtualnetworkpeering_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_webapp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_webapp_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/azure/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/centurylink/clc_aa_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_alert_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_blueprint_package.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_loadbalancer.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_modify_server.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_publicip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_publicip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_server.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/centurylink/clc_server_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudscale/cloudscale_floating_ip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/cloudscale/cloudscale_floating_ip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudscale/cloudscale_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/cloudscale/cloudscale_server.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudscale/cloudscale_server_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/cloudscale/cloudscale_server_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudscale/cloudscale_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/cloudscale/cloudscale_volume.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudstack/cs_account.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_account.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_affinitygroup.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudstack/cs_cluster.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_cluster.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_configuration.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_configuration.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_domain.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_domain.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_facts.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_facts.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_firewall.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_firewall.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_host.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_host.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_image_store.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_image_store.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instance_nic.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instance_nic.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instance_nic_secondaryip.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instance_nic_secondaryip.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instancegroup.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_instancegroup.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_ip_address.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_ip_address.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_iso.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_iso.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_loadbalancer_rule_member.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudstack/cs_network_acl.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network_acl.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network_acl_rule.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network_offering.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_network_offering.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_physical_network.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_physical_network.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_pod.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_pod.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_project.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_project.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_region.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_region.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_resourcelimit.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_resourcelimit.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_role.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_role.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_role.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/cloudstack/cs_role_permission.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_role_permission.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_router.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_router.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_sshkeypair.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_sshkeypair.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_staticnat.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_staticnat.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_storage_pool.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_template.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_template.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_traffic_type.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_traffic_type.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_user.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_user.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vlan_ip_range.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vlan_ip_range.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vmsnapshot.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vmsnapshot.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_volume.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_volume.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vpc_offering.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vpc_offering.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vpn_gateway.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_vpn_gateway.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_zone.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/cs_zone.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py future-import-boilerplate -lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py metaclass-boilerplate -lib/ansible/modules/cloud/cloudstack/_cs_zone_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_certificate_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_domain_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_droplet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_droplet.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_firewall_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_image_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_load_balancer_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_snapshot_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_sshkey.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/digital_ocean/digital_ocean_tag_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/digital_ocean/digital_ocean_volume_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/dimensiondata/dimensiondata_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/dimensiondata/dimensiondata_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/docker/docker_container.py use-argspec-type-path # uses colon-separated paths, can't use type=path -lib/ansible/modules/cloud/google/_gcdns_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcdns_zone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gce.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gce.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gce.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcp_backend_service.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcp_backend_service.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcp_forwarding_rule.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcp_healthcheck.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcp_healthcheck.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcp_target_proxy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/_gcp_url_map.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/_gcspanner.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/_gcspanner.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gc_storage.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gc_storage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gc_storage.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_eip.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_eip.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gce_eip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_eip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_img.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_img.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_img.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_instance_template.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_instance_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_labels.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gce_labels.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_labels.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_lb.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_lb.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/google/gce_lb.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gce_lb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_lb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_mig.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_mig.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gce_mig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_mig.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_net.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_net.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/google/gce_net.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gce_net.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_net.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_pd.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_pd.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gce_pd.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gce_pd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_pd.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_snapshot.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gce_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/google/gce_tag.py pylint:blacklisted-name -lib/ansible/modules/cloud/google/gce_tag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gcp_bigquery_table.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/google/gcpubsub.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/heroku/heroku_collaborator.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/kubevirt/kubevirt_pvc.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/kubevirt/kubevirt_rs.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/kubevirt/kubevirt_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/kubevirt/kubevirt_vm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/linode/linode.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/linode/linode.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/linode/linode.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/linode/linode_v4.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/lxc/lxc_container.py pylint:blacklisted-name -lib/ansible/modules/cloud/lxc/lxc_container.py use-argspec-type-path -lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:use-run-command-not-popen -lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/lxc/lxc_container.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/lxd/lxd_container.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/lxd/lxd_profile.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/memset/memset_dns_reload.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/memset/memset_memstore_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/memset/memset_server_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/memset/memset_zone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/memset/memset_zone_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/memset/memset_zone_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/cloud_init_data_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/helm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/helm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/ovirt.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/misc/ovirt.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/misc/ovirt.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/proxmox.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/proxmox.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/proxmox_kvm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/proxmox_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/misc/terraform.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/terraform.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/virt.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/misc/virt.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/misc/virt.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/misc/virt_net.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/misc/virt_pool.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/misc/virt_pool.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/oneandone/oneandone_firewall_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_load_balancer.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/oneandone/oneandone_monitoring_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_private_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_public_ip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/oneandone/oneandone_server.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/online/_online_server_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/online/_online_user_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/online/online_server_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/online/online_user_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/opennebula/one_host.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/opennebula/one_image.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/opennebula/one_image_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/opennebula/one_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/opennebula/one_vm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_auth.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_client_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_coe_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_coe_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_coe_cluster_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_coe_cluster_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_flavor_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_floating_ip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_image.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_image.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_image_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_ironic.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_ironic_inspect.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_ironic_node.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keypair.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keystone_domain.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keystone_domain_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_keystone_domain_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keystone_role.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_keystone_service.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_listener.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_listener.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_loadbalancer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_loadbalancer.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_member.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_networks_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_networks_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_nova_flavor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_nova_flavor.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_nova_host_aggregate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_nova_host_aggregate.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_object.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_pool.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_port.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_port.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_port_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_port_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_project.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_project_access.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_project_access.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_project_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_project_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_quota.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/openstack/os_recordset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_recordset.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_router.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_router.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_security_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_security_group_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_security_group_rule.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_server.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_server.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server_action.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_server_action.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_server_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_server_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server_metadata.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_server_metadata.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_server_volume.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_stack.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_subnet.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_subnets_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_subnets_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_user.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_user_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_user_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_user_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_user_role.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_volume.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_volume_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/openstack/os_zone.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/oracle/oci_vcn.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovh/ovh_ip_failover.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovh/ovh_ip_failover.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_affinity_label_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_auth.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_auth.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_auth.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_cluster_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_datacenter.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_datacenter_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_disk.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_disk.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_disk.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_disk_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_external_provider.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/ovirt/ovirt_external_provider_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_group.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_group.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_group_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_group_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_group_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_host.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_host.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_host_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_host_network.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_network.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_host_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_host_pm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_host_storage_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_instance_type.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_job.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_job.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_job.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_mac_pool.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_network.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_network.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_network_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_network_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_network_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_nic.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_nic.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_nic.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_nic.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_nic_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_permission.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_permission.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_permission.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_permission_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_quota.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_quota.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_quota.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_quota.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_quota_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_role.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_role.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_role.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_scheduling_policy_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_snapshot_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_storage_connection.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_domain_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_storage_template_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_storage_vm_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_tag.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_tag.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_tag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_tag.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_tag_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_template.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_template.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_template.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_template_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_template_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_template_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_user.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_user.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_user.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_user_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_user_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_user_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_vm.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vm.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_vm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_vm_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/ovirt/ovirt_vmpool.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vmpool_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py future-import-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py metaclass-boilerplate -lib/ansible/modules/cloud/ovirt/ovirt_vnic_profile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/packet/packet_device.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/packet/packet_device.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/packet/packet_sshkey.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/podman/podman_image.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/podman/podman_image.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/cloud/podman/podman_image.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/podman/podman_image_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks_datacenter.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks_nic.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks_volume.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/profitbricks/profitbricks_volume_attachments.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/pubnub/pubnub_blocks.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/pubnub/pubnub_blocks.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax.py use-argspec-type-path # fix needed -lib/ansible/modules/cloud/rackspace/rax.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/rackspace/rax.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_cbs.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_cbs_attachments.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_cdb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_cdb_database.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_cdb_user.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_clb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_clb_nodes.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_clb_ssl.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_dns.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_dns_record.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_files.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_files_objects.py use-argspec-type-path -lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_files_objects.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_identity.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_keypair.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_meta.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_mon_alarm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_mon_check.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_mon_entity.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_mon_notification.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_mon_notification_plan.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_queue.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_scaling_group.py use-argspec-type-path # fix needed -lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_scaling_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/rackspace/rax_scaling_policy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_compute.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/scaleway/scaleway_compute.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_image_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_image_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_image_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_image_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_ip.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_ip_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_ip_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_ip_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_ip_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_lb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/scaleway/scaleway_lb.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_organization_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_organization_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/_scaleway_security_group_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_security_group_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_security_group_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_security_group_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_security_group_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/scaleway/_scaleway_server_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_server_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_server_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_server_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/_scaleway_snapshot_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_snapshot_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_snapshot_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_sshkey.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_user_data.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/scaleway/scaleway_user_data.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/scaleway/scaleway_volume.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_volume_facts.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/_scaleway_volume_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/scaleway/scaleway_volume_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/smartos/imgadm.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/cloud/smartos/imgadm.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/smartos/smartos_image_info.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/smartos/vmadm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/softlayer/sl_vm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/spotinst/spotinst_aws_elastigroup.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/univention/udm_dns_record.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/univention/udm_dns_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/univention/udm_dns_zone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/univention/udm_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/univention/udm_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/univention/udm_share.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/univention/udm_share.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/cloud/univention/udm_share.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/univention/udm_share.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/univention/udm_share.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/univention/udm_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/univention/udm_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/univention/udm_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vca_fw.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vca_nat.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vca_vapp.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vmware/vmware_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_deploy_ovf.py use-argspec-type-path -lib/ansible/modules/cloud/vmware/vmware_deploy_ovf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvs_host.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvs_portgroup.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvswitch.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvswitch_nioc.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_dvswitch_uplink_pg.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_guest.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_guest.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_guest_custom_attributes.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_guest_file_operation.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_portgroup.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_vcenter_settings.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_vcenter_statistics.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_vmkernel.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vmware/vmware_vspan_session.py validate-modules:missing-suboption-docs -lib/ansible/modules/cloud/vmware/vsphere_copy.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/vmware/vsphere_copy.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/vultr_block_storage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vultr/vultr_block_storage.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/_vultr_block_storage_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_dns_domain.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/_vultr_dns_domain_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_dns_domain_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_dns_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vultr/vultr_dns_record.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/vultr_firewall_group.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/_vultr_firewall_group_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_firewall_group_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_firewall_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/vultr/vultr_firewall_rule.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/vultr_network.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/vultr/_vultr_network_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_network_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_os_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_region_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_region_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_server_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_server_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_ssh_key_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_startup_script_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/vultr_startup_script_info.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/vultr/_vultr_user_facts.py validate-modules:return-syntax-error -lib/ansible/modules/cloud/webfaction/webfaction_app.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/webfaction/webfaction_db.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/webfaction/webfaction_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/webfaction/webfaction_domain.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/webfaction/webfaction_site.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/webfaction/webfaction_site.py validate-modules:doc-missing-type -lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:undocumented-parameter -lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/cloud/xenserver/xenserver_guest.py validate-modules:missing-suboption-docs -lib/ansible/modules/clustering/consul.py validate-modules:undocumented-parameter -lib/ansible/modules/clustering/consul.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/consul_acl.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/consul_kv.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/etcd3.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/clustering/etcd3.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/clustering/k8s/k8s.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-missing-type @@ -2167,4454 +12,3 @@ lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:parameter-type- lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:doc-missing-type lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/pacemaker_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/znode.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/clustering/znode.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/znode.py validate-modules:doc-missing-type -lib/ansible/modules/commands/command.py validate-modules:undocumented-parameter -lib/ansible/modules/commands/command.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/commands/command.py validate-modules:doc-missing-type -lib/ansible/modules/commands/expect.py validate-modules:doc-missing-type -lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/influxdb/influxdb_database.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/influxdb/influxdb_query.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/influxdb/influxdb_retention_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/influxdb/influxdb_retention_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/influxdb/influxdb_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/influxdb/influxdb_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/influxdb/influxdb_write.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/influxdb/influxdb_write.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/misc/elasticsearch_plugin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/misc/elasticsearch_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/database/misc/kibana_plugin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/misc/kibana_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/database/misc/redis.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/misc/riak.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/database/misc/riak.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/misc/riak.py validate-modules:doc-missing-type -lib/ansible/modules/database/mongodb/mongodb_parameter.py use-argspec-type-path -lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/mongodb/mongodb_parameter.py validate-modules:doc-missing-type -lib/ansible/modules/database/mongodb/mongodb_replicaset.py use-argspec-type-path -lib/ansible/modules/database/mongodb/mongodb_shard.py use-argspec-type-path -lib/ansible/modules/database/mongodb/mongodb_shard.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/mongodb/mongodb_shard.py validate-modules:doc-missing-type -lib/ansible/modules/database/mongodb/mongodb_user.py use-argspec-type-path -lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:undocumented-parameter -lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/mongodb/mongodb_user.py validate-modules:doc-missing-type -lib/ansible/modules/database/mssql/mssql_db.py validate-modules:doc-missing-type -lib/ansible/modules/database/mysql/mysql_db.py validate-modules:use-run-command-not-popen -lib/ansible/modules/database/mysql/mysql_db.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/mysql/mysql_user.py validate-modules:undocumented-parameter -lib/ansible/modules/database/mysql/mysql_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_db.py use-argspec-type-path -lib/ansible/modules/database/postgresql/postgresql_db.py validate-modules:use-run-command-not-popen -lib/ansible/modules/database/postgresql/postgresql_db.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_ext.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_pg_hba.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_schema.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_tablespace.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/postgresql/postgresql_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/database/postgresql/postgresql_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_backend_servers.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_global_variables.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_manage_config.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_manage_config.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_mysql_users.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_query_rules.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_replication_hostgroups.py validate-modules:doc-missing-type -lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:undocumented-parameter -lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/database/proxysql/proxysql_scheduler.py validate-modules:doc-missing-type -lib/ansible/modules/database/vertica/vertica_configuration.py validate-modules:doc-missing-type -lib/ansible/modules/database/vertica/vertica_info.py validate-modules:doc-missing-type -lib/ansible/modules/database/vertica/vertica_role.py validate-modules:undocumented-parameter -lib/ansible/modules/database/vertica/vertica_role.py validate-modules:doc-missing-type -lib/ansible/modules/database/vertica/vertica_schema.py validate-modules:undocumented-parameter -lib/ansible/modules/database/vertica/vertica_schema.py validate-modules:doc-missing-type -lib/ansible/modules/database/vertica/vertica_user.py validate-modules:undocumented-parameter -lib/ansible/modules/database/vertica/vertica_user.py validate-modules:doc-missing-type -lib/ansible/modules/files/acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/files/archive.py use-argspec-type-path # fix needed -lib/ansible/modules/files/assemble.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/files/blockinfile.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/blockinfile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/files/copy.py pylint:blacklisted-name -lib/ansible/modules/files/copy.py validate-modules:undocumented-parameter -lib/ansible/modules/files/copy.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/files/copy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/file.py validate-modules:undocumented-parameter -lib/ansible/modules/files/file.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/find.py use-argspec-type-path # fix needed -lib/ansible/modules/files/find.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/files/iso_extract.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/lineinfile.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/files/lineinfile.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/lineinfile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/files/patch.py pylint:blacklisted-name -lib/ansible/modules/files/replace.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/files/stat.py validate-modules:undocumented-parameter -lib/ansible/modules/files/stat.py validate-modules:parameter-invalid -lib/ansible/modules/files/stat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/files/synchronize.py pylint:blacklisted-name -lib/ansible/modules/files/synchronize.py use-argspec-type-path -lib/ansible/modules/files/synchronize.py validate-modules:undocumented-parameter -lib/ansible/modules/files/synchronize.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/files/synchronize.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/files/synchronize.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/files/unarchive.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/identity/cyberark/cyberark_authentication.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_dnsrecord.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_dnszone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_hbacrule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_hostgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_subca.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_sudocmd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_sudocmdgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_sudorule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/ipa/ipa_vault.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/keycloak/keycloak_client.py validate-modules:doc-missing-type -lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/keycloak/keycloak_clienttemplate.py validate-modules:doc-missing-type -lib/ansible/modules/identity/opendj/opendj_backendprop.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/identity/opendj/opendj_backendprop.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_binding.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/messaging/rabbitmq/rabbitmq_binding.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/messaging/rabbitmq/rabbitmq_exchange.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_global_parameter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_global_parameter.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_parameter.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_policy.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_queue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/messaging/rabbitmq/rabbitmq_user.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_vhost.py validate-modules:doc-missing-type -lib/ansible/modules/messaging/rabbitmq/rabbitmq_vhost_limits.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/airbrake_deployment.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/airbrake_deployment.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/bigpanda.py validate-modules:undocumented-parameter -lib/ansible/modules/monitoring/bigpanda.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/bigpanda.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/circonus_annotation.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/monitoring/datadog_event.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/datadog_event.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/datadog_monitor.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/datadog_monitor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/grafana_dashboard.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/grafana_dashboard.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/grafana_datasource.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/grafana_plugin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/grafana_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/honeybadger_deployment.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/icinga2_feature.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/icinga2_host.py validate-modules:undocumented-parameter -lib/ansible/modules/monitoring/icinga2_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/icinga2_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/icinga2_host.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/librato_annotation.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/librato_annotation.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/logentries.py validate-modules:undocumented-parameter -lib/ansible/modules/monitoring/logentries.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/monitoring/logentries.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/logentries.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/logicmonitor.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/logicmonitor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/logicmonitor.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/logicmonitor_facts.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/logstash_plugin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/logstash_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/monit.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/monit.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/nagios.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/monitoring/nagios.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/nagios.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/newrelic_deployment.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/pagerduty.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/pagerduty.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/pagerduty.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/pagerduty_alert.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/pingdom.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/monitoring/pingdom.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/rollbar_deployment.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/sensu_check.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/sensu_check.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/sensu_client.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/sensu_client.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/sensu_handler.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/monitoring/sensu_handler.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/sensu_silence.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/sensu_silence.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/sensu_subscription.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/spectrum_device.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/spectrum_device.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/stackdriver.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/statusio_maintenance.py pylint:blacklisted-name -lib/ansible/modules/monitoring/statusio_maintenance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/statusio_maintenance.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/uptimerobot.py validate-modules:doc-missing-type -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:undocumented-parameter -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/monitoring/zabbix/zabbix_action.py validate-modules:missing-suboption-docs -lib/ansible/modules/net_tools/basics/get_url.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/basics/uri.py pylint:blacklisted-name -lib/ansible/modules/net_tools/basics/uri.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/cloudflare_dns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/dnsmadeeasy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/dnsmadeeasy.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/ip_netns.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/ipinfoio_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/ipinfoio_facts.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/ldap/ldap_attr.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/ldap/ldap_entry.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/ldap/ldap_entry.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/ldap/ldap_passwd.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/netbox/netbox_device.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netbox/netbox_device.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/netbox/netbox_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netbox/netbox_ip_address.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netbox/netbox_ip_address.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/netbox/netbox_prefix.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netbox/netbox_prefix.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/netbox/netbox_site.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netcup_dns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/netcup_dns.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_a_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_aaaa_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_cname_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_dns_view.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_fixed_address.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_host_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_member.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_mx_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_naptr_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_network.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_network_view.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_nsgroup.py validate-modules:missing-suboption-docs -lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_ptr_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_srv_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_txt_record.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:undocumented-parameter -lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nios/nios_zone.py validate-modules:doc-missing-type -lib/ansible/modules/net_tools/nmcli.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/net_tools/nsupdate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/a10/a10_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/a10/a10_server_axapi3.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/a10/a10_server_axapi3.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/a10/a10_service_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/a10/a10_virtual_server.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/a10/a10_virtual_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_access_port_block_to_access_port.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_access_sub_port_block_to_access_port.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_bd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_contract_subject.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_fabric_scheduler.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_firmware_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_firmware_group_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_firmware_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_maintenance_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_maintenance_group_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/aci_maintenance_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/aci/mso_schema_template_anp_epg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/mso_schema_template_bd.py validate-modules:undocumented-parameter -lib/ansible/modules/network/aci/mso_schema_template_bd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/mso_schema_template_externalepg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:undocumented-parameter -lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aci/mso_schema_template_l3out.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/aci/mso_site.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aireos/aireos_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/aireos/aireos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aireos/aireos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/aireos/aireos_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/aireos/aireos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aireos/aireos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/aos/_aos_asn_pool.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_asn_pool.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint_param.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint_param.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint_virtnet.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_blueprint_virtnet.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_device.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_device.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_external_router.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_external_router.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_ip_pool.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_ip_pool.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_logical_device.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_logical_device.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_logical_device_map.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_logical_device_map.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_login.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_login.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_rack_type.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_rack_type.py metaclass-boilerplate -lib/ansible/modules/network/aos/_aos_template.py future-import-boilerplate -lib/ansible/modules/network/aos/_aos_template.py metaclass-boilerplate -lib/ansible/modules/network/aruba/aruba_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/aruba/aruba_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aruba/aruba_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/aruba/aruba_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/aruba/aruba_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/aruba/aruba_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/asa/asa_acl.py validate-modules:undocumented-parameter -lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/asa/asa_acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/asa/asa_acl.py validate-modules:doc-missing-type -lib/ansible/modules/network/asa/asa_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/asa/asa_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/asa/asa_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/asa/asa_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/asa/asa_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/asa/asa_config.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/network/asa/asa_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/asa/asa_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/asa/asa_og.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/asa/asa_og.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_actiongroupconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_actiongroupconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_actiongroupconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_actiongroupconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_alertconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_alertconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_alertconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_alertconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_alertemailconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_alertemailconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_alertemailconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_alertemailconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_alertscriptconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_alertscriptconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_alertscriptconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_alertscriptconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_alertsyslogconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_alertsyslogconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_alertsyslogconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_alertsyslogconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_analyticsprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_analyticsprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_analyticsprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_analyticsprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_api_session.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_api_session.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_api_session.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_api_session.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_api_version.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_api_version.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_api_version.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_api_version.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_applicationpersistenceprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_applicationprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_applicationprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_applicationprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_applicationprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_authprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_authprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_authprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_authprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_autoscalelaunchconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_backup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_backup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_backup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_backup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_backupconfiguration.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_backupconfiguration.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_backupconfiguration.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_backupconfiguration.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_certificatemanagementprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_cloud.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_cloud.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_cloud.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_cloud.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_cloudconnectoruser.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_cloudconnectoruser.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_cloudconnectoruser.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_cloudconnectoruser.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_cloudproperties.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_cloudproperties.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_cloudproperties.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_cloudproperties.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_cluster.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_cluster.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_clusterclouddetails.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_clusterclouddetails.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_clusterclouddetails.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_clusterclouddetails.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_controllerproperties.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_controllerproperties.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_controllerproperties.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_controllerproperties.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_customipamdnsprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_customipamdnsprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_customipamdnsprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_customipamdnsprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_dnspolicy.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_dnspolicy.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_dnspolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_dnspolicy.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_errorpagebody.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_errorpagebody.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_errorpagebody.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_errorpagebody.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_errorpageprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_errorpageprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_errorpageprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_errorpageprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_gslb.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_gslb.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_gslb.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_gslb.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_gslbgeodbprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_gslbservice.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_gslbservice.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_gslbservice.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_gslbservice.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_gslbservice_patch_member.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_hardwaresecuritymodulegroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_healthmonitor.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_healthmonitor.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_healthmonitor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_healthmonitor.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_httppolicyset.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_httppolicyset.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_httppolicyset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_httppolicyset.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_ipaddrgroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_ipaddrgroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_ipaddrgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_ipaddrgroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_ipamdnsproviderprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_l4policyset.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_l4policyset.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_l4policyset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_l4policyset.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_microservicegroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_microservicegroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_microservicegroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_microservicegroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_network.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_network.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_network.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_networkprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_networkprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_networkprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_networkprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_networksecuritypolicy.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_networksecuritypolicy.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_networksecuritypolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_networksecuritypolicy.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_pkiprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_pkiprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_pkiprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_pkiprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_pool.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_pool.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_pool.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_poolgroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_poolgroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_poolgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_poolgroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_poolgroupdeploymentpolicy.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_prioritylabels.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_prioritylabels.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_prioritylabels.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_prioritylabels.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_role.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_role.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_role.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_scheduler.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_scheduler.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_scheduler.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_scheduler.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_seproperties.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_seproperties.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_seproperties.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_seproperties.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_serverautoscalepolicy.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_serviceengine.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_serviceengine.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_serviceengine.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_serviceengine.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_serviceenginegroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_serviceenginegroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_serviceenginegroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_serviceenginegroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_snmptrapprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_snmptrapprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_snmptrapprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_snmptrapprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_sslkeyandcertificate.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_sslprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_sslprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_sslprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_sslprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_stringgroup.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_stringgroup.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_stringgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_stringgroup.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_systemconfiguration.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_systemconfiguration.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_systemconfiguration.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_systemconfiguration.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_tenant.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_tenant.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_tenant.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_tenant.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_trafficcloneprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_trafficcloneprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_trafficcloneprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_trafficcloneprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_useraccount.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_useraccount.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_useraccount.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_useraccount.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_useraccountprofile.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_useraccountprofile.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_useraccountprofile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_useraccountprofile.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_virtualservice.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_virtualservice.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_virtualservice.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_virtualservice.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_vrfcontext.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_vrfcontext.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_vrfcontext.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_vrfcontext.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_vsdatascriptset.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_vsdatascriptset.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_vsdatascriptset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_vsdatascriptset.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_vsvip.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_vsvip.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_vsvip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_vsvip.py validate-modules:doc-missing-type -lib/ansible/modules/network/avi/avi_webhook.py future-import-boilerplate -lib/ansible/modules/network/avi/avi_webhook.py metaclass-boilerplate -lib/ansible/modules/network/avi/avi_webhook.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/avi/avi_webhook.py validate-modules:doc-missing-type -lib/ansible/modules/network/bigswitch/bcf_switch.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/bigswitch/bcf_switch.py validate-modules:doc-missing-type -lib/ansible/modules/network/bigswitch/bigmon_chain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/bigswitch/bigmon_chain.py validate-modules:doc-missing-type -lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/bigswitch/bigmon_policy.py validate-modules:doc-missing-type -lib/ansible/modules/network/check_point/checkpoint_object_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cli/cli_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cli/cli_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cli/cli_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_aaa_server.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_aaa_server.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_aaa_server.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_aaa_server_host.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_acl.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_acl.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_acl_advance.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl_advance.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_acl_advance.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_acl_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_acl_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bfd_global.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_global.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bfd_global.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bfd_session.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_session.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bfd_session.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bfd_view.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_view.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bfd_view.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bgp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bgp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bgp_af.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_af.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bgp_af.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_bgp_neighbor_af.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_command.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_command.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_command.py pylint:blacklisted-name -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_command.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_config.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_config.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_config.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_dldp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_dldp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_dldp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py pylint:blacklisted-name -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_dldp_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_eth_trunk.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_evpn_bd_vni.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_evpn_bgp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_evpn_bgp_rr.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_evpn_global.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_global.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_evpn_global.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_facts.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_facts.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_facts.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_file_copy.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_file_copy.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_file_copy.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_info_center_debug.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_info_center_global.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_global.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_info_center_global.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_info_center_log.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_log.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_info_center_log.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_info_center_trap.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_interface_ospf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_ip_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_ip_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_ip_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_link_status.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_link_status.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_link_status.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_mlag_config.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_mlag_config.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_mlag_config.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py pylint:blacklisted-name -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_mlag_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_mtu.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_mtu.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_mtu.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_netconf.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_netconf.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_netconf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_netstream_aging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_netstream_export.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_export.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_netstream_export.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_netstream_global.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_global.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_netstream_global.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_netstream_template.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_template.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_netstream_template.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_ntp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_ntp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_ntp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_ntp_auth.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_ospf.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_ospf.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_ospf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_ospf_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_reboot.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_reboot.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_reboot.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_rollback.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_rollback.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_rollback.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_sflow.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_sflow.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_sflow.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_community.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_community.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_community.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_contact.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_location.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_location.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_location.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_target_host.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_traps.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_snmp_user.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_user.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_snmp_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_startup.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_startup.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_startup.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_static_route.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_static_route.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_stp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_stp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_stp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_switchport.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_switchport.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_switchport.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vlan.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vlan.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vrf.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vrf_af.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf_af.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vrf_af.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vrf_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vrrp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrrp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vrrp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vxlan_arp.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vxlan_gateway.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vxlan_global.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vxlan_tunnel.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py future-import-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py metaclass-boilerplate -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:doc-missing-type -lib/ansible/modules/network/cloudengine/ce_vxlan_vap.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cloudvision/cv_server_provision.py pylint:blacklisted-name -lib/ansible/modules/network/cloudvision/cv_server_provision.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_backup.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_conditional_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_conditional_template.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_factory.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/cnos/cnos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_image.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_reload.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_rollback.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_save.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_showrun.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_template.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_vlag.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/cnos/cnos_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/cumulus/nclu.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos10/dellos10_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos10/dellos10_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos10/dellos10_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos6/dellos6_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos6/dellos6_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos6/dellos6_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos9/dellos9_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos9/dellos9_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/dellos9/dellos9_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/edgeos/edgeos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/edgeos/edgeos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/edgeos/edgeos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/edgeos/edgeos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/edgeos/edgeos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/edgeswitch/edgeswitch_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/edgeswitch/edgeswitch_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/enos/enos_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/enos/enos_command.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/enos/enos_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/enos/enos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/enos/enos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/enos/enos_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/enos/enos_config.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/enos/enos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/enos/enos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/enos/enos_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/enos/enos_facts.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/enos/enos_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/enos/enos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/enos/enos_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_banner.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_banner.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_command.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_command.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_config.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_config.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_eapi.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_eapi.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_eapi.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/eos/eos_eapi.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_eapi.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/_eos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/_eos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/eos_lldp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_logging.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_logging.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/eos_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/eos_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/eos_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/eos_system.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_system.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_user.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_user.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/eos_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/_eos_vlan.py future-import-boilerplate -lib/ansible/modules/network/eos/_eos_vlan.py metaclass-boilerplate -lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/_eos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/eos/eos_vrf.py future-import-boilerplate -lib/ansible/modules/network/eos/eos_vrf.py metaclass-boilerplate -lib/ansible/modules/network/eos/eos_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/eos/eos_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/eos/eos_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/eos/eos_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/eos/eos_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/exos/exos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/exos/exos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/exos/exos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/exos/exos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/_bigip_asm_policy.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/_bigip_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/_bigip_gtm_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/bigip_firewall_address_list.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/f5/bigip_firewall_log_profile_network.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:undocumented-parameter -lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/bigip_gtm_pool_member.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/f5/bigip_pool.py validate-modules:undocumented-parameter -lib/ansible/modules/network/f5/bigip_pool.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/f5/bigip_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/bigip_pool.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/bigip_pool.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:undocumented-parameter -lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:doc-missing-type -lib/ansible/modules/network/f5/bigip_pool_member.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/fortimanager/fmgr_device.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_device_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_device_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_device_provision_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwobj_address.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwobj_ippool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwobj_ippool6.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwobj_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwobj_vip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwpol_ipv4.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_fwpol_package.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_ha.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_provisioning.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_provisioning.py validate-modules:doc-missing-type -lib/ansible/modules/network/fortimanager/fmgr_query.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_script.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/fortimanager/fmgr_script.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_appctrl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_av.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_dns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_ips.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_profile_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_proxy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_spam.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_ssl_ssh.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_voip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_waf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_wanopt.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortimanager/fmgr_secprof_web.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortios/fortios_address.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/fortios/fortios_address.py validate-modules:doc-missing-type -lib/ansible/modules/network/fortios/fortios_antivirus_quarantine.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortios/fortios_firewall_DoS_policy.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_firewall_DoS_policy6.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_firewall_policy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_firewall_sniffer.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_ipv4_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortios/fortios_ipv4_policy.py validate-modules:doc-missing-type -lib/ansible/modules/network/fortios/fortios_report_chart.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_switch_controller_lldp_profile.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_switch_controller_managed_switch.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_system_dhcp_server.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_system_global.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_voip_profile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_vpn_ipsec_manualkey.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_vpn_ipsec_manualkey_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:doc-choices-incompatible-type -lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:parameter-invalid -lib/ansible/modules/network/fortios/fortios_webfilter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/fortios/fortios_wireless_controller_setting.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_wireless_controller_wtp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/fortios/fortios_wireless_controller_wtp_profile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/frr/frr_bgp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/frr/frr_bgp.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/frr/frr_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/frr/frr_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/frr/frr_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/illumos/dladm_etherstub.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/dladm_etherstub.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/dladm_iptun.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/dladm_iptun.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/illumos/dladm_iptun.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/dladm_linkprop.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/illumos/dladm_linkprop.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/dladm_vlan.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/illumos/dladm_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/dladm_vnic.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/dladm_vnic.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/illumos/dladm_vnic.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/flowadm.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/flowadm.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/illumos/flowadm.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/ipadm_addr.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/ipadm_addr.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/illumos/ipadm_addr.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/ipadm_addrprop.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/ipadm_addrprop.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/network/illumos/ipadm_addrprop.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/ipadm_if.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/ipadm_if.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/ipadm_ifprop.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/illumos/ipadm_ifprop.py validate-modules:doc-missing-type -lib/ansible/modules/network/illumos/ipadm_prop.py pylint:blacklisted-name -lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/illumos/ipadm_prop.py validate-modules:doc-missing-type -lib/ansible/modules/network/ingate/ig_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ingate/ig_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/ingate/ig_unit_information.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_banner.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_banner.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_bgp.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/ios/ios_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_command.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_command.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_config.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_config.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_facts.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_facts.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/_ios_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/_ios_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/_ios_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/ios_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_logging.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_logging.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/ios_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/ios_ntp.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_ntp.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_ntp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_ntp.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_ping.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_ping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_static_route.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_static_route.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/ios_system.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_system.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_user.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_user.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/ios_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/ios_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/ios/_ios_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ios/ios_vrf.py future-import-boilerplate -lib/ansible/modules/network/ios/ios_vrf.py metaclass-boilerplate -lib/ansible/modules/network/ios/ios_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ios/ios_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ios/ios_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/_iosxr_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_netconf.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/iosxr/iosxr_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/ironware/ironware_command.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/ironware/ironware_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ironware/ironware_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ironware/ironware_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/ironware/ironware_config.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/ironware/ironware_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ironware/ironware_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ironware/ironware_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ironware/ironware_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/itential/iap_token.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_lldp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_banner.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_command.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_interfaces.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/network/junos/junos_lag_interfaces.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/junos_netconf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_netconf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_netconf.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_package.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_package.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_package.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_ping.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_ping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_ping.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_rpc.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_rpc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_rpc.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_scp.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_scp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_scp.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/junos_system.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/_junos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/junos/junos_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/meraki/meraki_admin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_config_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_malware.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_nat.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/network/meraki/meraki_nat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_organization.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_snmp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_ssid.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/network/meraki/meraki_switchport.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_syslog.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/meraki/meraki_syslog.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/meraki/meraki_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/netact/netact_cm_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/netact/netact_cm_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/netconf/netconf_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netconf/netconf_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/netconf/netconf_get.py validate-modules:doc-missing-type -lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netconf/netconf_rpc.py validate-modules:doc-missing-type -lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/netscaler/netscaler_cs_action.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_cs_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:undocumented-parameter -lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/netscaler/netscaler_cs_vserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_gslb_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_gslb_site.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_gslb_vserver.py validate-modules:undocumented-parameter -lib/ansible/modules/network/netscaler/netscaler_gslb_vserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/netscaler/netscaler_lb_monitor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/netscaler/netscaler_lb_vserver.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_nitro_request.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_nitro_request.py validate-modules:doc-missing-type -lib/ansible/modules/network/netscaler/netscaler_save_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_save_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/netscaler/netscaler_server.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/netscaler/netscaler_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_service.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/netscaler/netscaler_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_servicegroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netscaler/netscaler_ssl_certkey.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_cluster.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_cluster.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_ospf.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_ospf.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_ospfarea.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_ospfarea.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_ospfarea.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_show.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_show.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_show.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_trunk.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_trunk.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_trunk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vlag.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vlag.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vlag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vlan.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vlan.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vrouter.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouter.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterbgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vrouterif.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterif.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterif.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py future-import-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py metaclass-boilerplate -lib/ansible/modules/network/netvisor/_pn_vrouterlbif.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_access_list.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_access_list_ip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_cpu_class.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_dscp_map.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_fabric_local.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_igmp_snooping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_port_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_snmp_community.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_switch_setup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/netvisor/pn_vrouter_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nos/nos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nos/nos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/nos/nos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nos/nos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/nos/nos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nso/nso_action.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nso/nso_action.py validate-modules:doc-missing-type -lib/ansible/modules/network/nso/nso_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nso/nso_query.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nso/nso_show.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nso/nso_verify.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nuage/nuage_vspk.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/_nxos_ip_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/_nxos_ip_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/_nxos_mtu.py future-import-boilerplate -lib/ansible/modules/network/nxos/_nxos_mtu.py metaclass-boilerplate -lib/ansible/modules/network/nxos/_nxos_portchannel.py future-import-boilerplate -lib/ansible/modules/network/nxos/_nxos_portchannel.py metaclass-boilerplate -lib/ansible/modules/network/nxos/_nxos_switchport.py future-import-boilerplate -lib/ansible/modules/network/nxos/_nxos_switchport.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_aaa_server.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_aaa_server.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_aaa_server.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_aaa_server_host.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_acl.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_acl.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_acl.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_acl_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_acl_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_acl_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_banner.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_banner.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_bfd_global.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_bfd_global.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_bfd_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_bfd_global.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_bgp.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_bgp_af.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_af.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_bgp_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_bgp_neighbor.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_bgp_neighbor_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_config.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_config.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_evpn_global.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_evpn_global.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_evpn_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_evpn_global.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_evpn_vni.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_evpn_vni.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_evpn_vni.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_facts.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_facts.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_feature.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_feature.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_feature.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_gir.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_gir.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_gir.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_gir_profile_management.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_hsrp.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_hsrp.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_hsrp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_igmp.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_igmp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_igmp_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_igmp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_igmp_snooping.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_install_os.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_install_os.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_install_os.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_interface_ospf.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_interface_ospf.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_interface_ospf.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_lag_interfaces.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_logging.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_logging.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ntp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ntp_auth.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_ntp_auth.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ntp_auth.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ntp_options.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_ntp_options.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ntp_options.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_nxapi.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_nxapi.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_nxapi.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ospf.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_ospf.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ospf.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ospf_vrf.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_overlay_global.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_overlay_global.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_overlay_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_pim.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_pim.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_pim.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_pim_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_pim_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_pim_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_pim_rp_address.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_ping.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_ping.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_ping.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_reboot.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_reboot.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_reboot.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_reboot.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_rollback.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_rollback.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_rollback.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_rpm.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_rpm.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_rpm.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_smu.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_smu.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_smu.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snapshot.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snapshot.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_community.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_community.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snmp_community.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_contact.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_contact.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snmp_contact.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_host.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_host.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snmp_host.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_location.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_location.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snmp_location.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_traps.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_traps.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_traps.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_snmp_user.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_user.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_snmp_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_static_route.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_static_route.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_system.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_system.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_system.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_udld.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_udld.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_udld.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_udld_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_udld_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_udld_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_user.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_user.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/_nxos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_vpc.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vpc.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vpc.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vpc_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vpc_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vpc_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vrf.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:undocumented-parameter -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vrf.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/nxos/nxos_vrf_af.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf_af.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vrf_af.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vrf_interface.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf_interface.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vrf_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vrrp.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vrrp.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vrrp.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vtp_domain.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_domain.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vtp_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vtp_password.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_password.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vtp_password.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vtp_version.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_version.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vtp_version.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vxlan_vtep.py validate-modules:doc-missing-type -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py future-import-boilerplate -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py metaclass-boilerplate -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/nxos/nxos_vxlan_vtep_vni.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_bgp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_bgp.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_buffer_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_buffer_pool.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_command.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/onyx/onyx_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_config.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/onyx/onyx_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_igmp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_igmp.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_igmp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_igmp_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_igmp_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_lldp_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_magp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_magp.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_mlag_ipl.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_mlag_vip.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_ospf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_ospf.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_pfc_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_protocol.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_ptp_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_ptp_global.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_ptp_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_ptp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_qos.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_qos.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_traffic_class.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_traffic_class.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/onyx/onyx_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/onyx/onyx_vxlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/opx/opx_cps.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ordnance/ordnance_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:undocumented-parameter -lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ordnance/ordnance_facts.py validate-modules:doc-missing-type -lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ovs/openvswitch_bridge.py validate-modules:doc-missing-type -lib/ansible/modules/network/ovs/openvswitch_db.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ovs/openvswitch_db.py validate-modules:doc-missing-type -lib/ansible/modules/network/ovs/openvswitch_port.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/ovs/openvswitch_port.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_admin.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_admin.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_admin.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_admpwd.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_admpwd.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_admpwd.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_cert_gen_ssh.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_check.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_check.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_check.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_commit.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_commit.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_commit.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_commit.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_dag.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_dag.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_dag.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_dag_tags.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_dag_tags.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_dag_tags.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_dag_tags.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_import.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_import.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_import.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_interface.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_interface.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_lic.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_lic.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_lic.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_loadcfg.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_loadcfg.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_loadcfg.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_match_rule.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_match_rule.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_match_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_match_rule.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_mgtconfig.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_mgtconfig.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_mgtconfig.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_nat_policy.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_nat_policy.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_nat_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_nat_rule.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_object.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_object.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_object.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_object.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_op.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_op.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_op.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_pg.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_pg.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_pg.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_query_rules.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_query_rules.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_query_rules.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_restart.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_restart.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_sag.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_sag.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_sag.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_sag.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_security_policy.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_security_policy.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_security_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/panos/_panos_security_rule.py validate-modules:doc-missing-type -lib/ansible/modules/network/panos/_panos_set.py future-import-boilerplate -lib/ansible/modules/network/panos/_panos_set.py metaclass-boilerplate -lib/ansible/modules/network/panos/_panos_set.py validate-modules:doc-missing-type -lib/ansible/modules/network/radware/vdirect_commit.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/radware/vdirect_commit.py validate-modules:doc-missing-type -lib/ansible/modules/network/radware/vdirect_file.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/radware/vdirect_file.py validate-modules:doc-missing-type -lib/ansible/modules/network/radware/vdirect_runnable.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/radware/vdirect_runnable.py validate-modules:doc-missing-type -lib/ansible/modules/network/restconf/restconf_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/restconf/restconf_get.py validate-modules:doc-missing-type -lib/ansible/modules/network/routeros/routeros_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/routeros/routeros_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/routeros/routeros_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:undocumented-parameter -lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/skydive/skydive_capture.py validate-modules:doc-missing-type -lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:undocumented-parameter -lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/skydive/skydive_edge.py validate-modules:doc-missing-type -lib/ansible/modules/network/skydive/skydive_node.py validate-modules:undocumented-parameter -lib/ansible/modules/network/skydive/skydive_node.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/skydive/skydive_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/skydive/skydive_node.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_l2_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/slxos/slxos_lldp.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/slxos/slxos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/sros/sros_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/sros/sros_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/sros/sros_config.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/sros/sros_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/sros/sros_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/sros/sros_rollback.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/sros/sros_rollback.py validate-modules:doc-missing-type -lib/ansible/modules/network/voss/voss_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/voss/voss_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/voss/voss_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/voss/voss_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/voss/voss_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_banner.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_banner.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_banner.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_banner.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_command.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_command.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_command.py pylint:blacklisted-name -lib/ansible/modules/network/vyos/vyos_command.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_command.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_config.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_config.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_config.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_config.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_facts.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_facts.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_facts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/_vyos_interface.py future-import-boilerplate -lib/ansible/modules/network/vyos/_vyos_interface.py metaclass-boilerplate -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/_vyos_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/_vyos_l3_interface.py future-import-boilerplate -lib/ansible/modules/network/vyos/_vyos_l3_interface.py metaclass-boilerplate -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/_vyos_l3_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/_vyos_linkagg.py future-import-boilerplate -lib/ansible/modules/network/vyos/_vyos_linkagg.py metaclass-boilerplate -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/_vyos_linkagg.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/_vyos_lldp.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py future-import-boilerplate -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py metaclass-boilerplate -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/_vyos_lldp_interface.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/vyos_logging.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_logging.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_logging.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/vyos_ping.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_ping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_static_route.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_static_route.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_static_route.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/vyos_system.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_system.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_user.py future-import-boilerplate -lib/ansible/modules/network/vyos/vyos_user.py metaclass-boilerplate -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_user.py validate-modules:missing-suboption-docs -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:undocumented-parameter -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/network/vyos/vyos_vlan.py validate-modules:missing-suboption-docs -lib/ansible/modules/notification/bearychat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/campfire.py validate-modules:doc-missing-type -lib/ansible/modules/notification/catapult.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/catapult.py validate-modules:doc-missing-type -lib/ansible/modules/notification/cisco_spark.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/cisco_spark.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/cisco_spark.py validate-modules:doc-missing-type -lib/ansible/modules/notification/flowdock.py validate-modules:doc-missing-type -lib/ansible/modules/notification/grove.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/hipchat.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/hipchat.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/hipchat.py validate-modules:doc-missing-type -lib/ansible/modules/notification/irc.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/irc.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/irc.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/notification/irc.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/irc.py validate-modules:doc-missing-type -lib/ansible/modules/notification/jabber.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/jabber.py validate-modules:doc-missing-type -lib/ansible/modules/notification/logentries_msg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/mail.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/mail.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/mail.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/matrix.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/mattermost.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/mqtt.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/mqtt.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/mqtt.py validate-modules:doc-missing-type -lib/ansible/modules/notification/nexmo.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/nexmo.py validate-modules:doc-missing-type -lib/ansible/modules/notification/office_365_connector_card.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/office_365_connector_card.py validate-modules:doc-missing-type -lib/ansible/modules/notification/pushbullet.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/pushbullet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/pushover.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/pushover.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/notification/pushover.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/pushover.py validate-modules:doc-missing-type -lib/ansible/modules/notification/rabbitmq_publish.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/rocketchat.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/notification/rocketchat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/say.py validate-modules:doc-missing-type -lib/ansible/modules/notification/sendgrid.py validate-modules:undocumented-parameter -lib/ansible/modules/notification/sendgrid.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/sendgrid.py validate-modules:doc-missing-type -lib/ansible/modules/notification/slack.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/notification/slack.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/syslogger.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/telegram.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/twilio.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/twilio.py validate-modules:doc-missing-type -lib/ansible/modules/notification/typetalk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/notification/typetalk.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/bower.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/bower.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/bundler.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/language/bundler.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/bundler.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/composer.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/language/composer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/cpanm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/cpanm.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/easy_install.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/language/easy_install.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/easy_install.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/gem.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/maven_artifact.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/pear.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/language/pear.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/language/pear.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/pear.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/language/pip.py pylint:blacklisted-name -lib/ansible/modules/packaging/language/yarn.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/language/yarn.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/apk.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/apk.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/apk.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/apt.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/apt.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/apt.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/apt.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/apt_key.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/apt_key.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/apt_repo.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/apt_repository.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/apt_repository.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/apt_repository.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/apt_repository.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/apt_rpm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/dnf.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/dnf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/dnf.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/dpkg_selections.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/flatpak.py validate-modules:use-run-command-not-popen -lib/ansible/modules/packaging/os/flatpak.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/flatpak_remote.py validate-modules:use-run-command-not-popen -lib/ansible/modules/packaging/os/flatpak_remote.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/homebrew.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/homebrew.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/homebrew.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/homebrew.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/homebrew_cask.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/homebrew_tap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/homebrew_tap.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/layman.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/layman.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/macports.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/macports.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/macports.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/openbsd_pkg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/openbsd_pkg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/opkg.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/opkg.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/opkg.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/package_facts.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/pacman.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/pacman.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/pkg5.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/pkg5.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/pkg5_publisher.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/pkg5_publisher.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/pkgin.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/pkgin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/pkgin.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/pkgng.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/pkgng.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/pkgng.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/pkgutil.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/portage.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/portage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/portage.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/portinstall.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/portinstall.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/pulp_repo.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/redhat_subscription.py validate-modules:return-syntax-error -lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/rhn_channel.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/rhsm_release.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/rhsm_repository.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/rpm_key.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/slackpkg.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/snap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/sorcery.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/sorcery.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/svr4pkg.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/swdepot.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/swdepot.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/swupd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/urpmi.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/urpmi.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/urpmi.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/urpmi.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/urpmi.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/xbps.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/xbps.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/xbps.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/xbps.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/xbps.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/yum.py pylint:blacklisted-name -lib/ansible/modules/packaging/os/yum.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/yum.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/yum.py validate-modules:parameter-invalid -lib/ansible/modules/packaging/os/yum.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/yum.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/yum_repository.py validate-modules:undocumented-parameter -lib/ansible/modules/packaging/os/yum_repository.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/packaging/os/yum_repository.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/yum_repository.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/zypper.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/packaging/os/zypper.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/zypper.py validate-modules:doc-missing-type -lib/ansible/modules/packaging/os/zypper_repository.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/packaging/os/zypper_repository.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/cobbler/cobbler_sync.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cobbler/cobbler_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_plugconfig.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_plugconfig.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/cpm/cpm_plugcontrol.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_plugcontrol.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/cpm/cpm_serial_port_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_serial_port_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/cpm/cpm_user.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/dellemc/idrac_server_config_profile.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/foreman/_foreman.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/foreman/_katello.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/hpilo/hpilo_boot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/hpilo/hpilo_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/hpilo/hponcfg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/imc/imc_rest.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/intersight/intersight_rest_api.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ipmi/ipmi_boot.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ipmi/ipmi_power.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/lxca/lxca_cmms.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/lxca/lxca_nodes.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_alert_profiles.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_alerts.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_group.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_policies.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_policies.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_provider.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_tags.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_tags.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_tenant.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/manageiq/manageiq_user.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/oneview/oneview_datacenter_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_datacenter_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_enclosure_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_enclosure_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_ethernet_network.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_ethernet_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_ethernet_network_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_ethernet_network_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_fc_network.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/oneview/oneview_fc_network_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_fc_network_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_fcoe_network.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/oneview/oneview_fcoe_network_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_fcoe_network_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_logical_interconnect_group_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_network_set.py validate-modules:doc-missing-type -lib/ansible/modules/remote_management/oneview/oneview_network_set_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_network_set_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_san_manager.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_san_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/oneview/oneview_san_manager_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/stacki/stacki_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/ucs/ucs_disk_group_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_ip_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_lan_connectivity.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_mac_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_managed_objects.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/ucs/ucs_managed_objects.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_ntp_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/remote_management/ucs/ucs_san_connectivity.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_service_profile_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:doc-type-does-not-match-spec -lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/ucs/ucs_storage_profile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_timezone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_uuid_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/remote_management/ucs/ucs_vhba_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_vlans.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/remote_management/ucs/ucs_vnic_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_vsans.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/ucs/ucs_vsans.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:undocumented-parameter -lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/remote_management/ucs/ucs_wwn_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/remote_management/wakeonlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/_github_hooks.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/bzr.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/git.py pylint:blacklisted-name -lib/ansible/modules/source_control/git.py use-argspec-type-path -lib/ansible/modules/source_control/git.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/git.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/git_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/git_config.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/github_deploy_key.py validate-modules:parameter-invalid -lib/ansible/modules/source_control/github_deploy_key.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/github_deploy_key.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/github_issue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/github_issue.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/github_key.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/github_release.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/github_release.py validate-modules:doc-missing-type -lib/ansible/modules/source_control/github_webhook.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/github_webhook_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/hg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/source_control/subversion.py validate-modules:undocumented-parameter -lib/ansible/modules/source_control/subversion.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/emc/emc_vnx_sg_member.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/emc/emc_vnx_sg_member.py validate-modules:doc-missing-type -lib/ansible/modules/storage/glusterfs/gluster_heal_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/glusterfs/gluster_peer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/glusterfs/gluster_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/ibm/ibm_sa_domain.py validate-modules:doc-missing-type -lib/ansible/modules/storage/ibm/ibm_sa_host.py validate-modules:doc-missing-type -lib/ansible/modules/storage/ibm/ibm_sa_host_ports.py validate-modules:doc-missing-type -lib/ansible/modules/storage/ibm/ibm_sa_pool.py validate-modules:doc-missing-type -lib/ansible/modules/storage/ibm/ibm_sa_vol.py validate-modules:doc-missing-type -lib/ansible/modules/storage/ibm/ibm_sa_vol_map.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/infinidat/infini_export.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_export_client.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/storage/infinidat/infini_export_client.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_fs.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/infinidat/infini_host.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_pool.py validate-modules:doc-missing-type -lib/ansible/modules/storage/infinidat/infini_vol.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_aggregate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_aggregate.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_license.py validate-modules:incompatible-default-type -lib/ansible/modules/storage/netapp/_na_cdot_license.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_lun.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_lun.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_qtree.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_qtree.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_svm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_svm.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_user.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_user_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_user_role.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_cdot_volume.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_sf_account_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_sf_account_manager.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_sf_check_connections.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_sf_snapshot_schedule_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_sf_snapshot_schedule_manager.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_sf_volume_access_group_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_sf_volume_access_group_manager.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:parameter-invalid -lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_sf_volume_manager.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_access_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_access_group.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_account.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_account.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_admin_users.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_admin_users.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_backup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_backup.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_check_connections.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_cluster_config.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_cluster_pair.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_cluster_pair.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_cluster_snmp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_drive.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_drive.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_initiators.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_ldap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_network_interfaces.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_node.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_snapshot_restore.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_snapshot_schedule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_snapshot_schedule.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:parameter-invalid -lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_volume.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_volume_clone.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_volume_clone.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_elementsw_volume_pair.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_elementsw_volume_pair.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_aggregate.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_aggregate.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_autosupport.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_autosupport.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain_ports.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_broadcast_domain_ports.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_cg_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_cg_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_cifs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_cifs_acl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_cifs_server.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_cifs_server.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_cluster.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_cluster.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_cluster_ha.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_cluster_peer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_command.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_disks.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_dns.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_dns.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_export_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_export_policy_rule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_fcp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_fcp.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_firewall_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_firewall_policy.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_flexcache.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_ontap_gather_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/_na_ontap_gather_facts.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_igroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_igroup.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_igroup_initiator.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_igroup_initiator.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_interface.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_ipspace.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_ipspace.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_iscsi.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_iscsi.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_job_schedule.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_job_schedule.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_license.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_license.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_lun.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_lun.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_lun_copy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_lun_copy.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_lun_map.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_lun_map.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_motd.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_net_ifgrp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_net_ifgrp.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_net_port.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_net_port.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_net_routes.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_net_routes.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_net_subnet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_net_subnet.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_net_vlan.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_net_vlan.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:parameter-invalid -lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_nfs.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_node.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_ntp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_ntp.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_nvme.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_nvme_namespace.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_nvme_subsystem.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_portset.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_portset.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_qos_policy_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_qtree.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_security_key_manager.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_security_key_manager.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_service_processor_network.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_service_processor_network.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_snapmirror.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_snapshot.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_snapshot.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_snapshot_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_snapshot_policy.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_snmp.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_software_update.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_svm.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_svm.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_svm_options.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_ucadapter.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_ucadapter.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_unix_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_unix_group.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_unix_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_unix_user.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_user.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_user_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_user_role.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_volume.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_volume_clone.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_vscan_on_access_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_vscan_on_access_policy.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_vscan_on_demand_task.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_vscan_on_demand_task.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_vscan_scanner_pool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/na_ontap_vscan_scanner_pool.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/na_ontap_vserver_peer.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_alerts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_amg.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_amg_role.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_amg_sync.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_asup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_auditlog.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_auth.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_flashcache.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_global.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_hostgroup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_iscsi_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_iscsi_target.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_ldap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_lun_mapping.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_lun_mapping.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_mgmt_interface.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_snapshot_group.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_snapshot_images.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_snapshot_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_storage_system.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_storagepool.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_storagepool.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_syslog.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_syslog.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/netapp/netapp_e_volume.py validate-modules:doc-missing-type -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:undocumented-parameter -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:implied-parameter-type-mismatch -lib/ansible/modules/storage/netapp/netapp_e_volume_copy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/purestorage/purefa_dsrole.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/purestorage/_purefa_facts.py validate-modules:return-syntax-error -lib/ansible/modules/storage/purestorage/purefa_info.py validate-modules:return-syntax-error -lib/ansible/modules/storage/purestorage/purefa_pgsnap.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/purestorage/_purefb_facts.py validate-modules:return-syntax-error -lib/ansible/modules/storage/purestorage/purefb_fs.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/storage/purestorage/purefb_info.py validate-modules:return-syntax-error -lib/ansible/modules/storage/zfs/zfs.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/zfs/zfs_delegate_admin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/zfs/zfs_facts.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/storage/zfs/zfs_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/storage/zfs/zpool_facts.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/storage/zfs/zpool_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/alternatives.py pylint:blacklisted-name -lib/ansible/modules/system/authorized_key.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/beadm.py pylint:blacklisted-name -lib/ansible/modules/system/cronvar.py pylint:blacklisted-name -lib/ansible/modules/system/dconf.py pylint:blacklisted-name -lib/ansible/modules/system/dconf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/dconf.py validate-modules:doc-missing-type -lib/ansible/modules/system/filesystem.py pylint:blacklisted-name -lib/ansible/modules/system/filesystem.py validate-modules:doc-missing-type -lib/ansible/modules/system/gconftool2.py pylint:blacklisted-name -lib/ansible/modules/system/gconftool2.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/getent.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/hostname.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/interfaces_file.py pylint:blacklisted-name -lib/ansible/modules/system/interfaces_file.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/iptables.py pylint:blacklisted-name -lib/ansible/modules/system/java_cert.py pylint:blacklisted-name -lib/ansible/modules/system/java_keystore.py validate-modules:doc-missing-type -lib/ansible/modules/system/kernel_blacklist.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/known_hosts.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/system/known_hosts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/known_hosts.py validate-modules:doc-missing-type -lib/ansible/modules/system/locale_gen.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/lvg.py pylint:blacklisted-name -lib/ansible/modules/system/lvol.py pylint:blacklisted-name -lib/ansible/modules/system/lvol.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/mksysb.py validate-modules:doc-missing-type -lib/ansible/modules/system/modprobe.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/nosh.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/nosh.py validate-modules:doc-missing-type -lib/ansible/modules/system/openwrt_init.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/openwrt_init.py validate-modules:doc-missing-type -lib/ansible/modules/system/pam_limits.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/parted.py pylint:blacklisted-name -lib/ansible/modules/system/puppet.py use-argspec-type-path -lib/ansible/modules/system/puppet.py validate-modules:undocumented-parameter -lib/ansible/modules/system/puppet.py validate-modules:parameter-invalid -lib/ansible/modules/system/puppet.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/python_requirements_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/runit.py validate-modules:undocumented-parameter -lib/ansible/modules/system/runit.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/system/runit.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/seboolean.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/selinux.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/selogin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/service.py validate-modules:use-run-command-not-popen -lib/ansible/modules/system/service.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/system/setup.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/setup.py validate-modules:doc-missing-type -lib/ansible/modules/system/sysctl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/sysctl.py validate-modules:doc-missing-type -lib/ansible/modules/system/syspatch.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/systemd.py validate-modules:parameter-invalid -lib/ansible/modules/system/systemd.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/systemd.py validate-modules:return-syntax-error -lib/ansible/modules/system/sysvinit.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/system/sysvinit.py validate-modules:return-syntax-error -lib/ansible/modules/system/timezone.py pylint:blacklisted-name -lib/ansible/modules/system/user.py validate-modules:use-run-command-not-popen -lib/ansible/modules/system/user.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/system/user.py validate-modules:doc-default-incompatible-type -lib/ansible/modules/system/xfconf.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/utilities/logic/async_status.py use-argspec-type-path -lib/ansible/modules/utilities/logic/async_status.py validate-modules!skip -lib/ansible/modules/utilities/logic/async_wrapper.py ansible-doc!skip # not an actual module -lib/ansible/modules/utilities/logic/async_wrapper.py use-argspec-type-path -lib/ansible/modules/utilities/logic/wait_for.py pylint:blacklisted-name -lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential_type.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_credential_type.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py use-argspec-type-path -lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/web_infrastructure/ansible_tower/tower_group.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_host.py use-argspec-type-path -lib/ansible/modules/web_infrastructure/ansible_tower/tower_host.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory_source.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_inventory_source.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_cancel.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_list.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_list.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_template.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_wait.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_label.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_notification.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_notification.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_organization.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_receive.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_role.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_send.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_send.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_settings.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_team.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/ansible_tower/tower_team.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_user.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_launch.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_launch.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ansible_tower/tower_workflow_template.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/web_infrastructure/apache2_mod_proxy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/apache2_module.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/apache2_module.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/deploy_helper.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/deploy_helper.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:no-default-for-required-parameter -lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/django_manage.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/ejabberd_user.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/ejabberd_user.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/gunicorn.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/gunicorn.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/htpasswd.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/web_infrastructure/htpasswd.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/jenkins_job.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/jenkins_job_info.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/jenkins_plugin.py use-argspec-type-path -lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/jenkins_plugin.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/jenkins_script.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/jira.py validate-modules:undocumented-parameter -lib/ansible/modules/web_infrastructure/jira.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/jira.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/_nginx_status_facts.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/_nginx_status_facts.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/rundeck_acl_policy.py pylint:blacklisted-name -lib/ansible/modules/web_infrastructure/rundeck_acl_policy.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/rundeck_project.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_aaa_group_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_dns_host.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_network_interface_address_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_auth_profile.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_frontend_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_location.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/sophos_utm/utm_proxy_location_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/supervisorctl.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/supervisorctl.py validate-modules:doc-missing-type -lib/ansible/modules/web_infrastructure/taiga_issue.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/web_infrastructure/taiga_issue.py validate-modules:doc-missing-type -lib/ansible/modules/windows/_win_msi.py future-import-boilerplate -lib/ansible/modules/windows/_win_msi.py metaclass-boilerplate -lib/ansible/modules/windows/async_status.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/setup.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_acl_inheritance.ps1 pslint:PSAvoidTrailingWhitespace -lib/ansible/modules/windows/win_audit_rule.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_certificate_store.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_chocolatey_config.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_chocolatey_facts.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_chocolatey_source.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_copy.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_credential.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_credential.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_dns_client.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_dns_client.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_domain.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep -lib/ansible/modules/windows/win_domain.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSAvoidGlobalVars # New PR -lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_domain_controller.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSAvoidGlobalVars # New PR -lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_domain_membership.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_dotnet_ngen.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_dsc.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep -lib/ansible/modules/windows/win_dsc.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_eventlog.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_feature.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_file_version.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_find.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep -lib/ansible/modules/windows/win_firewall_rule.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_hotfix.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_hotfix.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_http_proxy.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_iis_virtualdirectory.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_iis_webapplication.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_iis_webapppool.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_iis_webbinding.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_iis_webbinding.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_iis_website.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_inet_proxy.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_lineinfile.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_mapped_drive.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_package.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_package.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSUseDeclaredVarsMoreThanAssignments # New PR - bug test_path should be testPath -lib/ansible/modules/windows/win_pagefile.ps1 pslint:PSUseSupportsShouldProcess -lib/ansible/modules/windows/win_pester.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_product_facts.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_psexec.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_rabbitmq_plugin.ps1 pslint:PSAvoidUsingInvokeExpression -lib/ansible/modules/windows/win_rabbitmq_plugin.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_rds_cap.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_rds_rap.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_rds_settings.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_regedit.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_region.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep -lib/ansible/modules/windows/win_region.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_regmerge.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_robocopy.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_say.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_security_policy.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_security_policy.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_share.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_shell.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_shortcut.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_snmp.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_unzip.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_unzip.ps1 pslint:PSUseApprovedVerbs -lib/ansible/modules/windows/win_updates.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_uri.ps1 pslint:PSAvoidUsingEmptyCatchBlock # Keep -lib/ansible/modules/windows/win_user_profile.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_user_profile.ps1 validate-modules:parameter-type-not-in-doc -lib/ansible/modules/windows/win_wait_for.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/modules/windows/win_webpicmd.ps1 pslint:PSAvoidUsingInvokeExpression -lib/ansible/modules/windows/win_xml.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/parsing/vault/__init__.py pylint:blacklisted-name -lib/ansible/playbook/base.py pylint:blacklisted-name -lib/ansible/playbook/collectionsearch.py required-and-default-attributes # https://github.com/ansible/ansible/issues/61460 -lib/ansible/playbook/helpers.py pylint:blacklisted-name -lib/ansible/playbook/role/__init__.py pylint:blacklisted-name -lib/ansible/plugins/action/aireos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/aruba.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/asa.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/bigip.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -lib/ansible/plugins/action/bigiq.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -lib/ansible/plugins/action/ce.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/ce_template.py action-plugin-docs # undocumented action plugin to fix, existed before sanity test was added -lib/ansible/plugins/action/cnos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/dellos10.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/dellos6.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/dellos9.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/enos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/eos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/ios.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/iosxr.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/ironware.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/net_base.py action-plugin-docs # base class for other net_* action plugins which have a matching module -lib/ansible/plugins/action/netconf.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/network.py action-plugin-docs # base class for network action plugins -lib/ansible/plugins/action/normal.py action-plugin-docs # default action plugin for modules without a dedicated action plugin -lib/ansible/plugins/action/nxos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/sros.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/action/vyos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility -lib/ansible/plugins/callback/hipchat.py pylint:blacklisted-name -lib/ansible/plugins/connection/lxc.py pylint:blacklisted-name -lib/ansible/plugins/doc_fragments/a10.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/a10.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aci.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aci.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aireos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aireos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/alicloud.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/alicloud.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aruba.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aruba.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/asa.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/asa.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/auth_basic.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/auth_basic.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/avi.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/avi.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aws.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aws.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aws_credentials.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aws_credentials.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/aws_region.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/aws_region.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/azure.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/azure.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/azure_tags.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/azure_tags.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/backup.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/backup.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ce.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ce.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/cloudscale.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/cloudscale.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/cloudstack.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/cloudstack.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/cnos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/cnos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/constructed.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/constructed.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/decrypt.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/decrypt.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/default_callback.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/default_callback.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/dellos10.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/dellos10.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/dellos6.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/dellos6.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/dellos9.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/dellos9.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/digital_ocean.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/digital_ocean.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/dimensiondata.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/dimensiondata.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/dimensiondata_wait.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/dimensiondata_wait.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ec2.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ec2.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/emc.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/emc.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/enos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/enos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/eos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/eos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/exoscale.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/exoscale.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/f5.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/f5.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/files.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/files.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/fortios.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/fortios.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/gcp.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/gcp.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/hcloud.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/hcloud.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/hetzner.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/hetzner.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/hpe3par.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/hpe3par.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/hwc.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/hwc.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/infinibox.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/infinibox.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/influxdb.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/influxdb.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ingate.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ingate.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/intersight.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/intersight.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/inventory_cache.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/inventory_cache.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ios.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ios.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/iosxr.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/iosxr.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ipa.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ipa.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ironware.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ironware.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/junos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/junos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/k8s_auth_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/k8s_auth_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/k8s_name_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/k8s_name_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/k8s_resource_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/k8s_resource_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/k8s_scale_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/k8s_scale_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/k8s_state_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/k8s_state_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/keycloak.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/keycloak.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/kubevirt_common_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/kubevirt_common_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/kubevirt_vm_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/kubevirt_vm_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ldap.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ldap.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/lxca_common.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/lxca_common.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/manageiq.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/manageiq.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/meraki.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/meraki.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/mso.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/mso.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/mysql.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/mysql.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/netapp.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/netapp.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/netconf.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/netconf.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/netscaler.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/netscaler.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/network_agnostic.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/network_agnostic.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/nios.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/nios.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/nso.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/nso.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/nxos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/nxos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oneview.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oneview.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/online.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/online.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/onyx.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/onyx.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/opennebula.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/opennebula.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/openstack.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/openstack.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/openswitch.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/openswitch.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle_creatable_resource.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle_creatable_resource.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle_display_name_option.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle_display_name_option.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle_name_option.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle_name_option.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle_tags.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle_tags.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/oracle_wait_options.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/oracle_wait_options.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ovirt.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ovirt.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ovirt_info.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ovirt_info.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/panos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/panos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/postgres.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/postgres.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/proxysql.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/proxysql.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/purestorage.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/purestorage.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/rabbitmq.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/rabbitmq.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/rackspace.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/rackspace.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/return_common.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/return_common.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/scaleway.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/scaleway.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/shell_common.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/shell_common.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/shell_windows.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/shell_windows.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/skydive.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/skydive.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/sros.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/sros.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/tower.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/tower.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/ucs.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/ucs.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/url.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/url.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/utm.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/utm.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/validate.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/validate.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vca.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vca.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vexata.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vexata.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vmware.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vmware.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vmware_rest_client.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vmware_rest_client.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vultr.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vultr.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/vyos.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/vyos.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/xenserver.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/xenserver.py metaclass-boilerplate -lib/ansible/plugins/doc_fragments/zabbix.py future-import-boilerplate -lib/ansible/plugins/doc_fragments/zabbix.py metaclass-boilerplate -lib/ansible/plugins/lookup/sequence.py pylint:blacklisted-name -lib/ansible/plugins/strategy/__init__.py pylint:blacklisted-name -lib/ansible/plugins/strategy/linear.py pylint:blacklisted-name -lib/ansible/vars/hostvars.py pylint:blacklisted-name -setup.py future-import-boilerplate -setup.py metaclass-boilerplate -test/integration/targets/ansible-runner/files/adhoc_example1.py future-import-boilerplate -test/integration/targets/ansible-runner/files/adhoc_example1.py metaclass-boilerplate -test/integration/targets/ansible-runner/files/playbook_example1.py future-import-boilerplate -test/integration/targets/ansible-runner/files/playbook_example1.py metaclass-boilerplate -test/integration/targets/async/library/async_test.py future-import-boilerplate -test/integration/targets/async/library/async_test.py metaclass-boilerplate -test/integration/targets/async_fail/library/async_test.py future-import-boilerplate -test/integration/targets/async_fail/library/async_test.py metaclass-boilerplate -test/integration/targets/aws_lambda/files/mini_lambda.py future-import-boilerplate -test/integration/targets/aws_lambda/files/mini_lambda.py metaclass-boilerplate -test/integration/targets/collections_plugin_namespace/collection_root/ansible_collections/my_ns/my_col/plugins/lookup/lookup_no_future_boilerplate.py future-import-boilerplate -test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/module_utils/my_util2.py pylint:relative-beyond-top-level -test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/module_utils/my_util3.py pylint:relative-beyond-top-level -test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/modules/my_module.py pylint:relative-beyond-top-level -test/integration/targets/expect/files/test_command.py future-import-boilerplate -test/integration/targets/expect/files/test_command.py metaclass-boilerplate -test/integration/targets/get_url/files/testserver.py future-import-boilerplate -test/integration/targets/get_url/files/testserver.py metaclass-boilerplate -test/integration/targets/group/files/gidget.py future-import-boilerplate -test/integration/targets/group/files/gidget.py metaclass-boilerplate -test/integration/targets/ignore_unreachable/fake_connectors/bad_exec.py future-import-boilerplate -test/integration/targets/ignore_unreachable/fake_connectors/bad_exec.py metaclass-boilerplate -test/integration/targets/ignore_unreachable/fake_connectors/bad_put_file.py future-import-boilerplate -test/integration/targets/ignore_unreachable/fake_connectors/bad_put_file.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/inventory_diff.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/inventory_diff.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/__init__.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/__init__.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/ec2/__init__.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/ec2/__init__.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/elasticache/__init__.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/elasticache/__init__.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/exception.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/exception.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/exceptions.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/exceptions.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/mocks/instances.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/mocks/instances.py metaclass-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/session.py future-import-boilerplate -test/integration/targets/inventory_aws_conformance/lib/boto/session.py metaclass-boilerplate -test/integration/targets/inventory_cloudscale/filter_plugins/group_name.py future-import-boilerplate -test/integration/targets/inventory_cloudscale/filter_plugins/group_name.py metaclass-boilerplate -test/integration/targets/inventory_kubevirt_conformance/inventory_diff.py future-import-boilerplate -test/integration/targets/inventory_kubevirt_conformance/inventory_diff.py metaclass-boilerplate -test/integration/targets/inventory_kubevirt_conformance/server.py future-import-boilerplate -test/integration/targets/inventory_kubevirt_conformance/server.py metaclass-boilerplate -test/integration/targets/jinja2_native_types/filter_plugins/native_plugins.py future-import-boilerplate -test/integration/targets/jinja2_native_types/filter_plugins/native_plugins.py metaclass-boilerplate -test/integration/targets/lambda_policy/files/mini_http_lambda.py future-import-boilerplate -test/integration/targets/lambda_policy/files/mini_http_lambda.py metaclass-boilerplate -test/integration/targets/lookup_properties/lookup-8859-15.ini no-smart-quotes -test/integration/targets/module_precedence/lib_with_extension/ping.py future-import-boilerplate -test/integration/targets/module_precedence/lib_with_extension/ping.py metaclass-boilerplate -test/integration/targets/module_precedence/multiple_roles/bar/library/ping.py future-import-boilerplate -test/integration/targets/module_precedence/multiple_roles/bar/library/ping.py metaclass-boilerplate -test/integration/targets/module_precedence/multiple_roles/foo/library/ping.py future-import-boilerplate -test/integration/targets/module_precedence/multiple_roles/foo/library/ping.py metaclass-boilerplate -test/integration/targets/module_precedence/roles_with_extension/foo/library/ping.py future-import-boilerplate -test/integration/targets/module_precedence/roles_with_extension/foo/library/ping.py metaclass-boilerplate -test/integration/targets/module_utils/library/test.py future-import-boilerplate -test/integration/targets/module_utils/library/test.py metaclass-boilerplate -test/integration/targets/module_utils/library/test_env_override.py future-import-boilerplate -test/integration/targets/module_utils/library/test_env_override.py metaclass-boilerplate -test/integration/targets/module_utils/library/test_failure.py future-import-boilerplate -test/integration/targets/module_utils/library/test_failure.py metaclass-boilerplate -test/integration/targets/module_utils/library/test_override.py future-import-boilerplate -test/integration/targets/module_utils/library/test_override.py metaclass-boilerplate -test/integration/targets/module_utils/module_utils/bar0/foo.py pylint:blacklisted-name -test/integration/targets/module_utils/module_utils/foo.py pylint:blacklisted-name -test/integration/targets/module_utils/module_utils/sub/bar/__init__.py pylint:blacklisted-name -test/integration/targets/module_utils/module_utils/sub/bar/bar.py pylint:blacklisted-name -test/integration/targets/module_utils/module_utils/yak/zebra/foo.py pylint:blacklisted-name -test/integration/targets/old_style_modules_posix/library/helloworld.sh shebang -test/integration/targets/pause/test-pause.py future-import-boilerplate -test/integration/targets/pause/test-pause.py metaclass-boilerplate -test/integration/targets/pip/files/ansible_test_pip_chdir/__init__.py future-import-boilerplate -test/integration/targets/pip/files/ansible_test_pip_chdir/__init__.py metaclass-boilerplate -test/integration/targets/pip/files/setup.py future-import-boilerplate -test/integration/targets/pip/files/setup.py metaclass-boilerplate -test/integration/targets/run_modules/library/test.py future-import-boilerplate -test/integration/targets/run_modules/library/test.py metaclass-boilerplate -test/integration/targets/s3_bucket_notification/files/mini_lambda.py future-import-boilerplate -test/integration/targets/s3_bucket_notification/files/mini_lambda.py metaclass-boilerplate -test/integration/targets/script/files/no_shebang.py future-import-boilerplate -test/integration/targets/script/files/no_shebang.py metaclass-boilerplate -test/integration/targets/service/files/ansible_test_service.py future-import-boilerplate -test/integration/targets/service/files/ansible_test_service.py metaclass-boilerplate -test/integration/targets/setup_rpm_repo/files/create-repo.py future-import-boilerplate -test/integration/targets/setup_rpm_repo/files/create-repo.py metaclass-boilerplate -test/integration/targets/sns_topic/files/sns_topic_lambda/sns_topic_lambda.py future-import-boilerplate -test/integration/targets/sns_topic/files/sns_topic_lambda/sns_topic_lambda.py metaclass-boilerplate -test/integration/targets/supervisorctl/files/sendProcessStdin.py future-import-boilerplate -test/integration/targets/supervisorctl/files/sendProcessStdin.py metaclass-boilerplate -test/integration/targets/template/files/encoding_1252_utf-8.expected no-smart-quotes -test/integration/targets/template/files/encoding_1252_windows-1252.expected no-smart-quotes -test/integration/targets/template/files/foo.dos.txt line-endings -test/integration/targets/template/role_filter/filter_plugins/myplugin.py future-import-boilerplate -test/integration/targets/template/role_filter/filter_plugins/myplugin.py metaclass-boilerplate -test/integration/targets/template/templates/encoding_1252.j2 no-smart-quotes -test/integration/targets/test_infra/library/test.py future-import-boilerplate -test/integration/targets/test_infra/library/test.py metaclass-boilerplate -test/integration/targets/unicode/unicode.yml no-smart-quotes -test/integration/targets/uri/files/testserver.py future-import-boilerplate -test/integration/targets/uri/files/testserver.py metaclass-boilerplate -test/integration/targets/var_precedence/ansible-var-precedence-check.py future-import-boilerplate -test/integration/targets/var_precedence/ansible-var-precedence-check.py metaclass-boilerplate -test/integration/targets/vars_prompt/test-vars_prompt.py future-import-boilerplate -test/integration/targets/vars_prompt/test-vars_prompt.py metaclass-boilerplate -test/integration/targets/vault/test-vault-client.py future-import-boilerplate -test/integration/targets/vault/test-vault-client.py metaclass-boilerplate -test/integration/targets/wait_for/files/testserver.py future-import-boilerplate -test/integration/targets/wait_for/files/testserver.py metaclass-boilerplate -test/integration/targets/want_json_modules_posix/library/helloworld.py future-import-boilerplate -test/integration/targets/want_json_modules_posix/library/helloworld.py metaclass-boilerplate -test/integration/targets/win_audit_rule/library/test_get_audit_rule.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_chocolatey/files/tools/chocolateyUninstall.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_chocolatey_source/library/choco_source.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_csharp_utils/library/ansible_basic_tests.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_csharp_utils/library/ansible_basic_tests.ps1 pslint:PSUseDeclaredVarsMoreThanAssignments # test setup requires vars to be set globally and not referenced in the same scope -test/integration/targets/win_csharp_utils/library/ansible_become_tests.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_dsc/files/xTestDsc/1.0.0/DSCResources/ANSIBLE_xSetReboot/ANSIBLE_xSetReboot.psm1 pslint!skip -test/integration/targets/win_dsc/files/xTestDsc/1.0.0/DSCResources/ANSIBLE_xTestResource/ANSIBLE_xTestResource.psm1 pslint!skip -test/integration/targets/win_dsc/files/xTestDsc/1.0.0/xTestDsc.psd1 pslint!skip -test/integration/targets/win_dsc/files/xTestDsc/1.0.1/DSCResources/ANSIBLE_xTestResource/ANSIBLE_xTestResource.psm1 pslint!skip -test/integration/targets/win_dsc/files/xTestDsc/1.0.1/xTestDsc.psd1 pslint!skip -test/integration/targets/win_exec_wrapper/library/test_fail.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_iis_webbinding/library/test_get_webbindings.ps1 pslint:PSUseApprovedVerbs -test/integration/targets/win_module_utils/library/argv_parser_test.ps1 pslint:PSUseApprovedVerbs -test/integration/targets/win_module_utils/library/backup_file_test.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_module_utils/library/command_util_test.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_module_utils/library/legacy_only_new_way_win_line_ending.ps1 line-endings -test/integration/targets/win_module_utils/library/legacy_only_old_way_win_line_ending.ps1 line-endings -test/integration/targets/win_ping/library/win_ping_syntax_error.ps1 pslint!skip -test/integration/targets/win_psmodule/files/module/template.psd1 pslint!skip -test/integration/targets/win_psmodule/files/module/template.psm1 pslint!skip -test/integration/targets/win_psmodule/files/setup_modules.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_reboot/templates/post_reboot.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_regmerge/templates/win_line_ending.j2 line-endings -test/integration/targets/win_script/files/test_script.ps1 pslint:PSAvoidUsingWriteHost # Keep -test/integration/targets/win_script/files/test_script_creates_file.ps1 pslint:PSAvoidUsingCmdletAliases -test/integration/targets/win_script/files/test_script_removes_file.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_script/files/test_script_with_args.ps1 pslint:PSAvoidUsingWriteHost # Keep -test/integration/targets/win_script/files/test_script_with_splatting.ps1 pslint:PSAvoidUsingWriteHost # Keep -test/integration/targets/win_stat/library/test_symlink_file.ps1 pslint:PSCustomUseLiteralPath -test/integration/targets/win_template/files/foo.dos.txt line-endings -test/integration/targets/win_user_right/library/test_get_right.ps1 pslint:PSCustomUseLiteralPath -test/legacy/cleanup_ec2.py future-import-boilerplate -test/legacy/cleanup_ec2.py metaclass-boilerplate -test/legacy/cleanup_gce.py future-import-boilerplate -test/legacy/cleanup_gce.py metaclass-boilerplate -test/legacy/cleanup_gce.py pylint:blacklisted-name -test/legacy/cleanup_rax.py future-import-boilerplate -test/legacy/cleanup_rax.py metaclass-boilerplate -test/legacy/consul_running.py future-import-boilerplate -test/legacy/consul_running.py metaclass-boilerplate -test/legacy/gce_credentials.py future-import-boilerplate -test/legacy/gce_credentials.py metaclass-boilerplate -test/legacy/gce_credentials.py pylint:blacklisted-name -test/legacy/setup_gce.py future-import-boilerplate -test/legacy/setup_gce.py metaclass-boilerplate -test/lib/ansible_test/_data/requirements/constraints.txt test-constraints -test/lib/ansible_test/_data/requirements/integration.cloud.azure.txt test-constraints -test/lib/ansible_test/_data/setup/windows-httptester.ps1 pslint:PSCustomUseLiteralPath -test/lib/ansible_test/_data/sanity/pylint/plugins/string_format.py use-compat-six -test/lib/ansible_test/_data/setup/ConfigureRemotingForAnsible.ps1 pslint:PSCustomUseLiteralPath -test/units/config/manager/test_find_ini_config_file.py future-import-boilerplate -test/units/contrib/inventory/test_vmware_inventory.py future-import-boilerplate -test/units/contrib/inventory/test_vmware_inventory.py metaclass-boilerplate -test/units/contrib/inventory/test_vmware_inventory.py pylint:blacklisted-name -test/units/executor/test_play_iterator.py pylint:blacklisted-name -test/units/mock/path.py future-import-boilerplate -test/units/mock/path.py metaclass-boilerplate -test/units/mock/yaml_helper.py future-import-boilerplate -test/units/mock/yaml_helper.py metaclass-boilerplate -test/units/module_utils/aws/test_aws_module.py metaclass-boilerplate -test/units/module_utils/basic/test__symbolic_mode_to_octal.py future-import-boilerplate -test/units/module_utils/basic/test_deprecate_warn.py future-import-boilerplate -test/units/module_utils/basic/test_deprecate_warn.py metaclass-boilerplate -test/units/module_utils/basic/test_exit_json.py future-import-boilerplate -test/units/module_utils/basic/test_get_file_attributes.py future-import-boilerplate -test/units/module_utils/basic/test_heuristic_log_sanitize.py future-import-boilerplate -test/units/module_utils/basic/test_run_command.py future-import-boilerplate -test/units/module_utils/basic/test_run_command.py pylint:blacklisted-name -test/units/module_utils/basic/test_safe_eval.py future-import-boilerplate -test/units/module_utils/basic/test_tmpdir.py future-import-boilerplate -test/units/module_utils/cloud/test_backoff.py future-import-boilerplate -test/units/module_utils/cloud/test_backoff.py metaclass-boilerplate -test/units/module_utils/common/test_dict_transformations.py future-import-boilerplate -test/units/module_utils/common/test_dict_transformations.py metaclass-boilerplate -test/units/module_utils/conftest.py future-import-boilerplate -test/units/module_utils/conftest.py metaclass-boilerplate -test/units/module_utils/ec2/test_aws.py future-import-boilerplate -test/units/module_utils/ec2/test_aws.py metaclass-boilerplate -test/units/module_utils/facts/base.py future-import-boilerplate -test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py future-import-boilerplate -test/units/module_utils/facts/hardware/test_sunos_get_uptime_facts.py metaclass-boilerplate -test/units/module_utils/facts/network/test_generic_bsd.py future-import-boilerplate -test/units/module_utils/facts/other/test_facter.py future-import-boilerplate -test/units/module_utils/facts/other/test_ohai.py future-import-boilerplate -test/units/module_utils/facts/system/test_lsb.py future-import-boilerplate -test/units/module_utils/facts/test_ansible_collector.py future-import-boilerplate -test/units/module_utils/facts/test_collector.py future-import-boilerplate -test/units/module_utils/facts/test_collectors.py future-import-boilerplate -test/units/module_utils/facts/test_facts.py future-import-boilerplate -test/units/module_utils/facts/test_timeout.py future-import-boilerplate -test/units/module_utils/facts/test_utils.py future-import-boilerplate -test/units/module_utils/gcp/test_auth.py future-import-boilerplate -test/units/module_utils/gcp/test_auth.py metaclass-boilerplate -test/units/module_utils/gcp/test_gcp_utils.py future-import-boilerplate -test/units/module_utils/gcp/test_gcp_utils.py metaclass-boilerplate -test/units/module_utils/gcp/test_utils.py future-import-boilerplate -test/units/module_utils/gcp/test_utils.py metaclass-boilerplate -test/units/module_utils/hwc/test_dict_comparison.py future-import-boilerplate -test/units/module_utils/hwc/test_dict_comparison.py metaclass-boilerplate -test/units/module_utils/hwc/test_hwc_utils.py future-import-boilerplate -test/units/module_utils/hwc/test_hwc_utils.py metaclass-boilerplate -test/units/module_utils/json_utils/test_filter_non_json_lines.py future-import-boilerplate -test/units/module_utils/net_tools/test_netbox.py future-import-boilerplate -test/units/module_utils/net_tools/test_netbox.py metaclass-boilerplate -test/units/module_utils/network/aci/test_aci.py future-import-boilerplate -test/units/module_utils/network/aci/test_aci.py metaclass-boilerplate -test/units/module_utils/network/avi/test_avi_api_utils.py future-import-boilerplate -test/units/module_utils/network/avi/test_avi_api_utils.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_common.py future-import-boilerplate -test/units/module_utils/network/ftd/test_common.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_configuration.py future-import-boilerplate -test/units/module_utils/network/ftd/test_configuration.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_device.py future-import-boilerplate -test/units/module_utils/network/ftd/test_device.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_parser.py future-import-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_parser.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_validator.py future-import-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_validator.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_with_real_data.py future-import-boilerplate -test/units/module_utils/network/ftd/test_fdm_swagger_with_real_data.py metaclass-boilerplate -test/units/module_utils/network/ftd/test_upsert_functionality.py future-import-boilerplate -test/units/module_utils/network/ftd/test_upsert_functionality.py metaclass-boilerplate -test/units/module_utils/network/nso/test_nso.py metaclass-boilerplate -test/units/module_utils/parsing/test_convert_bool.py future-import-boilerplate -test/units/module_utils/postgresql/test_postgres.py future-import-boilerplate -test/units/module_utils/postgresql/test_postgres.py metaclass-boilerplate -test/units/module_utils/remote_management/dellemc/test_ome.py future-import-boilerplate -test/units/module_utils/remote_management/dellemc/test_ome.py metaclass-boilerplate -test/units/module_utils/test_database.py future-import-boilerplate -test/units/module_utils/test_database.py metaclass-boilerplate -test/units/module_utils/test_distro.py future-import-boilerplate -test/units/module_utils/test_distro.py metaclass-boilerplate -test/units/module_utils/test_hetzner.py future-import-boilerplate -test/units/module_utils/test_hetzner.py metaclass-boilerplate -test/units/module_utils/test_kubevirt.py future-import-boilerplate -test/units/module_utils/test_kubevirt.py metaclass-boilerplate -test/units/module_utils/test_netapp.py future-import-boilerplate -test/units/module_utils/test_text.py future-import-boilerplate -test/units/module_utils/test_utm_utils.py future-import-boilerplate -test/units/module_utils/test_utm_utils.py metaclass-boilerplate -test/units/module_utils/urls/test_Request.py replace-urlopen -test/units/module_utils/urls/test_fetch_url.py replace-urlopen -test/units/module_utils/xenserver/FakeAnsibleModule.py future-import-boilerplate -test/units/module_utils/xenserver/FakeAnsibleModule.py metaclass-boilerplate -test/units/module_utils/xenserver/FakeXenAPI.py future-import-boilerplate -test/units/module_utils/xenserver/FakeXenAPI.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_aws_api_gateway.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_aws_direct_connect_connection.py future-import-boilerplate -test/units/modules/cloud/amazon/test_aws_direct_connect_connection.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_aws_direct_connect_link_aggregation_group.py future-import-boilerplate -test/units/modules/cloud/amazon/test_aws_direct_connect_link_aggregation_group.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_aws_s3.py future-import-boilerplate -test/units/modules/cloud/amazon/test_aws_s3.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_cloudformation.py future-import-boilerplate -test/units/modules/cloud/amazon/test_cloudformation.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_data_pipeline.py future-import-boilerplate -test/units/modules/cloud/amazon/test_data_pipeline.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_ec2_group.py future-import-boilerplate -test/units/modules/cloud/amazon/test_ec2_group.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_ec2_utils.py future-import-boilerplate -test/units/modules/cloud/amazon/test_ec2_utils.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py future-import-boilerplate -test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_ec2_vpc_nat_gateway.py pylint:blacklisted-name -test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py future-import-boilerplate -test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_ec2_vpc_vpn.py pylint:blacklisted-name -test/units/modules/cloud/amazon/test_iam_password_policy.py future-import-boilerplate -test/units/modules/cloud/amazon/test_iam_password_policy.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_kinesis_stream.py future-import-boilerplate -test/units/modules/cloud/amazon/test_kinesis_stream.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_lambda.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_lambda_policy.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_redshift_cross_region_snapshots.py future-import-boilerplate -test/units/modules/cloud/amazon/test_redshift_cross_region_snapshots.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_route53_zone.py future-import-boilerplate -test/units/modules/cloud/amazon/test_route53_zone.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_s3_bucket.py future-import-boilerplate -test/units/modules/cloud/amazon/test_s3_bucket.py metaclass-boilerplate -test/units/modules/cloud/amazon/test_s3_bucket_notification.py future-import-boilerplate -test/units/modules/cloud/amazon/test_s3_bucket_notification.py metaclass-boilerplate -test/units/modules/cloud/cloudstack/test_cs_traffic_type.py future-import-boilerplate -test/units/modules/cloud/cloudstack/test_cs_traffic_type.py metaclass-boilerplate -test/units/modules/cloud/google/test_gce_tag.py future-import-boilerplate -test/units/modules/cloud/google/test_gce_tag.py metaclass-boilerplate -test/units/modules/cloud/google/test_gcp_forwarding_rule.py future-import-boilerplate -test/units/modules/cloud/google/test_gcp_forwarding_rule.py metaclass-boilerplate -test/units/modules/cloud/google/test_gcp_url_map.py future-import-boilerplate -test/units/modules/cloud/google/test_gcp_url_map.py metaclass-boilerplate -test/units/modules/cloud/kubevirt/test_kubevirt_rs.py future-import-boilerplate -test/units/modules/cloud/kubevirt/test_kubevirt_rs.py metaclass-boilerplate -test/units/modules/cloud/kubevirt/test_kubevirt_vm.py future-import-boilerplate -test/units/modules/cloud/kubevirt/test_kubevirt_vm.py metaclass-boilerplate -test/units/modules/cloud/linode/conftest.py future-import-boilerplate -test/units/modules/cloud/linode/conftest.py metaclass-boilerplate -test/units/modules/cloud/linode/test_linode.py metaclass-boilerplate -test/units/modules/cloud/linode_v4/conftest.py future-import-boilerplate -test/units/modules/cloud/linode_v4/conftest.py metaclass-boilerplate -test/units/modules/cloud/linode_v4/test_linode_v4.py metaclass-boilerplate -test/units/modules/cloud/misc/test_terraform.py future-import-boilerplate -test/units/modules/cloud/misc/test_terraform.py metaclass-boilerplate -test/units/modules/cloud/misc/virt_net/conftest.py future-import-boilerplate -test/units/modules/cloud/misc/virt_net/conftest.py metaclass-boilerplate -test/units/modules/cloud/misc/virt_net/test_virt_net.py future-import-boilerplate -test/units/modules/cloud/misc/virt_net/test_virt_net.py metaclass-boilerplate -test/units/modules/cloud/openstack/test_os_server.py future-import-boilerplate -test/units/modules/cloud/openstack/test_os_server.py metaclass-boilerplate -test/units/modules/cloud/xenserver/FakeAnsibleModule.py future-import-boilerplate -test/units/modules/cloud/xenserver/FakeAnsibleModule.py metaclass-boilerplate -test/units/modules/cloud/xenserver/FakeXenAPI.py future-import-boilerplate -test/units/modules/cloud/xenserver/FakeXenAPI.py metaclass-boilerplate -test/units/modules/conftest.py future-import-boilerplate -test/units/modules/conftest.py metaclass-boilerplate -test/units/modules/files/test_copy.py future-import-boilerplate -test/units/modules/messaging/rabbitmq/test_rabbimq_user.py future-import-boilerplate -test/units/modules/messaging/rabbitmq/test_rabbimq_user.py metaclass-boilerplate -test/units/modules/monitoring/test_circonus_annotation.py future-import-boilerplate -test/units/modules/monitoring/test_circonus_annotation.py metaclass-boilerplate -test/units/modules/monitoring/test_icinga2_feature.py future-import-boilerplate -test/units/modules/monitoring/test_icinga2_feature.py metaclass-boilerplate -test/units/modules/monitoring/test_pagerduty.py future-import-boilerplate -test/units/modules/monitoring/test_pagerduty.py metaclass-boilerplate -test/units/modules/monitoring/test_pagerduty_alert.py future-import-boilerplate -test/units/modules/monitoring/test_pagerduty_alert.py metaclass-boilerplate -test/units/modules/net_tools/test_nmcli.py future-import-boilerplate -test/units/modules/net_tools/test_nmcli.py metaclass-boilerplate -test/units/modules/network/avi/test_avi_user.py future-import-boilerplate -test/units/modules/network/avi/test_avi_user.py metaclass-boilerplate -test/units/modules/network/check_point/test_checkpoint_access_rule.py future-import-boilerplate -test/units/modules/network/check_point/test_checkpoint_access_rule.py metaclass-boilerplate -test/units/modules/network/check_point/test_checkpoint_host.py future-import-boilerplate -test/units/modules/network/check_point/test_checkpoint_host.py metaclass-boilerplate -test/units/modules/network/check_point/test_checkpoint_session.py future-import-boilerplate -test/units/modules/network/check_point/test_checkpoint_session.py metaclass-boilerplate -test/units/modules/network/check_point/test_checkpoint_task_facts.py future-import-boilerplate -test/units/modules/network/check_point/test_checkpoint_task_facts.py metaclass-boilerplate -test/units/modules/network/cloudvision/test_cv_server_provision.py future-import-boilerplate -test/units/modules/network/cloudvision/test_cv_server_provision.py metaclass-boilerplate -test/units/modules/network/cumulus/test_nclu.py future-import-boilerplate -test/units/modules/network/cumulus/test_nclu.py metaclass-boilerplate -test/units/modules/network/ftd/test_ftd_configuration.py future-import-boilerplate -test/units/modules/network/ftd/test_ftd_configuration.py metaclass-boilerplate -test/units/modules/network/ftd/test_ftd_file_download.py future-import-boilerplate -test/units/modules/network/ftd/test_ftd_file_download.py metaclass-boilerplate -test/units/modules/network/ftd/test_ftd_file_upload.py future-import-boilerplate -test/units/modules/network/ftd/test_ftd_file_upload.py metaclass-boilerplate -test/units/modules/network/ftd/test_ftd_install.py future-import-boilerplate -test/units/modules/network/ftd/test_ftd_install.py metaclass-boilerplate -test/units/modules/network/netscaler/netscaler_module.py future-import-boilerplate -test/units/modules/network/netscaler/netscaler_module.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_action.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_action.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_policy.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_policy.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_vserver.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_cs_vserver.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_service.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_service.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_site.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_site.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_vserver.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_gslb_vserver.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_lb_monitor.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_lb_monitor.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_lb_vserver.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_lb_vserver.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_module_utils.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_module_utils.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_nitro_request.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_nitro_request.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_save_config.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_save_config.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_server.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_server.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_service.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_service.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_servicegroup.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_servicegroup.py metaclass-boilerplate -test/units/modules/network/netscaler/test_netscaler_ssl_certkey.py future-import-boilerplate -test/units/modules/network/netscaler/test_netscaler_ssl_certkey.py metaclass-boilerplate -test/units/modules/network/nso/nso_module.py metaclass-boilerplate -test/units/modules/network/nso/test_nso_action.py metaclass-boilerplate -test/units/modules/network/nso/test_nso_config.py metaclass-boilerplate -test/units/modules/network/nso/test_nso_query.py metaclass-boilerplate -test/units/modules/network/nso/test_nso_show.py metaclass-boilerplate -test/units/modules/network/nso/test_nso_verify.py metaclass-boilerplate -test/units/modules/network/nuage/nuage_module.py future-import-boilerplate -test/units/modules/network/nuage/nuage_module.py metaclass-boilerplate -test/units/modules/network/nuage/test_nuage_vspk.py future-import-boilerplate -test/units/modules/network/nuage/test_nuage_vspk.py metaclass-boilerplate -test/units/modules/network/nxos/test_nxos_acl_interface.py metaclass-boilerplate -test/units/modules/network/radware/test_vdirect_commit.py future-import-boilerplate -test/units/modules/network/radware/test_vdirect_commit.py metaclass-boilerplate -test/units/modules/network/radware/test_vdirect_file.py future-import-boilerplate -test/units/modules/network/radware/test_vdirect_file.py metaclass-boilerplate -test/units/modules/network/radware/test_vdirect_runnable.py future-import-boilerplate -test/units/modules/network/radware/test_vdirect_runnable.py metaclass-boilerplate -test/units/modules/notification/test_slack.py future-import-boilerplate -test/units/modules/notification/test_slack.py metaclass-boilerplate -test/units/modules/packaging/language/test_gem.py future-import-boilerplate -test/units/modules/packaging/language/test_gem.py metaclass-boilerplate -test/units/modules/packaging/language/test_pip.py future-import-boilerplate -test/units/modules/packaging/language/test_pip.py metaclass-boilerplate -test/units/modules/packaging/os/conftest.py future-import-boilerplate -test/units/modules/packaging/os/conftest.py metaclass-boilerplate -test/units/modules/packaging/os/test_apk.py future-import-boilerplate -test/units/modules/packaging/os/test_apk.py metaclass-boilerplate -test/units/modules/packaging/os/test_apt.py future-import-boilerplate -test/units/modules/packaging/os/test_apt.py metaclass-boilerplate -test/units/modules/packaging/os/test_apt.py pylint:blacklisted-name -test/units/modules/packaging/os/test_rhn_channel.py future-import-boilerplate -test/units/modules/packaging/os/test_rhn_channel.py metaclass-boilerplate -test/units/modules/packaging/os/test_rhn_register.py future-import-boilerplate -test/units/modules/packaging/os/test_rhn_register.py metaclass-boilerplate -test/units/modules/packaging/os/test_yum.py future-import-boilerplate -test/units/modules/packaging/os/test_yum.py metaclass-boilerplate -test/units/modules/remote_management/dellemc/test_ome_device_info.py future-import-boilerplate -test/units/modules/remote_management/dellemc/test_ome_device_info.py metaclass-boilerplate -test/units/modules/remote_management/lxca/test_lxca_cmms.py future-import-boilerplate -test/units/modules/remote_management/lxca/test_lxca_cmms.py metaclass-boilerplate -test/units/modules/remote_management/lxca/test_lxca_nodes.py future-import-boilerplate -test/units/modules/remote_management/lxca/test_lxca_nodes.py metaclass-boilerplate -test/units/modules/remote_management/oneview/conftest.py future-import-boilerplate -test/units/modules/remote_management/oneview/conftest.py metaclass-boilerplate -test/units/modules/remote_management/oneview/hpe_test_utils.py future-import-boilerplate -test/units/modules/remote_management/oneview/hpe_test_utils.py metaclass-boilerplate -test/units/modules/remote_management/oneview/oneview_module_loader.py future-import-boilerplate -test/units/modules/remote_management/oneview/oneview_module_loader.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_datacenter_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_datacenter_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_enclosure_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_enclosure_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_ethernet_network.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_ethernet_network_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_ethernet_network_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fc_network.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fc_network.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fc_network_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fc_network_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fcoe_network.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fcoe_network.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fcoe_network_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_fcoe_network_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_logical_interconnect_group_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_network_set.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_network_set.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_network_set_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_network_set_info.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_san_manager.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_san_manager.py metaclass-boilerplate -test/units/modules/remote_management/oneview/test_oneview_san_manager_info.py future-import-boilerplate -test/units/modules/remote_management/oneview/test_oneview_san_manager_info.py metaclass-boilerplate -test/units/modules/source_control/gitlab.py future-import-boilerplate -test/units/modules/source_control/gitlab.py metaclass-boilerplate -test/units/modules/source_control/test_bitbucket_access_key.py future-import-boilerplate -test/units/modules/source_control/test_bitbucket_access_key.py metaclass-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_key_pair.py future-import-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_key_pair.py metaclass-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_known_host.py future-import-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_known_host.py metaclass-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_variable.py future-import-boilerplate -test/units/modules/source_control/test_bitbucket_pipeline_variable.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_deploy_key.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_deploy_key.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_group.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_group.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_hook.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_hook.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_project.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_project.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_runner.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_runner.py metaclass-boilerplate -test/units/modules/source_control/test_gitlab_user.py future-import-boilerplate -test/units/modules/source_control/test_gitlab_user.py metaclass-boilerplate -test/units/modules/storage/hpe3par/test_ss_3par_cpg.py future-import-boilerplate -test/units/modules/storage/hpe3par/test_ss_3par_cpg.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_cluster_config.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_cluster_config.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_cluster_snmp.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_cluster_snmp.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_initiators.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_elementsw_initiators.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_aggregate.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_aggregate.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_autosupport.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_autosupport.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_broadcast_domain.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_broadcast_domain.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cifs.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cifs.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cifs_server.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cifs_server.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cluster.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cluster.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cluster_peer.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_cluster_peer.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_command.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_command.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_export_policy_rule.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_export_policy_rule.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_firewall_policy.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_firewall_policy.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_flexcache.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_flexcache.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_info.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_info.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_igroup.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_igroup.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_igroup_initiator.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_igroup_initiator.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_interface.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_interface.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_ipspace.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_ipspace.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_job_schedule.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_job_schedule.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_lun_copy.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_lun_copy.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_lun_map.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_lun_map.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_motd.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_motd.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_ifgrp.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_ifgrp.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_port.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_port.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_routes.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_routes.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_subnet.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_net_subnet.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nfs.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nfs.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme_namespace.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme_namespace.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme_subsystem.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_nvme_subsystem.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_portset.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_portset.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_qos_policy_group.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_qos_policy_group.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_quotas.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_quotas.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_security_key_manager.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_security_key_manager.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_service_processor_network.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_service_processor_network.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapmirror.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapmirror.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapshot.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapshot.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapshot_policy.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_snapshot_policy.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_software_update.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_software_update.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_svm.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_svm.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_ucadapter.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_ucadapter.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_unix_group.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_unix_group.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_unix_user.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_unix_user.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_user.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_user.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_user_role.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_user_role.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_volume.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_volume.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_volume_clone.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_volume_clone.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_on_access_policy.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_on_access_policy.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_on_demand_task.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_on_demand_task.py metaclass-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_scanner_pool.py future-import-boilerplate -test/units/modules/storage/netapp/test_na_ontap_vscan_scanner_pool.py metaclass-boilerplate -test/units/modules/storage/netapp/test_netapp.py metaclass-boilerplate -test/units/modules/storage/netapp/test_netapp_e_alerts.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_asup.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_auditlog.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_global.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_host.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_iscsi_interface.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_iscsi_target.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_ldap.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_mgmt_interface.py future-import-boilerplate -test/units/modules/storage/netapp/test_netapp_e_syslog.py future-import-boilerplate -test/units/modules/system/interfaces_file/test_interfaces_file.py future-import-boilerplate -test/units/modules/system/interfaces_file/test_interfaces_file.py metaclass-boilerplate -test/units/modules/system/interfaces_file/test_interfaces_file.py pylint:blacklisted-name -test/units/modules/system/test_iptables.py future-import-boilerplate -test/units/modules/system/test_iptables.py metaclass-boilerplate -test/units/modules/system/test_java_keystore.py future-import-boilerplate -test/units/modules/system/test_java_keystore.py metaclass-boilerplate -test/units/modules/system/test_known_hosts.py future-import-boilerplate -test/units/modules/system/test_known_hosts.py metaclass-boilerplate -test/units/modules/system/test_known_hosts.py pylint:ansible-bad-function -test/units/modules/system/test_linux_mountinfo.py future-import-boilerplate -test/units/modules/system/test_linux_mountinfo.py metaclass-boilerplate -test/units/modules/system/test_pamd.py metaclass-boilerplate -test/units/modules/system/test_parted.py future-import-boilerplate -test/units/modules/system/test_systemd.py future-import-boilerplate -test/units/modules/system/test_systemd.py metaclass-boilerplate -test/units/modules/system/test_ufw.py future-import-boilerplate -test/units/modules/system/test_ufw.py metaclass-boilerplate -test/units/modules/utils.py future-import-boilerplate -test/units/modules/utils.py metaclass-boilerplate -test/units/modules/web_infrastructure/test_apache2_module.py future-import-boilerplate -test/units/modules/web_infrastructure/test_apache2_module.py metaclass-boilerplate -test/units/modules/web_infrastructure/test_jenkins_plugin.py future-import-boilerplate -test/units/modules/web_infrastructure/test_jenkins_plugin.py metaclass-boilerplate -test/units/parsing/utils/test_addresses.py future-import-boilerplate -test/units/parsing/utils/test_addresses.py metaclass-boilerplate -test/units/parsing/vault/test_vault.py pylint:blacklisted-name -test/units/playbook/role/test_role.py pylint:blacklisted-name -test/units/playbook/test_attribute.py future-import-boilerplate -test/units/playbook/test_attribute.py metaclass-boilerplate -test/units/playbook/test_conditional.py future-import-boilerplate -test/units/playbook/test_conditional.py metaclass-boilerplate -test/units/plugins/action/test_synchronize.py future-import-boilerplate -test/units/plugins/action/test_synchronize.py metaclass-boilerplate -test/units/plugins/httpapi/test_ftd.py future-import-boilerplate -test/units/plugins/httpapi/test_ftd.py metaclass-boilerplate -test/units/plugins/inventory/test_constructed.py future-import-boilerplate -test/units/plugins/inventory/test_constructed.py metaclass-boilerplate -test/units/plugins/inventory/test_group.py future-import-boilerplate -test/units/plugins/inventory/test_group.py metaclass-boilerplate -test/units/plugins/inventory/test_host.py future-import-boilerplate -test/units/plugins/inventory/test_host.py metaclass-boilerplate -test/units/plugins/loader_fixtures/import_fixture.py future-import-boilerplate -test/units/plugins/lookup/test_aws_secret.py metaclass-boilerplate -test/units/plugins/lookup/test_aws_ssm.py metaclass-boilerplate -test/units/plugins/shell/test_cmd.py future-import-boilerplate -test/units/plugins/shell/test_cmd.py metaclass-boilerplate -test/units/plugins/shell/test_powershell.py future-import-boilerplate -test/units/plugins/shell/test_powershell.py metaclass-boilerplate -test/units/plugins/test_plugins.py pylint:blacklisted-name -test/units/template/test_templar.py pylint:blacklisted-name -test/units/test_constants.py future-import-boilerplate -test/units/test_context.py future-import-boilerplate -test/units/utils/amazon_placebo_fixtures.py future-import-boilerplate -test/units/utils/amazon_placebo_fixtures.py metaclass-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/action/my_action.py future-import-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/action/my_action.py metaclass-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_other_util.py future-import-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_other_util.py metaclass-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_util.py future-import-boilerplate -test/units/utils/fixtures/collections/ansible_collections/my_namespace/my_collection/plugins/module_utils/my_util.py metaclass-boilerplate -test/units/utils/kubevirt_fixtures.py future-import-boilerplate -test/units/utils/kubevirt_fixtures.py metaclass-boilerplate -test/units/utils/test_cleanup_tmp_file.py future-import-boilerplate -test/units/utils/test_encrypt.py future-import-boilerplate -test/units/utils/test_encrypt.py metaclass-boilerplate -test/units/utils/test_helpers.py future-import-boilerplate -test/units/utils/test_helpers.py metaclass-boilerplate -test/units/utils/test_shlex.py future-import-boilerplate -test/units/utils/test_shlex.py metaclass-boilerplate -test/utils/shippable/check_matrix.py replace-urlopen -test/utils/shippable/timing.py shebang From 48b4c3be541810d2f4dc3217dfdcf63415bd15d1 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 14:20:37 -0600 Subject: [PATCH 05/11] Issue #2: python_requirements_info is not available in ansible-base. --- .github/workflows/ansible-test.yml | 23 +++++++++++++++++++ .../targets/kubernetes/tasks/apply.yml | 9 ++++---- .../kubernetes/tasks/older_openshift_fail.yml | 9 ++++---- .../tasks/validate_not_installed.yml | 11 +++++---- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml index 87a7f078..4e8d96ef 100644 --- a/.github/workflows/ansible-test.yml +++ b/.github/workflows/ansible-test.yml @@ -3,6 +3,29 @@ on: - pull_request jobs: + + sanity: + runs-on: ubuntu-latest + strategy: + matrix: + python_version: ["3.6"] + steps: + - name: Check out code + uses: actions/checkout@v1 + with: + path: ansible_collections/community/kubernetes + + - name: Set up Python ${{ matrix.python_version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python_version }} + + - name: Install ansible-base + run: pip install git+https://github.com/ansible-collection-migration/ansible-base.git --disable-pip-version-check + + - name: Run sanity tests on Python ${{ matrix.python_version }} + run: ansible-test sanity --docker -v --color --python ${{ matrix.python_version }} + integration: runs-on: ubuntu-latest strategy: diff --git a/tests/integration/targets/kubernetes/tasks/apply.yml b/tests/integration/targets/kubernetes/tasks/apply.yml index abfda06a..20ecd9c8 100644 --- a/tests/integration/targets/kubernetes/tasks/apply.yml +++ b/tests/integration/targets/kubernetes/tasks/apply.yml @@ -1,8 +1,9 @@ - block: - - python_requirements_info: - dependencies: - - openshift - - kubernetes + # TODO: Not available in ansible-base + # - python_requirements_info: + # dependencies: + # - openshift + # - kubernetes - set_fact: apply_namespace: apply diff --git a/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml b/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml index 2acf3d21..8ba8a12c 100644 --- a/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml +++ b/tests/integration/targets/kubernetes/tasks/older_openshift_fail.yml @@ -1,7 +1,8 @@ - - python_requirements_info: - dependencies: - - openshift==0.6.0 - - kubernetes==6.0.0 + # TODO: Not available in ansible-base + # - python_requirements_info: + # dependencies: + # - openshift==0.6.0 + # - kubernetes==6.0.0 # append_hash - name: use append_hash with ConfigMap diff --git a/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml b/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml index ecd17f7e..58401d4a 100644 --- a/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml +++ b/tests/integration/targets/kubernetes/tasks/validate_not_installed.yml @@ -1,8 +1,9 @@ - - python_requirements_info: - dependencies: - - openshift - - kubernetes - - kubernetes-validate + # TODO: Not available in ansible-base + # - python_requirements_info: + # dependencies: + # - openshift + # - kubernetes + # - kubernetes-validate - k8s: definition: From 49fe926bb4c10ffea6461aa4fc8058bff53695e5 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 15:28:30 -0600 Subject: [PATCH 06/11] Issue #2, Issue #5: Migrate doc_fragments, fix missing types in docs. --- plugins/doc_fragments/__init__.py | 0 plugins/doc_fragments/k8s_auth_options.py | 86 +++++++++++++++++++ plugins/doc_fragments/k8s_name_options.py | 48 +++++++++++ plugins/doc_fragments/k8s_resource_options.py | 32 +++++++ plugins/doc_fragments/k8s_scale_options.py | 42 +++++++++ plugins/doc_fragments/k8s_state_options.py | 30 +++++++ plugins/module_utils/common.py | 5 +- plugins/module_utils/raw.py | 1 + plugins/module_utils/scale.py | 1 + plugins/modules/_kubernetes.py | 18 ---- plugins/modules/_oc.py | 21 ----- plugins/modules/k8s.py | 11 ++- plugins/modules/k8s_auth.py | 6 ++ plugins/modules/k8s_info.py | 6 ++ plugins/modules/k8s_service.py | 2 + 15 files changed, 268 insertions(+), 41 deletions(-) create mode 100644 plugins/doc_fragments/__init__.py create mode 100644 plugins/doc_fragments/k8s_auth_options.py create mode 100644 plugins/doc_fragments/k8s_name_options.py create mode 100644 plugins/doc_fragments/k8s_resource_options.py create mode 100644 plugins/doc_fragments/k8s_scale_options.py create mode 100644 plugins/doc_fragments/k8s_state_options.py delete mode 100644 plugins/modules/_kubernetes.py delete mode 100644 plugins/modules/_oc.py diff --git a/plugins/doc_fragments/__init__.py b/plugins/doc_fragments/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/plugins/doc_fragments/k8s_auth_options.py b/plugins/doc_fragments/k8s_auth_options.py new file mode 100644 index 00000000..9decda11 --- /dev/null +++ b/plugins/doc_fragments/k8s_auth_options.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Red Hat | Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# Options for authenticating with the API. + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + DOCUMENTATION = r''' +options: + host: + description: + - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable. + type: str + api_key: + description: + - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment variable. + type: str + kubeconfig: + description: + - Path to an existing Kubernetes config file. If not provided, and no other connection + options are provided, the openshift client will attempt to load the default + configuration file from I(~/.kube/config.json). Can also be specified via K8S_AUTH_KUBECONFIG environment + variable. + type: path + context: + description: + - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment variable. + type: str + username: + description: + - Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME environment + variable. + - Please note that this only works with clusters configured to use HTTP Basic Auth. If your cluster has a + different form of authentication (e.g. OAuth2 in OpenShift), this option will not work as expected and you + should look into the C(k8s_auth) module, as that might do what you need. + type: str + password: + description: + - Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD environment + variable. + - Please read the description of the C(username) option for a discussion of when this option is applicable. + type: str + client_cert: + description: + - Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE environment + variable. + type: path + aliases: [ cert_file ] + client_key: + description: + - Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_KEY_FILE environment + variable. + type: path + aliases: [ key_file ] + ca_cert: + description: + - Path to a CA certificate used to authenticate with the API. The full certificate chain must be provided to + avoid certificate validation errors. Can also be specified via K8S_AUTH_SSL_CA_CERT environment variable. + type: path + aliases: [ ssl_ca_cert ] + validate_certs: + description: + - Whether or not to verify the API server's SSL certificates. Can also be specified via K8S_AUTH_VERIFY_SSL + environment variable. + type: bool + aliases: [ verify_ssl ] + proxy: + description: + - The URL of an HTTP proxy to use for the connection. Can also be specified via K8S_AUTH_PROXY environment variable. + - Please note that this module does not pick up typical proxy settings from the environment (e.g. HTTP_PROXY). + version_added: "2.9" + type: str +notes: + - "The OpenShift Python client wraps the K8s Python client, providing full access to + all of the APIS and models available on both platforms. For API version details and + additional information visit https://github.com/openshift/openshift-restclient-python" + - "To avoid SSL certificate validation errors when C(validate_certs) is I(True), the full + certificate chain for the API server must be provided via C(ca_cert) or in the + kubeconfig file." +''' diff --git a/plugins/doc_fragments/k8s_name_options.py b/plugins/doc_fragments/k8s_name_options.py new file mode 100644 index 00000000..088a5637 --- /dev/null +++ b/plugins/doc_fragments/k8s_name_options.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Red Hat | Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# Options for selecting or identifying a specific K8s object + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + DOCUMENTATION = r''' +options: + api_version: + description: + - Use to specify the API version. Use to create, delete, or discover an object without providing a full + resource definition. Use in conjunction with I(kind), I(name), and I(namespace) to identify a + specific object. If I(resource definition) is provided, the I(apiVersion) from the I(resource_definition) + will override this option. + type: str + default: v1 + aliases: + - api + - version + kind: + description: + - Use to specify an object model. Use to create, delete, or discover an object without providing a full + resource definition. Use in conjunction with I(api_version), I(name), and I(namespace) to identify a + specific object. If I(resource definition) is provided, the I(kind) from the I(resource_definition) + will override this option. + type: str + name: + description: + - Use to specify an object name. Use to create, delete, or discover an object without providing a full + resource definition. Use in conjunction with I(api_version), I(kind) and I(namespace) to identify a + specific object. If I(resource definition) is provided, the I(metadata.name) value from the + I(resource_definition) will override this option. + type: str + namespace: + description: + - Use to specify an object namespace. Useful when creating, deleting, or discovering an object without + providing a full resource definition. Use in conjunction with I(api_version), I(kind), and I(name) + to identify a specfic object. If I(resource definition) is provided, the I(metadata.namespace) value + from the I(resource_definition) will override this option. + type: str +''' diff --git a/plugins/doc_fragments/k8s_resource_options.py b/plugins/doc_fragments/k8s_resource_options.py new file mode 100644 index 00000000..0742eed4 --- /dev/null +++ b/plugins/doc_fragments/k8s_resource_options.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Red Hat | Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# Options for providing an object configuration + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + DOCUMENTATION = r''' +options: + resource_definition: + description: + - "Provide a valid YAML definition (either as a string, list, or dict) for an object when creating or updating. NOTE: I(kind), I(api_version), I(name), + and I(namespace) will be overwritten by corresponding values found in the provided I(resource_definition)." + aliases: + - definition + - inline + src: + description: + - "Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually + exclusive with I(resource_definition). NOTE: I(kind), I(api_version), I(name), and I(namespace) will be + overwritten by corresponding values found in the configuration read in from the I(src) file." + - Reads from the local file system. To read from the Ansible controller's file system, including vaulted files, use the file lookup + plugin or template lookup plugin, combined with the from_yaml filter, and pass the result to + I(resource_definition). See Examples below. + type: path +''' diff --git a/plugins/doc_fragments/k8s_scale_options.py b/plugins/doc_fragments/k8s_scale_options.py new file mode 100644 index 00000000..d570990a --- /dev/null +++ b/plugins/doc_fragments/k8s_scale_options.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Red Hat | Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# Options used by scale modules. + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + DOCUMENTATION = r''' +options: + replicas: + description: + - The desired number of replicas. + type: int + current_replicas: + description: + - For Deployment, ReplicaSet, Replication Controller, only scale, if the number of existing replicas + matches. In the case of a Job, update parallelism only if the current parallelism value matches. + type: int + resource_version: + description: + - Only attempt to scale, if the current object version matches. + type: str + wait: + description: + - For Deployment, ReplicaSet, Replication Controller, wait for the status value of I(ready_replicas) to change + to the number of I(replicas). In the case of a Job, this option is ignored. + type: bool + default: yes + wait_timeout: + description: + - When C(wait) is I(True), the number of seconds to wait for the I(ready_replicas) status to equal I(replicas). + If the status is not reached within the allotted time, an error will result. In the case of a Job, this option + is ignored. + type: int + default: 20 +''' diff --git a/plugins/doc_fragments/k8s_state_options.py b/plugins/doc_fragments/k8s_state_options.py new file mode 100644 index 00000000..8f741ba8 --- /dev/null +++ b/plugins/doc_fragments/k8s_state_options.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Red Hat | Ansible +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +# Options for specifying object state + +from __future__ import (absolute_import, division, print_function) +__metaclass__ = type + + +class ModuleDocFragment(object): + + DOCUMENTATION = r''' +options: + state: + description: + - Determines if an object should be created, patched, or deleted. When set to C(present), an object will be + created, if it does not already exist. If set to C(absent), an existing object will be deleted. If set to + C(present), an existing object will be patched, if its attributes differ from those specified using + I(resource_definition) or I(src). + type: str + default: present + choices: [ absent, present ] + force: + description: + - If set to C(yes), and I(state) is C(present), an existing object will be replaced. + type: bool + default: no +''' diff --git a/plugins/module_utils/common.py b/plugins/module_utils/common.py index eccef990..6de6f478 100644 --- a/plugins/module_utils/common.py +++ b/plugins/module_utils/common.py @@ -16,6 +16,7 @@ # along with Ansible. If not, see . from __future__ import absolute_import, division, print_function +__metaclass__ = type import copy import json @@ -122,7 +123,9 @@ AUTH_ARG_SPEC = { 'type': 'path', 'aliases': ['key_file'], }, - 'proxy': {}, + 'proxy': { + 'type': 'str', + }, } # Map kubernetes-client parameters to ansible parameters diff --git a/plugins/module_utils/raw.py b/plugins/module_utils/raw.py index eff77bf3..32705282 100644 --- a/plugins/module_utils/raw.py +++ b/plugins/module_utils/raw.py @@ -17,6 +17,7 @@ # along with Ansible. If not, see . from __future__ import absolute_import, division, print_function +__metaclass__ = type import copy from datetime import datetime diff --git a/plugins/module_utils/scale.py b/plugins/module_utils/scale.py index c0a7efb8..4b798bb2 100644 --- a/plugins/module_utils/scale.py +++ b/plugins/module_utils/scale.py @@ -17,6 +17,7 @@ # along with Ansible. If not, see . from __future__ import absolute_import, division, print_function +__metaclass__ = type import copy import math diff --git a/plugins/modules/_kubernetes.py b/plugins/modules/_kubernetes.py deleted file mode 100644 index f039d827..00000000 --- a/plugins/modules/_kubernetes.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/python - -# Copyright: (c) 2015, Google Inc. All Rights Reserved. -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function -__metaclass__ = type - -ANSIBLE_METADATA = {'metadata_version': '1.1', - 'status': ['removed'], - 'supported_by': 'community'} - - -from ansible.module_utils.common.removed import removed_module - - -if __name__ == '__main__': - removed_module(removed_in='2.9') diff --git a/plugins/modules/_oc.py b/plugins/modules/_oc.py deleted file mode 100644 index 5fdcf542..00000000 --- a/plugins/modules/_oc.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# (c) 2017, Kenneth D. Evensen - -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -ANSIBLE_METADATA = { - 'metadata_version': '1.1', - 'status': ['removed'], - 'supported_by': 'community' -} - - -from ansible.module_utils.common.removed import removed_module - - -if __name__ == '__main__': - removed_module(removed_in='2.9') diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py index 34843e3a..0d00df53 100644 --- a/plugins/modules/k8s.py +++ b/plugins/modules/k8s.py @@ -80,23 +80,27 @@ options: description: - Number of seconds to sleep between checks. default: 5 + type: int version_added: "2.9" wait_timeout: description: - How long in seconds to wait for the resource to end up in the desired state. Ignored if C(wait) is not set. default: 120 + type: int version_added: "2.8" wait_condition: description: - Specifies a custom condition on the status to wait for. Ignored if C(wait) is not set or is set to False. suboptions: type: + type: str description: - The type of condition to wait for. For example, the C(Pod) resource will set the C(Ready) condition (among others) - Required if you are specifying a C(wait_condition). If left empty, the C(wait_condition) field will be ignored. - The possible types for a condition are specific to each resource type in Kubernetes. See the API documentation of the status field for a given resource to see possible choices. status: + type: str description: - The value of the status field in your desired condition. - For example, if a C(Deployment) is paused, the C(Progressing) C(type) will have the C(Unknown) status. @@ -104,12 +108,15 @@ options: - True - False - Unknown + default: "True" reason: + type: str description: - The value of the reason field in your desired condition - For example, if a C(Deployment) is paused, The C(Progressing) c(type) will have the C(DeploymentPaused) reason. - The possible reasons in a condition are specific to each resource type in Kubernetes. See the API documentation of the status field for a given resource to see possible choices. + type: dict version_added: "2.8" validate: description: @@ -122,10 +129,12 @@ options: type: bool version: description: version of Kubernetes to validate against. defaults to Kubernetes server version + type: str strict: description: whether to fail when passing unexpected properties - default: no + default: True type: bool + type: dict version_added: "2.8" append_hash: description: diff --git a/plugins/modules/k8s_auth.py b/plugins/modules/k8s_auth.py index 8dfd2efc..f735157b 100644 --- a/plugins/modules/k8s_auth.py +++ b/plugins/modules/k8s_auth.py @@ -43,21 +43,26 @@ options: choices: - present - absent + type: str host: description: - Provide a URL for accessing the API server. required: true + type: str username: description: - Provide a username for authenticating with the API server. + type: str password: description: - Provide a password for authenticating with the API server. + type: str ca_cert: description: - "Path to a CA certificate file used to verify connection to the API server. The full certificate chain must be provided to avoid certificate validation errors." aliases: [ ssl_ca_cert ] + type: path validate_certs: description: - "Whether or not to verify the API server's SSL certificates." @@ -67,6 +72,7 @@ options: api_key: description: - When C(state) is set to I(absent), this specifies the token to revoke. + type: str requirements: - python >= 2.7 diff --git a/plugins/modules/k8s_info.py b/plugins/modules/k8s_info.py index 42a06c7e..9a9bcf2c 100644 --- a/plugins/modules/k8s_info.py +++ b/plugins/modules/k8s_info.py @@ -39,23 +39,29 @@ options: aliases: - api - version + type: str kind: description: - Use to specify an object model. Use in conjunction with I(api_version), I(name), and I(namespace) to identify a specific object. required: yes + type: str name: description: - Use to specify an object name. Use in conjunction with I(api_version), I(kind) and I(namespace) to identify a specific object. + type: str namespace: description: - Use to specify an object namespace. Use in conjunction with I(api_version), I(kind), and I(name) to identify a specific object. + type: str label_selectors: description: List of label selectors to use to filter results + type: list field_selectors: description: List of field selectors to use to filter results + type: list extends_documentation_fragment: - k8s_auth_options diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py index 89e0e698..fe1a109b 100644 --- a/plugins/modules/k8s_service.py +++ b/plugins/modules/k8s_service.py @@ -50,6 +50,7 @@ options: choices: - present - absent + type: str force: description: - If set to C(True), and I(state) is C(present), an existing object will be replaced. @@ -91,6 +92,7 @@ options: - ClusterIP - LoadBalancer - ExternalName + type: str ports: description: - A list of ports to expose. From 8e5a74f16ad52c8fdfbf2911e21925c8afe97bee Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 15:37:46 -0600 Subject: [PATCH 07/11] Issue #5: Add missing type on k8s_resource_options doc fragment. --- plugins/doc_fragments/k8s_resource_options.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/doc_fragments/k8s_resource_options.py b/plugins/doc_fragments/k8s_resource_options.py index 0742eed4..edfa533e 100644 --- a/plugins/doc_fragments/k8s_resource_options.py +++ b/plugins/doc_fragments/k8s_resource_options.py @@ -20,6 +20,7 @@ options: aliases: - definition - inline + type: list_dict_str src: description: - "Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually From 3cba5969ccc823df4bb61fc89dd33128c0b56161 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 15:45:30 -0600 Subject: [PATCH 08/11] Fixes #5: Use proper FQCN for doc fragment refs. --- plugins/doc_fragments/k8s_resource_options.py | 1 - plugins/modules/k8s.py | 8 ++++---- plugins/modules/k8s_info.py | 2 +- plugins/modules/k8s_scale.py | 8 ++++---- plugins/modules/k8s_service.py | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/plugins/doc_fragments/k8s_resource_options.py b/plugins/doc_fragments/k8s_resource_options.py index edfa533e..0742eed4 100644 --- a/plugins/doc_fragments/k8s_resource_options.py +++ b/plugins/doc_fragments/k8s_resource_options.py @@ -20,7 +20,6 @@ options: aliases: - definition - inline - type: list_dict_str src: description: - "Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py index 0d00df53..aece55e3 100644 --- a/plugins/modules/k8s.py +++ b/plugins/modules/k8s.py @@ -35,10 +35,10 @@ description: - Supports check mode. extends_documentation_fragment: - - k8s_state_options - - k8s_name_options - - k8s_resource_options - - k8s_auth_options + - community.kubernetes.k8s_state_options + - community.kubernetes.k8s_name_options + - community.kubernetes.k8s_resource_options + - community.kubernetes.k8s_auth_options notes: - If your OpenShift Python library is not 0.9.0 or newer and you are trying to diff --git a/plugins/modules/k8s_info.py b/plugins/modules/k8s_info.py index 9a9bcf2c..c7db1c5b 100644 --- a/plugins/modules/k8s_info.py +++ b/plugins/modules/k8s_info.py @@ -64,7 +64,7 @@ options: type: list extends_documentation_fragment: - - k8s_auth_options + - community.kubernetes.k8s_auth_options requirements: - "python >= 2.7" diff --git a/plugins/modules/k8s_scale.py b/plugins/modules/k8s_scale.py index 997b92bf..81dca908 100644 --- a/plugins/modules/k8s_scale.py +++ b/plugins/modules/k8s_scale.py @@ -30,10 +30,10 @@ description: or Replication Controller, or the parallelism attribute of a Job. Supports check mode. extends_documentation_fragment: - - k8s_name_options - - k8s_auth_options - - k8s_resource_options - - k8s_scale_options + - community.kubernetes.k8s_name_options + - community.kubernetes.k8s_auth_options + - community.kubernetes.k8s_resource_options + - community.kubernetes.k8s_scale_options requirements: - "python >= 2.7" diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py index fe1a109b..dc580019 100644 --- a/plugins/modules/k8s_service.py +++ b/plugins/modules/k8s_service.py @@ -27,7 +27,7 @@ description: - Use Openshift Python SDK to manage Services on Kubernetes extends_documentation_fragment: - - k8s_auth_options + - community.kubernetes.k8s_auth_options options: resource_definition: From 4ac8e2e8bc5271d62279db9358202b348f744d7a Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 16:14:11 -0600 Subject: [PATCH 09/11] Fixes #2: Use correct ignore file naming convention for collection. --- tests/sanity/ignore-2.9.txt | 2 ++ tests/sanity/ignore.txt | 14 -------------- 2 files changed, 2 insertions(+), 14 deletions(-) create mode 100644 tests/sanity/ignore-2.9.txt delete mode 100644 tests/sanity/ignore.txt diff --git a/tests/sanity/ignore-2.9.txt b/tests/sanity/ignore-2.9.txt new file mode 100644 index 00000000..bbd327f7 --- /dev/null +++ b/tests/sanity/ignore-2.9.txt @@ -0,0 +1,2 @@ +plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc +plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc diff --git a/tests/sanity/ignore.txt b/tests/sanity/ignore.txt deleted file mode 100644 index b06b72bd..00000000 --- a/tests/sanity/ignore.txt +++ /dev/null @@ -1,14 +0,0 @@ -lib/ansible/module_utils/k8s/common.py metaclass-boilerplate -lib/ansible/module_utils/k8s/raw.py metaclass-boilerplate -lib/ansible/module_utils/k8s/scale.py metaclass-boilerplate -lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/clustering/k8s/k8s.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/k8s/k8s.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/k8s/k8s_auth.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/k8s/k8s_info.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/k8s/k8s_scale.py validate-modules:doc-missing-type -lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/clustering/k8s/k8s_service.py validate-modules:doc-missing-type From 21770a4fe278b0f59cf74ec22c34d105b339acf0 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 16:35:24 -0600 Subject: [PATCH 10/11] Issue #2: Get the rest of the documentation errors fixed. --- plugins/doc_fragments/k8s_scale_options.py | 1 + plugins/modules/k8s.py | 4 +++- plugins/modules/k8s_scale.py | 3 +++ plugins/modules/k8s_service.py | 3 +++ tests/sanity/ignore-2.10.txt | 2 ++ 5 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/sanity/ignore-2.10.txt diff --git a/plugins/doc_fragments/k8s_scale_options.py b/plugins/doc_fragments/k8s_scale_options.py index d570990a..0c01439a 100644 --- a/plugins/doc_fragments/k8s_scale_options.py +++ b/plugins/doc_fragments/k8s_scale_options.py @@ -17,6 +17,7 @@ options: description: - The desired number of replicas. type: int + required: True current_replicas: description: - For Deployment, ReplicaSet, Replication Controller, only scale, if the number of existing replicas diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py index aece55e3..123b2bab 100644 --- a/plugins/modules/k8s.py +++ b/plugins/modules/k8s.py @@ -125,7 +125,6 @@ options: suboptions: fail_on_error: description: whether to fail on validation errors. - required: yes type: bool version: description: version of Kubernetes to validate against. defaults to Kubernetes server version @@ -258,14 +257,17 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex + contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex + contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex + contains: Status details items: description: Returned only when multiple yaml documents are passed to src or resource_definition returned: when resource_definition or src contains list of objects diff --git a/plugins/modules/k8s_scale.py b/plugins/modules/k8s_scale.py index 81dca908..6b10953e 100644 --- a/plugins/modules/k8s_scale.py +++ b/plugins/modules/k8s_scale.py @@ -108,14 +108,17 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex + contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex + contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex + contains: Status details ''' from ansible_collections.community.kubernetes.plugins.module_utils.scale import KubernetesAnsibleScaleModule diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py index dc580019..8bea40f4 100644 --- a/plugins/modules/k8s_service.py +++ b/plugins/modules/k8s_service.py @@ -154,14 +154,17 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex + contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex + contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex + contains: Status details ''' import copy diff --git a/tests/sanity/ignore-2.10.txt b/tests/sanity/ignore-2.10.txt new file mode 100644 index 00000000..bbd327f7 --- /dev/null +++ b/tests/sanity/ignore-2.10.txt @@ -0,0 +1,2 @@ +plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc +plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc From 99dcbcc32fdd011948f5ecfcf0c3ee767014d29f Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Thu, 30 Jan 2020 16:42:22 -0600 Subject: [PATCH 11/11] Issue #2: Ignore return-syntax-error for now. --- plugins/modules/k8s.py | 3 --- plugins/modules/k8s_scale.py | 3 --- plugins/modules/k8s_service.py | 3 --- tests/sanity/ignore-2.10.txt | 3 +++ 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/plugins/modules/k8s.py b/plugins/modules/k8s.py index 123b2bab..91646da2 100644 --- a/plugins/modules/k8s.py +++ b/plugins/modules/k8s.py @@ -257,17 +257,14 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex - contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex - contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex - contains: Status details items: description: Returned only when multiple yaml documents are passed to src or resource_definition returned: when resource_definition or src contains list of objects diff --git a/plugins/modules/k8s_scale.py b/plugins/modules/k8s_scale.py index 6b10953e..81dca908 100644 --- a/plugins/modules/k8s_scale.py +++ b/plugins/modules/k8s_scale.py @@ -108,17 +108,14 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex - contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex - contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex - contains: Status details ''' from ansible_collections.community.kubernetes.plugins.module_utils.scale import KubernetesAnsibleScaleModule diff --git a/plugins/modules/k8s_service.py b/plugins/modules/k8s_service.py index 8bea40f4..dc580019 100644 --- a/plugins/modules/k8s_service.py +++ b/plugins/modules/k8s_service.py @@ -154,17 +154,14 @@ result: description: Standard object metadata. Includes name, namespace, annotations, labels, etc. returned: success type: complex - contains: Object metadata spec: description: Specific attributes of the object. Will vary based on the I(api_version) and I(kind). returned: success type: complex - contains: Specific object attributes status: description: Current status details for the object. returned: success type: complex - contains: Status details ''' import copy diff --git a/tests/sanity/ignore-2.10.txt b/tests/sanity/ignore-2.10.txt index bbd327f7..0fa8c1c3 100644 --- a/tests/sanity/ignore-2.10.txt +++ b/tests/sanity/ignore-2.10.txt @@ -1,2 +1,5 @@ plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc +plugins/modules/k8s.py validate-modules:return-syntax-error plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc +plugins/modules/k8s_scale.py validate-modules:return-syntax-error +plugins/modules/k8s_service.py validate-modules:return-syntax-error