From 17460b060f210a2cd07caf58378bb466f057153b Mon Sep 17 00:00:00 2001 From: Fred-sun <37327967+Fred-sun@users.noreply.github.com> Date: Wed, 1 Nov 2023 14:55:38 +0800 Subject: [PATCH] Fixed sanity errors in the module (#1296) * Fix sanity error * Fix sanity fail * Modify the remaining errors * Modify the remaining errors -- 02 * new change for sanity fail * last change * fix sanity error * Fix sanity fail * new change for sanity fail * new change * last change * new change for test fail * new change for azure_rm_galleryimageversion.py * Modify azure_rm_appgate.py' rule_type choices * Enable azure_rm_iothub test case * Add required to some module * Modify azure_rm_rediscache.py * Add choices to azure_rm_trafficmanagerprofile.py'protocols * Modify azure_rm_virtualmachinescalesetinstance.py * Modify azure_rm_devtestlabvirtualmachine.py * New change for some modules * Delete unexpected spaces * fix closing bracket errors --- plugins/modules/azure_rm_adpassword.py | 7 +- plugins/modules/azure_rm_adpassword_info.py | 8 +- .../modules/azure_rm_adserviceprincipal.py | 1 - plugins/modules/azure_rm_aks.py | 84 ++++- plugins/modules/azure_rm_aks_info.py | 3 + plugins/modules/azure_rm_aksversion_info.py | 2 + plugins/modules/azure_rm_appgateway.py | 301 +++++++++++++++--- .../azure_rm_applicationsecuritygroup.py | 18 +- .../azure_rm_applicationsecuritygroup_info.py | 2 + plugins/modules/azure_rm_appserviceplan.py | 21 +- .../modules/azure_rm_appserviceplan_info.py | 2 + plugins/modules/azure_rm_autoscale.py | 46 +++ plugins/modules/azure_rm_autoscale_info.py | 2 + plugins/modules/azure_rm_availabilityset.py | 5 + plugins/modules/azure_rm_azurefirewall.py | 51 ++- plugins/modules/azure_rm_batchaccount.py | 2 + plugins/modules/azure_rm_cdnendpoint.py | 10 +- plugins/modules/azure_rm_cdnendpoint_info.py | 4 + plugins/modules/azure_rm_cdnprofile.py | 5 + plugins/modules/azure_rm_cdnprofile_info.py | 2 + .../azure_rm_containerregistryreplication.py | 14 + ...re_rm_containerregistryreplication_info.py | 8 +- .../azure_rm_containerregistrywebhook.py | 21 +- .../azure_rm_containerregistrywebhook_info.py | 5 +- plugins/modules/azure_rm_cosmosdbaccount.py | 36 ++- .../modules/azure_rm_cosmosdbaccount_info.py | 2 + plugins/modules/azure_rm_datalakestore.py | 4 +- .../modules/azure_rm_ddosprotectionplan.py | 16 +- plugins/modules/azure_rm_deployment.py | 132 ++++---- plugins/modules/azure_rm_deployment_info.py | 9 +- plugins/modules/azure_rm_devtestlab.py | 19 +- plugins/modules/azure_rm_devtestlab_info.py | 2 +- .../azure_rm_devtestlabarmtemplate_info.py | 7 + .../azure_rm_devtestlabartifact_info.py | 2 +- .../azure_rm_devtestlabartifactsource.py | 25 +- .../azure_rm_devtestlabartifactsource_info.py | 2 +- .../modules/azure_rm_devtestlabcustomimage.py | 23 +- .../azure_rm_devtestlabcustomimage_info.py | 3 +- .../modules/azure_rm_devtestlabenvironment.py | 2 + .../azure_rm_devtestlabenvironment_info.py | 2 +- plugins/modules/azure_rm_devtestlabpolicy.py | 21 +- .../modules/azure_rm_devtestlabpolicy_info.py | 2 +- .../modules/azure_rm_devtestlabschedule.py | 20 +- .../azure_rm_devtestlabschedule_info.py | 2 +- .../azure_rm_devtestlabvirtualmachine.py | 48 ++- .../azure_rm_devtestlabvirtualmachine_info.py | 2 +- .../azure_rm_devtestlabvirtualnetwork.py | 20 +- plugins/modules/azure_rm_dnszone.py | 4 + plugins/modules/azure_rm_dnszone_info.py | 5 + plugins/modules/azure_rm_functionapp.py | 17 +- plugins/modules/azure_rm_functionapp_info.py | 2 + plugins/modules/azure_rm_galleryimage.py | 5 +- plugins/modules/azure_rm_galleryimage_info.py | 4 +- .../modules/azure_rm_galleryimageversion.py | 20 +- plugins/modules/azure_rm_hdinsightcluster.py | 66 +++- .../modules/azure_rm_hdinsightcluster_info.py | 10 +- .../modules/azure_rm_iothubconsumergroup.py | 1 + plugins/modules/azure_rm_keyvault.py | 47 ++- plugins/modules/azure_rm_keyvaultkey.py | 22 +- plugins/modules/azure_rm_keyvaultkey_info.py | 2 + plugins/modules/azure_rm_keyvaultsecret.py | 10 +- plugins/modules/azure_rm_loadbalancer.py | 80 ++++- plugins/modules/azure_rm_lock_info.py | 1 - .../modules/azure_rm_loganalyticsworkspace.py | 6 + .../azure_rm_loganalyticsworkspace_info.py | 6 + plugins/modules/azure_rm_manageddisk.py | 12 + plugins/modules/azure_rm_mariadbdatabase.py | 16 +- .../modules/azure_rm_mariadbfirewallrule.py | 6 + plugins/modules/azure_rm_mariadbserver.py | 15 +- .../modules/azure_rm_mysqlconfiguration.py | 5 + plugins/modules/azure_rm_mysqldatabase.py | 6 + plugins/modules/azure_rm_mysqlfirewallrule.py | 8 +- plugins/modules/azure_rm_networkinterface.py | 42 ++- .../modules/azure_rm_networkinterface_info.py | 32 +- .../azure_rm_openshiftmanagedcluster.py | 4 + .../azure_rm_postgresqlconfiguration.py | 5 + .../modules/azure_rm_postgresqldatabase.py | 6 + .../azure_rm_postgresqlfirewallrule.py | 6 + plugins/modules/azure_rm_publicipaddress.py | 14 + .../modules/azure_rm_publicipaddress_info.py | 2 + plugins/modules/azure_rm_rediscache.py | 41 ++- plugins/modules/azure_rm_rediscache_info.py | 2 + .../azure_rm_rediscachefirewallrule.py | 20 +- plugins/modules/azure_rm_resource.py | 19 +- plugins/modules/azure_rm_resource_info.py | 20 +- plugins/modules/azure_rm_resourcegroup.py | 3 + .../modules/azure_rm_resourcegroup_info.py | 3 + plugins/modules/azure_rm_roleassignment.py | 6 + .../modules/azure_rm_roleassignment_info.py | 5 + plugins/modules/azure_rm_route.py | 7 + plugins/modules/azure_rm_routetable.py | 4 + plugins/modules/azure_rm_routetable_info.py | 2 + plugins/modules/azure_rm_securitygroup.py | 138 +++++++- .../modules/azure_rm_securitygroup_info.py | 2 + plugins/modules/azure_rm_servicebus.py | 5 + plugins/modules/azure_rm_servicebus_info.py | 6 + plugins/modules/azure_rm_servicebusqueue.py | 7 + .../modules/azure_rm_servicebussaspolicy.py | 8 +- plugins/modules/azure_rm_servicebustopic.py | 7 +- .../azure_rm_servicebustopicsubscription.py | 8 + plugins/modules/azure_rm_snapshot.py | 1 + plugins/modules/azure_rm_sqldatabase.py | 41 ++- plugins/modules/azure_rm_sqldatabase_info.py | 4 + plugins/modules/azure_rm_sqlfirewallrule.py | 6 + .../modules/azure_rm_sqlfirewallrule_info.py | 3 + plugins/modules/azure_rm_sqlserver.py | 8 + plugins/modules/azure_rm_sqlserver_info.py | 2 + plugins/modules/azure_rm_storageaccount.py | 21 ++ .../modules/azure_rm_storageaccount_info.py | 3 + plugins/modules/azure_rm_storageblob.py | 17 + plugins/modules/azure_rm_subnet.py | 27 +- plugins/modules/azure_rm_subnet_info.py | 3 + plugins/modules/azure_rm_trafficmanager.py | 48 ++- .../azure_rm_trafficmanagerendpoint.py | 2 + .../azure_rm_trafficmanagerendpoint_info.py | 4 + .../modules/azure_rm_trafficmanagerprofile.py | 22 +- .../azure_rm_trafficmanagerprofile_info.py | 2 + plugins/modules/azure_rm_virtualmachine.py | 94 +++++- .../modules/azure_rm_virtualmachine_info.py | 2 + .../azure_rm_virtualmachineimage_info.py | 5 + .../azure_rm_virtualmachinescaleset.py | 65 +++- .../azure_rm_virtualmachinescaleset_info.py | 3 + ...zure_rm_virtualmachinescalesetextension.py | 11 + ...rm_virtualmachinescalesetextension_info.py | 3 + ...azure_rm_virtualmachinescalesetinstance.py | 10 +- ..._rm_virtualmachinescalesetinstance_info.py | 3 + plugins/modules/azure_rm_virtualnetwork.py | 4 + .../modules/azure_rm_virtualnetwork_info.py | 2 + .../modules/azure_rm_virtualnetworkgateway.py | 32 +- .../modules/azure_rm_virtualnetworkpeering.py | 8 +- .../azure_rm_virtualnetworkpeering_info.py | 3 + plugins/modules/azure_rm_virtualwan.py | 11 +- plugins/modules/azure_rm_vmbackuppolicy.py | 6 + plugins/modules/azure_rm_webapp.py | 28 ++ plugins/modules/azure_rm_webapp_info.py | 2 + plugins/modules/azure_rm_webappslot.py | 46 ++- .../azure_rm_appgateway/tasks/main.yml | 40 +-- .../azure_rm_networkinterface/tasks/main.yml | 2 +- .../azure_rm_storageaccount/tasks/main.yml | 2 +- tests/sanity/ignore-2.13.txt | 250 --------------- tests/sanity/ignore-2.14.txt | 247 -------------- tests/sanity/ignore-2.15.txt | 246 -------------- 142 files changed, 2023 insertions(+), 1141 deletions(-) diff --git a/plugins/modules/azure_rm_adpassword.py b/plugins/modules/azure_rm_adpassword.py index 9743ed4d7..5f109658f 100644 --- a/plugins/modules/azure_rm_adpassword.py +++ b/plugins/modules/azure_rm_adpassword.py @@ -5,7 +5,6 @@ # 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 -import datetime __metaclass__ = type @@ -66,7 +65,6 @@ extends_documentation_fragment: - azure.azcollection.azure - - azure.azcollection.azure_tags author: haiyuan_zhang (@haiyuazhang) @@ -90,7 +88,7 @@ - Default value is one year after current time. type: str returned: always - sample: 2021-06-28T06:00:32.637070+00:00 + sample: "2021-06-28T06:00:32.637070+00:00" key_id: description: - The password key ID @@ -103,12 +101,13 @@ - Default value is current time. type: str returned: always - sample: 2020-06-28T06:00:32.637070+00:00 + sample: "2020-06-28T06:00:32.637070+00:00" ''' from ansible_collections.azure.azcollection.plugins.module_utils.azure_rm_common import AzureRMModuleBase import uuid +import datetime try: from azure.graphrbac.models import GraphErrorException diff --git a/plugins/modules/azure_rm_adpassword_info.py b/plugins/modules/azure_rm_adpassword_info.py index bbd32fecd..bfe07b937 100644 --- a/plugins/modules/azure_rm_adpassword_info.py +++ b/plugins/modules/azure_rm_adpassword_info.py @@ -85,9 +85,9 @@ description: - Date or datemtime after which credentials expire. - Default value is one year after current time. - type: datetime + type: str returned: always - sample: 2021-06-18T06:51:25.508304+00:00 + sample: "2021-06-18T06:51:25.508304+00:00" key_id: description: - The password key ID. @@ -98,9 +98,9 @@ description: - Date or datetime at which credentials become valid. - Default value is current time - type: datetime + type: str returned: always - sample: 2020-06-18T06:51:25.508304+00:00 + sample: "2020-06-18T06:51:25.508304+00:00" ''' diff --git a/plugins/modules/azure_rm_adserviceprincipal.py b/plugins/modules/azure_rm_adserviceprincipal.py index 0d35caa83..51a557aad 100644 --- a/plugins/modules/azure_rm_adserviceprincipal.py +++ b/plugins/modules/azure_rm_adserviceprincipal.py @@ -46,7 +46,6 @@ extends_documentation_fragment: - azure.azcollection.azure - - azure.azcollection.azure_tags author: haiyuan_zhang (@haiyuazhang) diff --git a/plugins/modules/azure_rm_aks.py b/plugins/modules/azure_rm_aks.py index 56e4fae2d..de0a079f4 100644 --- a/plugins/modules/azure_rm_aks.py +++ b/plugins/modules/azure_rm_aks.py @@ -21,59 +21,74 @@ description: - Name of a resource group where the managed Azure Container Services (AKS) exists or will be created. required: true + type: str name: description: - Name of the managed Azure Container Services (AKS) instance. required: true + type: str state: description: - Assert the state of the AKS. Use C(present) to create or update an AKS and C(absent) to delete it. default: present + type: str choices: - absent - present location: description: - Valid azure location. Defaults to location of the resource group. + type: str dns_prefix: description: - DNS prefix specified when creating the managed cluster. + type: str kubernetes_version: description: - Version of Kubernetes specified when creating the managed cluster. + type: str linux_profile: description: - The Linux profile suboptions. - Optional, provide if you need an ssh access to the cluster nodes. + type: dict suboptions: admin_username: description: - The Admin Username for the cluster. required: true + type: str ssh_key: description: - The Public SSH Key used to access the cluster. required: true + type: str agent_pool_profiles: description: - The agent pool profile suboptions. + type: list + elements: dict suboptions: name: description: - Unique name of the agent pool profile in the context of the subscription and resource group. required: true + type: str count: description: - Number of agents (VMs) to host docker containers. - Allowed values must be in the range of C(1) to C(100) (inclusive). required: true + type: int vm_size: description: - The VM Size of each of the Agent Pool VM's (e.g. C(Standard_F1) / C(Standard_D2v2)). required: true + type: str os_disk_size_gb: description: - Size of the OS disk. + type: int enable_auto_scaling: description: - To enable auto-scaling. @@ -130,17 +145,43 @@ - 1 - 2 - 3 + os_type: + description: + - The operating system type. + type: str + choices: + - Linux + - Windows + storage_profiles: + description: + - Storage profile specifies what kind of storage used. + type: str + choices: + - StorageAccount + - ManagedDisks + ports: + description: + - List of the agent pool's port. + type: list + elements: int + dns_prefix: + description: + - DNS prefix specified when creating the managed cluster. + type: str service_principal: description: - The service principal suboptions. If not provided - use system-assigned managed identity. + type: dict suboptions: client_id: description: - The ID for the Service Principal. + type: str required: true client_secret: description: - The secret password associated with the service principal. + type: str enable_rbac: description: - Enable RBAC. @@ -150,6 +191,7 @@ network_profile: description: - Profile of network configuration. + type: dict suboptions: network_plugin: description: @@ -158,12 +200,13 @@ - With C(kubenet), nodes get an IP address from the Azure virtual network subnet. - AKS features such as Virtual Nodes or network policies aren't supported with C(kubenet). - C(azure) enables Azure Container Networking Interface(CNI), every pod gets an IP address from the subnet and can be accessed directly. - default: kubenet + type: str choices: - azure - kubenet network_policy: description: Network policy used for building Kubernetes network. + type: str choices: - azure - calico @@ -172,26 +215,27 @@ - A CIDR notation IP range from which to assign pod IPs when I(network_plugin=kubenet) is used. - It should be a large address space that isn't in use elsewhere in your network environment. - This address range must be large enough to accommodate the number of nodes that you expect to scale up to. - default: "10.244.0.0/16" + type: str service_cidr: description: - A CIDR notation IP range from which to assign service cluster IPs. - It must not overlap with any Subnet IP ranges. - It should be the *.10 address of your service IP address range. - default: "10.0.0.0/16" + type: str dns_service_ip: description: - An IP address assigned to the Kubernetes DNS service. - It must be within the Kubernetes service address range specified in serviceCidr. - default: "10.0.0.10" + type: str docker_bridge_cidr: description: - A CIDR notation IP range assigned to the Docker bridge network. - It must not overlap with any Subnet IP ranges or the Kubernetes service address range. - default: "172.17.0.1/16" + type: str load_balancer_sku: description: - The load balancer sku for the managed cluster. + type: str choices: - standard - basic @@ -199,12 +243,14 @@ description: - How outbound traffic will be configured for a cluster. type: str + default: loadBalancer choices: - loadBalancer - userDefinedRouting api_server_access_profile: description: - Profile of API Access configuration. + type: dict suboptions: authorized_ip_ranges: description: @@ -220,17 +266,22 @@ aad_profile: description: - Profile of Azure Active Directory configuration. + type: dict suboptions: client_app_id: description: The client AAD application ID. + type: str server_app_id: description: The server AAD application ID. + type: str server_app_secret: description: The server AAD application secret. + type: str tenant_id: description: - The AAD tenant ID to use for authentication. - If not specified, will use the tenant of the deployment subscription. + type: str managed: description: - Whether to enable manged AAD. @@ -252,39 +303,54 @@ description: - The HTTP application routing solution makes it easy to access applications that are deployed to your cluster. type: dict + aliases: + - httpApplicationRouting suboptions: enabled: description: - Whether the solution enabled. type: bool + default: true monitoring: description: - It gives you performance visibility by collecting memory and processor metrics from controllers, nodes, and containers that are available in Kubernetes through the Metrics API. type: dict + aliases: + - omsagent suboptions: enabled: description: - Whether the solution enabled. type: bool + default: true log_analytics_workspace_resource_id: description: - Where to store the container metrics. + type: str required: true + aliases: + - logAnalyticsWorkspaceResourceID virtual_node: description: - With virtual nodes, you have quick provisioning of pods, and only pay per second for their execution time. - You don't need to wait for Kubernetes cluster autoscaler to deploy VM compute nodes to run the additional pods. type: dict + aliases: + - aciConnector suboptions: enabled: description: - Whether the solution enabled. type: bool + default: true subnet_resource_id: description: - Subnet associated to the cluster. + type: str required: true + aliases: + - SubnetName node_resource_group: description: - Name of the resource group containing agent pool nodes. @@ -611,8 +677,8 @@ def create_addon_profiles_spec(): availability_zones=dict(type='list', elements='int', choices=[1, 2, 3]), os_type=dict(type='str', choices=['Linux', 'Windows']), orchestrator_version=dict(type='str', required=False), - type=dict(type='str', choice=['VirtualMachineScaleSets', 'AvailabilitySet']), - mode=dict(type='str', choice=['System', 'User']), + type=dict(type='str', choices=['VirtualMachineScaleSets', 'AvailabilitySet']), + mode=dict(type='str', choices=['System', 'User']), enable_auto_scaling=dict(type='bool'), max_count=dict(type='int'), node_labels=dict(type='dict'), @@ -623,12 +689,12 @@ def create_addon_profiles_spec(): network_profile_spec = dict( network_plugin=dict(type='str', choices=['azure', 'kubenet']), - network_policy=dict(type='str'), + network_policy=dict(type='str', choices=['azure', 'calico']), pod_cidr=dict(type='str'), service_cidr=dict(type='str'), dns_service_ip=dict(type='str'), docker_bridge_cidr=dict(type='str'), - load_balancer_sku=dict(type='str'), + load_balancer_sku=dict(type='str', choices=['standard', 'basic']), outbound_type=dict(type='str', default='loadBalancer', choices=['userDefinedRouting', 'loadBalancer']) ) diff --git a/plugins/modules/azure_rm_aks_info.py b/plugins/modules/azure_rm_aks_info.py index a848ae8f6..ec295560b 100644 --- a/plugins/modules/azure_rm_aks_info.py +++ b/plugins/modules/azure_rm_aks_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific resource group. + type: str resource_group: description: - The resource group to search for the desired Azure Kubernetes Service + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -35,6 +37,7 @@ description: - Show kubeconfig of the AKS cluster. - Note the operation will cost more network overhead, not recommended when listing AKS. + type: str choices: - user - admin diff --git a/plugins/modules/azure_rm_aksversion_info.py b/plugins/modules/azure_rm_aksversion_info.py index c0f719c0a..abbda1b13 100644 --- a/plugins/modules/azure_rm_aksversion_info.py +++ b/plugins/modules/azure_rm_aksversion_info.py @@ -24,9 +24,11 @@ description: - Get the versions available for creating a managed Kubernetes cluster. required: true + type: str version: description: - Get the upgrade versions available for a managed Kubernetes cluster version. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_appgateway.py b/plugins/modules/azure_rm_appgateway.py index d0c207690..ed9d45220 100644 --- a/plugins/modules/azure_rm_appgateway.py +++ b/plugins/modules/azure_rm_appgateway.py @@ -21,13 +21,16 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the application gateway. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str sku: description: - SKU of the application gateway resource. @@ -36,6 +39,7 @@ name: description: - Name of an application gateway SKU. + type: str choices: - 'standard_small' - 'standard_medium' @@ -47,6 +51,7 @@ tier: description: - Tier of an application gateway. + type: str choices: - 'standard' - 'standard_v2' @@ -55,6 +60,7 @@ capacity: description: - Capacity (instance count) of an application gateway. + type: int ssl_policy: description: - SSL policy of the application gateway resource. @@ -72,12 +78,14 @@ policy_type: description: - Type of SSL Policy. + type: str choices: - 'predefined' - 'custom' policy_name: description: - Name of Ssl C(predefined) policy. + type: str choices: - 'ssl_policy20150501' - 'ssl_policy20170401' @@ -119,6 +127,7 @@ min_protocol_version: description: - Minimum version of SSL protocol to be supported on application gateway. + type: str choices: - 'tls_v1_0' - 'tls_v1_1' @@ -137,15 +146,19 @@ id: description: - Full ID of the subnet resource. Required if I(name) and I(virtual_network_name) are not provided. + type: str name: description: - Name of the subnet. Only used if I(virtual_network_name) is also provided. + type: str virtual_network_name: description: - Name of the virtual network. Only used if I(name) is also provided. + type: str name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str authentication_certificates: description: - Authentication certificates of the application gateway resource. @@ -155,9 +168,11 @@ data: description: - Certificate public data - base64 encoded pfx. + type: str name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str redirect_configurations: description: - Redirect configurations of the application gateway resource. @@ -167,6 +182,7 @@ redirect_type: description: - Redirection type. + type: str choices: - 'permanent' - 'found' @@ -175,13 +191,18 @@ target_listener: description: - Reference to a listener to redirect the request to. + type: str request_routing_rules: description: - List of c(basic) request routing rule names within the application gateway to which the redirect is bound. version_added: "1.10.0" + type: list + elements: str url_path_maps: description: - List of URL path map names (c(path_based_routing) rules) within the application gateway to which the redirect is bound. + type: list + elements: str version_added: "1.10.0" path_rules: description: @@ -192,19 +213,24 @@ name: description: - Name of the URL rule. + type: str path_map_name: description: - Name of URL path map. + type: str version_added: "1.10.0" include_path: description: - Include path in the redirected url. + type: bool include_query_string: description: - Include query string in the redirected url. + type: bool name: description: - Name of the resource that is unique within a resource group. + type: str rewrite_rule_sets: description: - List of rewrite configurations for the application gateway resource. @@ -215,6 +241,7 @@ name: description: - Name of the rewrite rule set. + type: str required: True rewrite_rules: description: @@ -227,10 +254,12 @@ description: - Name of the rewrite rule. required: True + type: str rule_sequence: description: - Sequence of the rule that determines the order of execution within the set. required: True + type: int conditions: description: - Conditions based on which the action set execution will be evaluated. @@ -241,10 +270,12 @@ variable: description: - The parameter for the condition. + type: str required: True pattern: description: - The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. + type: str required: True ignore_case: description: @@ -272,11 +303,13 @@ header_name: description: - Name of the header. + type: str required: True header_value: description: - Value of the header. - Leave the parameter unset to remove the header. + type: str default: '' response_header_configurations: description: @@ -288,11 +321,13 @@ header_name: description: - Name of the header. + type: str required: True header_value: description: - Value of the header. - Leave the parameter unset to remove the header. + type: str default: '' url_configuration: description: @@ -303,10 +338,12 @@ description: - Value to which the URL path will be rewriten. - Leave parameter unset to keep the original URL path. + type: str modified_query_string: description: - Value to which the URL query string will be rewriten. - Leave parameter unset to keep the original URL query string. + type: str reroute: description: - If set to true, will re-evaluate the path map provided in path-based request routing rules using modified path. @@ -322,13 +359,16 @@ description: - Base-64 encoded pfx certificate. - Only applicable in PUT Request. + type: str password: description: - Password for the pfx file specified in I(data). - Only applicable in PUT request. + type: str name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str trusted_root_certificates: version_added: "1.15.0" description: @@ -358,9 +398,11 @@ private_ip_address: description: - PrivateIPAddress of the network interface IP Configuration. + type: str private_ip_allocation_method: description: - PrivateIP allocation method. + type: str choices: - 'static' - 'dynamic' @@ -372,18 +414,23 @@ id: description: - Full ID of the subnet resource. Required if I(name) and I(virtual_network_name) are not provided. + type: str name: description: - Name of the subnet. Only used if I(virtual_network_name) is also provided. + type: str virtual_network_name: description: - Name of the virtual network. Only used if I(name) is also provided. + type: str public_ip_address: description: - Reference of the PublicIP resource. + type: raw name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str frontend_ports: description: - List of frontend ports of the application gateway resource. @@ -393,9 +440,11 @@ port: description: - Frontend port. + type: str name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str backend_address_pools: description: - List of backend address pool of the application gateway resource. @@ -411,12 +460,15 @@ fqdn: description: - Fully qualified domain name (FQDN). + type: str ip_address: description: - IP address. + type: str name: description: - Resource that is unique within a resource group. This name can be used to access the resource. + type: str probes: description: - Probes available to the application gateway resource. @@ -426,35 +478,42 @@ name: description: - Name of the I(probe) that is unique within an Application Gateway. + type: str protocol: description: - The protocol used for the I(probe). + type: str choices: - 'http' - 'https' host: description: - Host name to send the I(probe) to. + type: str path: description: - Relative path of I(probe). - Valid path starts from '/'. - Probe is sent to ://:. + type: str timeout: description: - The probe timeout in seconds. - Probe marked as failed if valid response is not received with this timeout period. - Acceptable values are from 1 second to 86400 seconds. + type: int interval: description: - The probing interval in seconds. - This is the time interval between two consecutive probes. - Acceptable values are from 1 second to 86400 seconds. + type: int unhealthy_threshold: description: - The I(probe) retry count. - Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. - Acceptable values are from 1 second to 20. + type: int pick_host_name_from_backend_http_settings: description: - Whether host header should be picked from the host name of the backend HTTP settings. Default value is false. @@ -469,18 +528,22 @@ probe: description: - Probe resource of an application gateway. + type: raw port: description: - The destination port on the backend. + type: int protocol: description: - The protocol used to communicate with the backend. + type: str choices: - 'http' - 'https' cookie_based_affinity: description: - Cookie based affinity. + type: str choices: - 'enabled' - 'disabled' @@ -503,6 +566,7 @@ - Request timeout in seconds. - Application Gateway will fail the request if response is not received within RequestTimeout. - Acceptable values are from 1 second to 86400 seconds. + type: int authentication_certificates: description: - List of references to application gateway authentication certificates. @@ -513,29 +577,35 @@ id: description: - Resource ID. + type: str trusted_root_certificates: version_added: "1.15.0" description: - Array of references to application gateway trusted root certificates. - Can be the name of the trusted root certificate or full resource ID. type: list - elements: str + elements: raw host_name: description: - Host header to be sent to the backend servers. + type: str pick_host_name_from_backend_address: description: - Whether host header should be picked from the host name of the backend server. Default value is false. + type: bool affinity_cookie_name: description: - Cookie name to use for the affinity cookie. + type: str path: description: - Path which should be used as a prefix for all C(http) requests. - Null means no path will be prefixed. Default value is null. + type: str name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str http_listeners: description: - List of HTTP listeners of the application gateway resource. @@ -545,27 +615,34 @@ frontend_ip_configuration: description: - Frontend IP configuration resource of an application gateway. + type: raw frontend_port: description: - Frontend port resource of an application gateway. + type: raw protocol: description: - Protocol of the C(http) listener. + type: str choices: - 'http' - 'https' host_name: description: - Host name of C(http) listener. + type: str ssl_certificate: description: - SSL certificate resource of an application gateway. + type: raw require_server_name_indication: description: - Applicable only if I(protocol) is C(https). Enables SNI for multi-hosting. + type: bool name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str url_path_maps: description: - List of URL path maps of the application gateway resource. @@ -575,18 +652,22 @@ name: description: - Name of the resource that is unique within the application gateway. This name can be used to access the resource. + type: str default_backend_address_pool: description: - Backend address pool resource of the application gateway which will be used if no path matches occur. - Mutually exclusive with I(default_redirect_configuration). + type: str default_backend_http_settings: description: - Backend http settings resource of the application gateway; used with I(default_backend_address_pool). + type: str default_rewrite_rule_set: description: - Default rewrite rule set for the path map. - Can be the name of the rewrite rule set or full resource ID. version_added: "1.11.0" + type: str path_rules: description: - List of URL path rules. @@ -596,22 +677,27 @@ name: description: - Name of the resource that is unique within the path map. + type: str backend_address_pool: description: - Backend address pool resource of the application gateway which will be used if the path is matched. - Mutually exclusive with I(redirect_configuration). + type: str backend_http_settings: description: - Backend http settings resource of the application gateway; used for the path's I(backend_address_pool). + type: str rewrite_rule_set: description: - Rewrite rule set for the path map. - Can be the name of the rewrite rule set or full resource ID. + type: str version_added: "1.11.0" redirect_configuration: description: - Name of redirect configuration resource of the application gateway which will be used if the path is matched. - Mutually exclusive with I(backend_address_pool). + type: str version_added: "1.10.0" paths: description: @@ -622,6 +708,7 @@ description: - Name of redirect configuration resource of the application gateway which will be used if no path matches occur. - Mutually exclusive with I(default_backend_address_pool). + type: str version_added: "1.10.0" request_routing_rules: description: @@ -632,31 +719,39 @@ rule_type: description: - Rule type. + type: str choices: - 'basic' - 'path_based_routing' backend_address_pool: description: - Backend address pool resource of the application gateway. Not used if I(rule_type) is C(path_based_routing). + type: raw backend_http_settings: description: - Backend C(http) settings resource of the application gateway. + type: raw http_listener: description: - Http listener resource of the application gateway. + type: raw name: description: - Name of the resource that is unique within a resource group. This name can be used to access the resource. + type: str redirect_configuration: description: - Redirect configuration resource of the application gateway. + type: raw url_path_map: description: - URL path map resource of the application gateway. Required if I(rule_type) is C(path_based_routing). + type: raw rewrite_rule_set: description: - Rewrite rule set for the path map. - Can be the name of the rewrite rule set or full resource ID. + type: raw version_added: "1.11.0" autoscale_configuration: version_added: "1.15.0" @@ -770,6 +865,7 @@ description: - Assert the state of the application gateway. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present @@ -820,7 +916,7 @@ frontend_port: ag_frontend_port name: sample_http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener @@ -867,7 +963,7 @@ frontend_port: ag_frontend_port name: sample_http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener @@ -908,7 +1004,7 @@ frontend_port: ag_frontend_port name: sample_http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener @@ -1270,7 +1366,7 @@ frontend_port: ag_frontend_port name: sample_http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener @@ -1309,7 +1405,7 @@ frontend_port: ag_frontend_port name: sample_http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener @@ -1403,11 +1499,21 @@ class Actions: ssl_policy_spec = dict( - disabled_ssl_protocols=dict(type='list'), + disabled_ssl_protocols=dict(type='list', elements='str', choices=['tls_v1_0', 'tls_v1_1', 'tls_v1_2']), policy_type=dict(type='str', choices=['predefined', 'custom']), policy_name=dict(type='str', choices=['ssl_policy20150501', 'ssl_policy20170401', 'ssl_policy20170401_s']), - cipher_suites=dict(type='list'), - min_protocol_version=dict(type='str', choices=['tls_v1_0', 'tls_v1_1', 'tls_v1_2']) + min_protocol_version=dict(type='str', choices=['tls_v1_0', 'tls_v1_1', 'tls_v1_2']), + cipher_suites=dict(type='list', elements='str', + choices=['tls_ecdhe_rsa_with_aes_256_gcm_sha384', 'tls_ecdhe_rsa_with_aes_128_gcm_sha256', 'tls_ecdhe_rsa_with_aes_256_cbc_sha384', + 'tls_ecdhe_rsa_with_aes_128_cbc_sha256', 'tls_ecdhe_rsa_with_aes_256_cbc_sha', 'tls_ecdhe_rsa_with_aes_128_cbc_sha', + 'tls_dhe_rsa_with_aes_256_gcm_sha384', 'tls_dhe_rsa_with_aes_128_gcm_sha256', 'tls_dhe_rsa_with_aes_256_cbc_sha', + 'tls_dhe_rsa_with_aes_128_cbc_sha', 'tls_rsa_with_aes_256_gcm_sha384', 'tls_rsa_with_aes_128_gcm_sha256', + 'tls_rsa_with_aes_256_cbc_sha256', 'tls_rsa_with_aes_128_cbc_sha256', 'tls_rsa_with_aes_256_cbc_sha', + 'tls_rsa_with_aes_128_cbc_sha', 'tls_ecdhe_ecdsa_with_aes_256_gcm_sha384', 'tls_ecdhe_ecdsa_with_aes_128_gcm_sha256', + 'tls_ecdhe_ecdsa_with_aes_256_cbc_sha384', 'tls_ecdhe_ecdsa_with_aes_128_cbc_sha256', + 'tls_ecdhe_ecdsa_with_aes_256_cbc_sha', 'tls_ecdhe_ecdsa_with_aes_128_cbc_sha', 'tls_dhe_dss_with_aes_256_cbc_sha256', + 'tls_dhe_dss_with_aes_128_cbc_sha256', 'tls_dhe_dss_with_aes_256_cbc_sha', 'tls_dhe_dss_with_aes_128_cbc_sha', + 'tls_rsa_with_3des_ede_cbc_sha', 'tls_dhe_dss_with_3des_ede_cbc_sha']), ) @@ -1570,13 +1676,36 @@ def __init__(self): options=ssl_policy_spec ), gateway_ip_configurations=dict( - type='list' + type='list', + elements='dict', + options=dict( + name=dict(type='str'), + subnet=dict( + type='dict', + options=dict( + id=dict(type='str'), + name=dict(type='str'), + virtual_network_name=dict(type='str') + ) + ) + ) ), authentication_certificates=dict( - type='list' + type='list', + elements='dict', + options=dict( + name=dict(type='str'), + data=dict(type='str') + ), ), ssl_certificates=dict( - type='list' + type='list', + elements='dict', + options=dict( + data=dict(type='str'), + password=dict(type='str', no_log=True), + name=dict(type='str') + ) ), trusted_root_certificates=dict( type='list', @@ -1594,16 +1723,76 @@ def __init__(self): options=rewrite_rule_set_spec ), frontend_ip_configurations=dict( - type='list' + type='list', + elements='dict', + options=dict( + private_ip_address=dict(type='str'), + private_ip_allocation_method=dict(type='str', choices=['static', 'dynamic']), + public_ip_address=dict(type='raw'), + name=dict(type='str'), + subnet=dict( + type='dict', + options=dict( + id=dict(type='str'), + name=dict(type='str'), + virtual_network_name=dict(type='str') + ) + ) + ) ), frontend_ports=dict( - type='list' + type='list', + elements='dict', + options=dict( + port=dict(type='str'), + name=dict(type='str') + ) ), backend_address_pools=dict( - type='list' + type='list', + elements='dict', + options=dict( + name=dict(type='str'), + backend_addresses=dict( + type='list', + elements='dict', + options=dict( + fqdn=dict(type='str'), + ip_address=dict(type='str') + ) + ) + ) ), backend_http_settings_collection=dict( - type='list' + type='list', + elements='dict', + options=dict( + probe=dict(type='raw'), + port=dict(type='int'), + protocol=dict(type='str', choices=['http', 'https']), + cookie_based_affinity=dict(type='str', choices=['enabled', 'disabled']), + connection_draining=dict( + type='dict', + options=dict( + drain_timeout_in_sec=dict(type='int'), + enabled=dict(type='bool') + ) + ), + request_timeout=dict(type='int'), + authentication_certificates=dict( + type='list', + elements='dict', + options=dict( + id=dict(type='str') + ) + ), + trusted_root_certificates=dict(type='list', elements='raw'), + host_name=dict(type='str'), + pick_host_name_from_backend_address=dict(type='bool'), + affinity_cookie_name=dict(type='str'), + path=dict(type='str'), + name=dict(type='str') + ) ), probes=dict( type='list', @@ -1611,7 +1800,17 @@ def __init__(self): options=probe_spec ), http_listeners=dict( - type='list' + type='list', + elements='dict', + options=dict( + frontend_ip_configuration=dict(type='raw'), + frontend_port=dict(type='raw'), + protocol=dict(type='str', choices=['http', 'https']), + host_name=dict(type='str'), + ssl_certificate=dict(type='raw'), + require_server_name_indication=dict(type='bool'), + name=dict(type='str'), + ) ), url_path_maps=dict( type='list', @@ -1622,7 +1821,18 @@ def __init__(self): required_together=[('default_backend_address_pool', 'default_backend_http_settings')], ), request_routing_rules=dict( - type='list' + type='list', + elements='dict', + options=dict( + rule_type=dict(type='str', choices=['basic', 'path_based_routing']), + backend_address_pool=dict(type='raw'), + backend_http_settings=dict(type='raw'), + http_listener=dict(type='raw'), + name=dict(type='str'), + redirect_configuration=dict(type='raw'), + rewrite_rule_set=dict(type='raw'), + url_path_map=dict(type='raw'), + ) ), autoscale_configuration=dict( type='dict', @@ -1739,7 +1949,8 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'subnet' in item and 'name' in item['subnet'] and 'virtual_network_name' in item['subnet']: + if 'subnet' in item and item['subnet'] is not None and 'name' in item['subnet'] and item['subnet']['name'] is not None and \ + 'virtual_network_name' in item['subnet'] and item['subnet']['virtual_network_name'] is not None: id = subnet_id(self.subscription_id, kwargs['resource_group'], item['subnet']['virtual_network_name'], @@ -1815,14 +2026,15 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'private_ip_allocation_method' in item: + if 'private_ip_allocation_method' in item and item['private_ip_allocation_method'] is not None: item['private_ip_allocation_method'] = _snake_to_camel(item['private_ip_allocation_method'], True) - if 'public_ip_address' in item: + if 'public_ip_address' in item and item['public_ip_address'] is not None: id = public_ip_id(self.subscription_id, kwargs['resource_group'], item['public_ip_address']) item['public_ip_address'] = {'id': id} - if 'subnet' in item and 'name' in item['subnet'] and 'virtual_network_name' in item['subnet']: + if 'subnet' in item and item['subnet'] is not None and 'name' in item['subnet'] and item['subnet']['name'] is not None and \ + 'virtual_network_name' in item['subnet'] and item['subnet']['virtual_network_name'] is not None: id = subnet_id(self.subscription_id, kwargs['resource_group'], item['subnet']['virtual_network_name'], @@ -1837,7 +2049,7 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'protocol' in item: + if 'protocol' in item and item['protocol'] is not None: item['protocol'] = _snake_to_camel(item['protocol'], True) if 'pick_host_name_from_backend_http_settings' in item and item['pick_host_name_from_backend_http_settings'] and 'host' in item: del item['host'] @@ -1846,17 +2058,17 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'protocol' in item: + if 'protocol' in item and item['protocol'] is not None: item['protocol'] = _snake_to_camel(item['protocol'], True) - if 'cookie_based_affinity' in item: + if 'cookie_based_affinity' in item and item['cookie_based_affinity'] is not None: item['cookie_based_affinity'] = _snake_to_camel(item['cookie_based_affinity'], True) - if 'probe' in item: + if 'probe' in item and item['probe'] is not None: id = probe_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['probe']) item['probe'] = {'id': id} - if 'trusted_root_certificates' in item: + if 'trusted_root_certificates' in item and item['trusted_root_certificates'] is not None: for j in range(len(item['trusted_root_certificates'])): id = item['trusted_root_certificates'][j] id = id if is_valid_resource_id(id) else trusted_root_certificate_id(self.subscription_id, @@ -1869,26 +2081,26 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'frontend_ip_configuration' in item: + if 'frontend_ip_configuration' in item and item['frontend_ip_configuration'] is not None: id = frontend_ip_configuration_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['frontend_ip_configuration']) item['frontend_ip_configuration'] = {'id': id} - if 'frontend_port' in item: + if 'frontend_port' in item and item['frontend_port'] is not None: id = frontend_port_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['frontend_port']) item['frontend_port'] = {'id': id} - if 'ssl_certificate' in item: + if 'ssl_certificate' in item and item['ssl_certificate'] is not None: id = ssl_certificate_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['ssl_certificate']) item['ssl_certificate'] = {'id': id} - if 'protocol' in item: + if 'protocol' in item and item['protocol'] is not None: item['protocol'] = _snake_to_camel(item['protocol'], True) ev[i] = item self.parameters["http_listeners"] = ev @@ -1896,7 +2108,7 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if item['default_backend_address_pool']: + if item['default_backend_address_pool'] and item['default_backend_address_pool'] is not None: id = backend_address_pool_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], @@ -1904,7 +2116,7 @@ def exec_module(self, **kwargs): item['default_backend_address_pool'] = {'id': id} else: del item['default_backend_address_pool'] - if item['default_backend_http_settings']: + if item['default_backend_http_settings'] and item['default_backend_http_settings'] is not None: id = backend_http_settings_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], @@ -1916,7 +2128,7 @@ def exec_module(self, **kwargs): ev2 = item['path_rules'] for j in range(len(ev2)): item2 = ev2[j] - if item2['backend_address_pool']: + if item2['backend_address_pool'] and item2['backend_address_pool'] is not None: id = backend_address_pool_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], @@ -1924,7 +2136,7 @@ def exec_module(self, **kwargs): item2['backend_address_pool'] = {'id': id} else: del item2['backend_address_pool'] - if item2['backend_http_settings']: + if item2['backend_http_settings'] and item2['backend_http_settings'] is not None: id = backend_http_settings_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], @@ -1932,7 +2144,7 @@ def exec_module(self, **kwargs): item2['backend_http_settings'] = {'id': id} else: del item2['backend_http_settings'] - if item2['redirect_configuration']: + if item2['redirect_configuration'] and item2['redirect_configuration'] is not None: id = redirect_configuration_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], @@ -1973,37 +2185,38 @@ def exec_module(self, **kwargs): ev = kwargs[key] for i in range(len(ev)): item = ev[i] - if 'rule_type' in item and item['rule_type'] == 'path_based_routing' and 'backend_address_pool' in item: + if 'rule_type' in item and item['rule_type'] is not None and item['rule_type'] == 'path_based_routing' and \ + 'backend_address_pool' in item and item['backend_address_pool'] is not None: del item['backend_address_pool'] - if 'backend_address_pool' in item: + if 'backend_address_pool' in item and item['backend_address_pool'] is not None: id = backend_address_pool_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['backend_address_pool']) item['backend_address_pool'] = {'id': id} - if 'backend_http_settings' in item: + if 'backend_http_settings' in item and item['backend_http_settings'] is not None: id = backend_http_settings_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['backend_http_settings']) item['backend_http_settings'] = {'id': id} - if 'http_listener' in item: + if 'http_listener' in item and item['http_listener'] is not None: id = http_listener_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['http_listener']) item['http_listener'] = {'id': id} - if 'protocol' in item: + if 'protocol' in item and item['protocol'] is not None: item['protocol'] = _snake_to_camel(item['protocol'], True) - if 'rule_type' in item: + if 'rule_type' in item and item['rule_type'] is not None: item['rule_type'] = _snake_to_camel(item['rule_type'], True) - if 'redirect_configuration' in item: + if 'redirect_configuration' in item and item['redirect_configuration'] is not None: id = redirect_configuration_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], item['redirect_configuration']) item['redirect_configuration'] = {'id': id} - if 'url_path_map' in item: + if 'url_path_map' in item and item['url_path_map'] is not None: id = url_path_map_id(self.subscription_id, kwargs['resource_group'], kwargs['name'], diff --git a/plugins/modules/azure_rm_applicationsecuritygroup.py b/plugins/modules/azure_rm_applicationsecuritygroup.py index 7c31321d2..1dadc187b 100644 --- a/plugins/modules/azure_rm_applicationsecuritygroup.py +++ b/plugins/modules/azure_rm_applicationsecuritygroup.py @@ -21,21 +21,25 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the application security group. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str state: - description: - - Assert the state of the Application Security Group. - - Use C(present) to create or update an Application Security Group and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Application Security Group. + - Use C(present) to create or update an Application Security Group and C(absent) to delete it. + type: str + default: present + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_applicationsecuritygroup_info.py b/plugins/modules/azure_rm_applicationsecuritygroup_info.py index bae599e70..182106fce 100644 --- a/plugins/modules/azure_rm_applicationsecuritygroup_info.py +++ b/plugins/modules/azure_rm_applicationsecuritygroup_info.py @@ -20,9 +20,11 @@ resource_group: description: - The name of the resource group. + type: str name: description: - The name of the application security group. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_appserviceplan.py b/plugins/modules/azure_rm_appserviceplan.py index 5eae559e0..258cbb56f 100644 --- a/plugins/modules/azure_rm_appserviceplan.py +++ b/plugins/modules/azure_rm_appserviceplan.py @@ -21,21 +21,24 @@ description: - Name of the resource group to which the resource belongs. required: True + type: str name: description: - Unique name of the app service plan to create or update. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. - + type: str sku: description: - The pricing tiers, e.g., C(F1), C(D1), C(B1), C(B2), C(B3), C(S1), C(P1), C(P1V2) etc. - Please see U(https://azure.microsoft.com/en-us/pricing/details/app-service/plans/) for more detail. - For Linux app service plan, please see U(https://azure.microsoft.com/en-us/pricing/details/app-service/linux/) for more detail. + type: str is_linux: description: - Describe whether to host webapp on Linux worker. @@ -45,15 +48,17 @@ number_of_workers: description: - Describe number of workers to be allocated. + type: str state: - description: - - Assert the state of the app service plan. - - Use C(present) to create or update an app service plan and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the app service plan. + - Use C(present) to create or update an app service plan and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_appserviceplan_info.py b/plugins/modules/azure_rm_appserviceplan_info.py index 6c3da01fd..a4e9ed9f5 100644 --- a/plugins/modules/azure_rm_appserviceplan_info.py +++ b/plugins/modules/azure_rm_appserviceplan_info.py @@ -23,9 +23,11 @@ name: description: - Only show results for a specific app service plan. + type: str resource_group: description: - Limit results by resource group. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_autoscale.py b/plugins/modules/azure_rm_autoscale.py index adcb6dfb9..33dde1186 100644 --- a/plugins/modules/azure_rm_autoscale.py +++ b/plugins/modules/azure_rm_autoscale.py @@ -21,10 +21,12 @@ - The identifier of the resource to apply autoscale setting. - It could be the resource id string. - It also could be a dict contains the C(name), C(subscription_id), C(namespace), C(types), C(resource_group) of the resource. + type: raw resource_group: required: true description: - Resource group of the resource. + type: str enabled: type: bool description: @@ -34,29 +36,36 @@ description: - The collection of automatic scaling profiles that specify different scaling parameters for different time periods. - A maximum of 20 profiles can be specified. + type: list + elements: dict suboptions: name: required: true description: - The name of the profile. + type: str count: required: true description: - The number of instances that will be set if metrics are not available for evaluation. - The default is only used if the current instance count is lower than the default. + type: str min_count: description: - The minimum number of instances for the resource. + type: str max_count: description: - The maximum number of instances for the resource. - The actual maximum number of instances is limited by the cores that are available in the subscription. + type: str recurrence_frequency: default: None description: - How often the schedule profile should take effect. - If this value is C(Week), meaning each week will have the same set of profiles. - This element is not used if the FixedDate element is used. + type: str choices: - None - Second @@ -70,39 +79,52 @@ description: - The timezone of repeating times at which this profile begins. - This element is not used if the FixedDate element is used. + type: str recurrence_days: description: - The days of repeating times at which this profile begins. - This element is not used if the FixedDate element is used. + type: list + elements: str recurrence_hours: description: - The hours of repeating times at which this profile begins. - This element is not used if the FixedDate element is used. + type: list + elements: str recurrence_mins: description: - The mins of repeating times at which this profile begins. - This element is not used if the FixedDate element is used. + type: list + elements: str fixed_date_timezone: description: - The specific date-time timezone for the profile. - This element is not used if the Recurrence element is used. + type: str fixed_date_start: description: - The specific date-time start for the profile. - This element is not used if the Recurrence element is used. + type: str fixed_date_end: description: - The specific date-time end for the profile. - This element is not used if the Recurrence element is used. + type: str rules: description: - The collection of rules that provide the triggers and parameters for the scaling action. - A maximum of 10 rules can be specified. + type: list + elements: dict suboptions: time_aggregation: default: Average description: - How the data that is collected should be combined over time. + type: str choices: - Average - Minimum @@ -115,9 +137,11 @@ - The range of time(minutes) in which instance data is collected. - This value must be greater than the delay in metric collection, which can vary from resource-to-resource. - Must be between 5 ~ 720. + type: float direction: description: - Whether the scaling action increases or decreases the number of instances. + type: str choices: - Increase - Decrease @@ -125,17 +149,21 @@ required: true description: - The name of the metric that defines what the rule monitors. + type: str metric_resource_uri: description: - The resource identifier of the resource the rule monitors. + type: str value: description: - The number of instances that are involved in the scaling action. - This value must be 1 or greater. + type: str operator: default: GreaterThan description: - The operator that is used to compare the metric data and the threshold. + type: str choices: - Equals - NotEquals @@ -147,16 +175,19 @@ description: - The amount of time (minutes) to wait since the last scaling action before this action occurs. - It must be between 1 ~ 10080. + type: float time_grain: required: true description: - The granularity(minutes) of metrics the rule monitors. - Must be one of the predefined values returned from metric definitions for the metric. - Must be between 1 ~ 720. + type: float statistic: default: Average description: - How the metrics from multiple instances are combined. + type: str choices: - Average - Min @@ -166,9 +197,11 @@ default: 70 description: - The threshold of the metric that triggers the scale action. + type: float type: description: - The type of action that should occur when the scale rule fires. + type: str choices: - PercentChangeCount - ExactCount @@ -176,37 +209,50 @@ notifications: description: - The collection of notifications. + type: list + elements: dict suboptions: custom_emails: description: - The custom e-mails list. This value can be null or empty, in which case this attribute will be ignored. + type: list + elements: str send_to_subscription_administrator: type: bool default: False description: - A value indicating whether to send email to subscription administrator. + aliases: + - email_admin webhooks: description: - The list of webhook notifications service uri. + type: list + elements: str send_to_subscription_co_administrators: type: bool default: False description: - A value indicating whether to send email to subscription co-administrators. + aliases: + - email_co_admin state: default: present description: - Assert the state of the virtual network. Use C(present) to create or update and C(absent) to delete. + type: str choices: - present - absent location: description: - location of the resource. + type: str name: required: true description: - name of the resource. + type: str extends_documentation_fragment: diff --git a/plugins/modules/azure_rm_autoscale_info.py b/plugins/modules/azure_rm_autoscale_info.py index dcac4e124..a44ccdad5 100644 --- a/plugins/modules/azure_rm_autoscale_info.py +++ b/plugins/modules/azure_rm_autoscale_info.py @@ -21,9 +21,11 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the Auto Scale Setting. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_availabilityset.py b/plugins/modules/azure_rm_availabilityset.py index 473a01ab5..12542e6bb 100644 --- a/plugins/modules/azure_rm_availabilityset.py +++ b/plugins/modules/azure_rm_availabilityset.py @@ -25,21 +25,25 @@ description: - Name of a resource group where the availability set exists or will be created. required: true + type: str name: description: - Name of the availability set. + type: str required: true state: description: - Assert the state of the availability set. - Use C(present) to create or update a availability set and C(absent) to delete a availability set. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str platform_update_domain_count: description: - Update domains indicate groups of virtual machines and underlying physical hardware that can be rebooted at the same time. @@ -59,6 +63,7 @@ description: - Define if the availability set supports managed disks. default: Classic + type: str choices: - Classic - Aligned diff --git a/plugins/modules/azure_rm_azurefirewall.py b/plugins/modules/azure_rm_azurefirewall.py index 3e9b6164a..23eaed834 100644 --- a/plugins/modules/azure_rm_azurefirewall.py +++ b/plugins/modules/azure_rm_azurefirewall.py @@ -34,6 +34,7 @@ description: - Collection of application rule collections used by Azure Firewall. type: list + elements: dict suboptions: priority: description: @@ -50,6 +51,7 @@ description: - Collection of rules used by a application rule collection. type: list + elements: raw suboptions: name: description: @@ -63,18 +65,31 @@ description: - List of source IP addresses for this rule. type: list + elements: str protocols: description: - Array of ApplicationRuleProtocols. + elements: dict type: list + suboptions: + type: + description: + - The type of the protocols. + type: str + port: + description: + - The ports of the protocols. + type: str target_fqdns: description: - List of FQDNs for this rule. type: list + elements: raw fqdn_tags: description: - List of FQDN Tags for this rule. type: list + elements: raw name: description: - Gets name of the resource that is unique within a resource group. @@ -84,6 +99,7 @@ description: - Collection of NAT rule collections used by Azure Firewall. type: list + elements: dict suboptions: priority: description: @@ -100,6 +116,7 @@ description: - Collection of rules used by a NAT rule collection. type: list + elements: dict suboptions: name: description: @@ -113,18 +130,22 @@ description: - List of source IP addresses for this rule. type: list + elements: str destination_addresses: description: - List of destination IP addresses for this rule. type: list + elements: str destination_ports: description: - List of destination ports. type: list + elements: str protocols: description: - Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. type: list + elements: raw translated_address: description: - The translated address for this NAT rule. @@ -142,6 +163,7 @@ description: - Collection of network rule collections used by Azure Firewall. type: list + elements: dict suboptions: priority: description: @@ -158,6 +180,7 @@ description: - Collection of rules used by a network rule collection. type: list + elements: dict suboptions: name: description: @@ -171,18 +194,22 @@ description: - Array of AzureFirewallNetworkRuleProtocols. type: list + elements: raw source_addresses: description: - List of source IP addresses for this rule. type: list + elements: str destination_addresses: description: - List of destination IP addresses. type: list + elements: str destination_ports: description: - List of destination ports. type: list + elements: str name: description: - Gets name of the resource that is unique within a resource group. @@ -192,6 +219,7 @@ description: - IP configuration of the Azure Firewall resource. type: list + elements: dict suboptions: subnet: description: @@ -343,6 +371,7 @@ def __init__(self): ), application_rule_collections=dict( type='list', + elements='dict', disposition='/properties/applicationRuleCollections', options=dict( priority=dict( @@ -358,6 +387,7 @@ def __init__(self): ), rules=dict( type='list', + elements='raw', disposition='properties/*', options=dict( name=dict( @@ -368,10 +398,12 @@ def __init__(self): ), source_addresses=dict( type='list', + elements='str', disposition='sourceAddresses' ), protocols=dict( type='list', + elements='dict', options=dict( type=dict( type='str', @@ -384,10 +416,12 @@ def __init__(self): ), target_fqdns=dict( type='list', + elements='raw', disposition='targetFqdns' ), fqdn_tags=dict( type='list', + elements='raw', disposition='fqdnTags' ) ) @@ -399,6 +433,7 @@ def __init__(self): ), nat_rule_collections=dict( type='list', + elements='dict', disposition='/properties/natRuleCollections', options=dict( priority=dict( @@ -414,6 +449,7 @@ def __init__(self): ), rules=dict( type='list', + elements='dict', disposition='properties/*', options=dict( name=dict( @@ -424,18 +460,22 @@ def __init__(self): ), source_addresses=dict( type='list', + elements='str', disposition='sourceAddresses' ), destination_addresses=dict( type='list', + elements='str', disposition='destinationAddresses' ), destination_ports=dict( type='list', + elements='str', disposition='destinationPorts' ), protocols=dict( - type='list' + type='list', + elements='raw' ), translated_address=dict( type='str', @@ -454,6 +494,7 @@ def __init__(self): ), network_rule_collections=dict( type='list', + elements='dict', disposition='/properties/networkRuleCollections', options=dict( priority=dict( @@ -469,6 +510,7 @@ def __init__(self): ), rules=dict( type='list', + elements='dict', disposition='properties/*', options=dict( name=dict( @@ -478,18 +520,22 @@ def __init__(self): type='str' ), protocols=dict( - type='list' + type='list', + elements='raw' ), source_addresses=dict( type='list', + elements='str', disposition='sourceAddresses' ), destination_addresses=dict( type='list', + elements='str', disposition='destinationAddresses' ), destination_ports=dict( type='list', + elements='str', disposition='destinationPorts' ) ) @@ -501,6 +547,7 @@ def __init__(self): ), ip_configurations=dict( type='list', + elements='dict', disposition='/properties/ipConfigurations', options=dict( subnet=dict( diff --git a/plugins/modules/azure_rm_batchaccount.py b/plugins/modules/azure_rm_batchaccount.py index 78420abe3..c39bbdc27 100644 --- a/plugins/modules/azure_rm_batchaccount.py +++ b/plugins/modules/azure_rm_batchaccount.py @@ -49,6 +49,7 @@ - It can be the storage account ID. Fox example "/subscriptions/{subscription_id}/resourceGroups/ {resource_group}/providers/Microsoft.Storage/storageAccounts/{name}". - It can be a dict which contains I(name) and I(resource_group) of the storage account. + type: raw key_vault: description: - Existing key vault with which to associate the Batch Account. @@ -56,6 +57,7 @@ - It can be the key vault ID. For example "/subscriptions/{subscription_id}/resourceGroups/ {resource_group}/providers/Microsoft.KeyVault/vaults/{name}". - It can be a dict which contains I(name) and I(resource_group) of the key vault. + type: raw pool_allocation_mode: description: - The pool acclocation mode of the Batch Account. diff --git a/plugins/modules/azure_rm_cdnendpoint.py b/plugins/modules/azure_rm_cdnendpoint.py index c289ad0fe..ef267aba9 100644 --- a/plugins/modules/azure_rm_cdnendpoint.py +++ b/plugins/modules/azure_rm_cdnendpoint.py @@ -20,13 +20,16 @@ description: - Name of a resource group where the Azure CDN endpoint exists or will be created. required: true + type: str name: description: - Name of the Azure CDN endpoint. required: true + type: str location: description: - Valid azure location. Defaults to location of the resource group. + type: str started: description: - Use with I(state=present) to start the endpoint. @@ -45,19 +48,24 @@ description: - Name of the CDN profile where the endpoint attached to. required: true + type: str origins: description: - Set of source of the content being delivered via CDN. + elements: dict + type: list suboptions: name: description: - Origin name. required: true + type: str host_name: description: - The address of the origin. - It can be a domain name, IPv4 address, or IPv6 address. required: true + type: str http_port: description: - The value of the HTTP port. Must be between C(1) and C(65535). @@ -66,7 +74,6 @@ description: - The value of the HTTPS port. Must be between C(1) and C(65535). type: int - required: true origin_host_header: description: - The host header value sent to the origin with each request. @@ -111,6 +118,7 @@ description: - Assert the state of the Azure CDN endpoint. Use C(present) to create or update a Azure CDN endpoint and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_cdnendpoint_info.py b/plugins/modules/azure_rm_cdnendpoint_info.py index d345425fc..5fb867c57 100644 --- a/plugins/modules/azure_rm_cdnendpoint_info.py +++ b/plugins/modules/azure_rm_cdnendpoint_info.py @@ -24,13 +24,16 @@ description: - Name of resource group where this CDN profile belongs to. required: true + type: str profile_name: description: - Name of CDN profile. required: true + type: str name: description: - Limit results to a specific Azure CDN endpoint. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -149,6 +152,7 @@ "https_port": null, "name": "xxxxxxxx-blob-core-windows-net" } + type: dict origin_host_header: description: - The host header value sent to the origin with each request. diff --git a/plugins/modules/azure_rm_cdnprofile.py b/plugins/modules/azure_rm_cdnprofile.py index 012a9cba8..14b1c68a9 100644 --- a/plugins/modules/azure_rm_cdnprofile.py +++ b/plugins/modules/azure_rm_cdnprofile.py @@ -20,17 +20,21 @@ description: - Name of a resource group where the CDN profile exists or will be created. required: true + type: str name: description: - Name of the CDN profile. required: true + type: str location: description: - Valid Azure location. Defaults to location of the resource group. + type: str sku: description: - The pricing tier, defines a CDN provider, feature list and rate of the CDN profile. - Detailed pricing can be find at U(https://azure.microsoft.com/en-us/pricing/details/cdn/). + type: str choices: - standard_verizon - premium_verizon @@ -42,6 +46,7 @@ description: - Assert the state of the CDN profile. Use C(present) to create or update a CDN profile and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_cdnprofile_info.py b/plugins/modules/azure_rm_cdnprofile_info.py index 0a0e7c9c9..a1a1f612b 100644 --- a/plugins/modules/azure_rm_cdnprofile_info.py +++ b/plugins/modules/azure_rm_cdnprofile_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific CDN profile. + type: str resource_group: description: - The resource group to search for the desired CDN profile. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_containerregistryreplication.py b/plugins/modules/azure_rm_containerregistryreplication.py index 115d55c29..e3afe6263 100644 --- a/plugins/modules/azure_rm_containerregistryreplication.py +++ b/plugins/modules/azure_rm_containerregistryreplication.py @@ -21,20 +21,34 @@ description: - The name of the resource group to which the container registry belongs. required: True + type: str registry_name: description: - The name of the container registry. required: True + type: str replication_name: description: - The name of the I(replication). required: True + type: str replication: description: - The parameters for creating a replication. + type: dict location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str + state: + description: + - Assert the state of the Container registery replication. + - Use C(present) to create or update Container registery replication and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_containerregistryreplication_info.py b/plugins/modules/azure_rm_containerregistryreplication_info.py index c183061ed..bbaab3e1c 100644 --- a/plugins/modules/azure_rm_containerregistryreplication_info.py +++ b/plugins/modules/azure_rm_containerregistryreplication_info.py @@ -21,14 +21,17 @@ description: - The name of the resource group to which the container registry belongs. required: True + type: str registry_name: description: - The name of the container registry. required: True + type: str replication_name: description: - The name of the replication. required: True + type: str extends_documentation_fragment: - azure.azcollection.azure @@ -86,7 +89,6 @@ - The status of the replication at the time the operation was called. returned: always type: complex - sample: status contains: message: description: @@ -98,7 +100,7 @@ description: - The timestamp when the status was changed to the current value. returned: always - type: datetime + type: str sample: "2017-03-01T23:15:37.0707808Z" ''' @@ -136,7 +138,7 @@ def __init__(self): self.resource_group = None self.registry_name = None self.replication_name = None - super(AzureRMReplicationsFacts, self).__init__(self.module_arg_spec, supports_check_mode=True) + super(AzureRMReplicationsFacts, self).__init__(self.module_arg_spec, supports_tags=False, supports_check_mode=True) def exec_module(self, **kwargs): for key in self.module_arg_spec: diff --git a/plugins/modules/azure_rm_containerregistrywebhook.py b/plugins/modules/azure_rm_containerregistrywebhook.py index 0175af3e6..33399d317 100644 --- a/plugins/modules/azure_rm_containerregistrywebhook.py +++ b/plugins/modules/azure_rm_containerregistrywebhook.py @@ -21,26 +21,33 @@ description: - The name of the resource group to which the container registry belongs. required: True + type: str registry_name: description: - The name of the container registry. required: True + type: str webhook_name: description: - The name of the webhook. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str service_uri: description: - The service URI for the webhook to post notifications. + type: str custom_headers: description: - Custom headers that will be added to the webhook notifications. + type: dict status: description: - The status of the webhook at the time the operation was called. + type: str choices: - 'enabled' - 'disabled' @@ -48,10 +55,21 @@ description: - "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' m eans events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events." + type: str actions: description: - The list of actions that trigger the webhook to post notifications. type: list + elements: str + state: + description: + - Assert the state of the Container registery replication. + - Use C(present) to create or update Container registery replication and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure @@ -150,7 +168,8 @@ def __init__(self): type='str' ), actions=dict( - type='list' + type='list', + elements='str' ), state=dict( type='str', diff --git a/plugins/modules/azure_rm_containerregistrywebhook_info.py b/plugins/modules/azure_rm_containerregistrywebhook_info.py index c15ed3ef3..5c69cb75a 100644 --- a/plugins/modules/azure_rm_containerregistrywebhook_info.py +++ b/plugins/modules/azure_rm_containerregistrywebhook_info.py @@ -21,14 +21,17 @@ description: - The name of the resource group to which the container registry belongs. required: True + type: str registry_name: description: - The name of the container registry. required: True + type: str webhook_name: description: - The name of the webhook. required: True + type: str extends_documentation_fragment: - azure.azcollection.azure @@ -136,7 +139,7 @@ def __init__(self): self.resource_group = None self.registry_name = None self.webhook_name = None - super(AzureRMWebhooksFacts, self).__init__(self.module_arg_spec, supports_check_mode=True) + super(AzureRMWebhooksFacts, self).__init__(self.module_arg_spec, supports_tags=False, supports_check_mode=True) def exec_module(self, **kwargs): for key in self.module_arg_spec: diff --git a/plugins/modules/azure_rm_cosmosdbaccount.py b/plugins/modules/azure_rm_cosmosdbaccount.py index 0098ab8a3..40e0b2735 100644 --- a/plugins/modules/azure_rm_cosmosdbaccount.py +++ b/plugins/modules/azure_rm_cosmosdbaccount.py @@ -21,17 +21,21 @@ description: - Name of an Azure resource group. required: True + type: str name: description: - Cosmos DB database account name. required: True + type: str location: description: - The location of the resource group to which the resource belongs. - Required when I(state=present). + type: str kind: description: - Indicates the type of database account. This can only be set at database account creation. + type: str choices: - 'global_document_db' - 'mongo_db' @@ -39,11 +43,13 @@ consistency_policy: description: - The consistency policy for the Cosmos DB account. + type: dict suboptions: default_consistency_level: description: - The default consistency level and configuration settings of the Cosmos DB account. - Required when I(state=present). + type: str choices: - 'eventual' - 'session' @@ -65,20 +71,25 @@ - An array that contains the georeplication locations enabled for the Cosmos DB account. - Required when I(state=present). type: list + elements: dict suboptions: name: description: - The name of the region. + type: str + required: true failover_priority: description: - The failover priority of the region. A failover priority of 0 indicates a write region. - The maximum value for a failover priority = (total number of regions - 1). - Failover priority values must be unique for each of the regions in which the database account exists. type: int + required: true database_account_offer_type: description: - Database account offer type, for example I(Standard) - Required when I(state=present). + type: str enable_free_tier: description: - If enabled the account is free-tier. @@ -91,6 +102,7 @@ - In CIDR form to be included as the allowed list of client IPs for a given database account. - IP addresses/ranges must be comma separated and must not contain any spaces. - This value has been deprecated, and will be removed in a later version. Use I(ip_rules) instead. + type: str ip_rules: description: - The IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs. @@ -137,11 +149,14 @@ description: - List of Virtual Network ACL rules configured for the Cosmos DB account. type: list + elements: dict suboptions: subnet: description: - It can be a string containing resource id of a subnet. - It can be a dictionary containing 'resource_group', 'virtual_network_name' and 'subnet_name' + type: raw + required: true ignore_missing_v_net_service_endpoint: description: - Create Cosmos DB account without existing virtual network service endpoint. @@ -151,13 +166,14 @@ - Enables the account to write in multiple locations type: bool state: - description: - - Assert the state of the Database Account. - - Use C(present) to create or update an Database Account and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Database Account. + - Use C(present) to create or update an Database Account and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure @@ -271,6 +287,7 @@ def __init__(self): ), geo_rep_locations=dict( type='list', + elements='dict', options=dict( name=dict( type='str', @@ -321,9 +338,10 @@ def __init__(self): ), virtual_network_rules=dict( type='list', + elements='dict', options=dict( - id=dict( - type='str', + subnet=dict( + type='raw', required=True ), ignore_missing_v_net_service_endpoint=dict( diff --git a/plugins/modules/azure_rm_cosmosdbaccount_info.py b/plugins/modules/azure_rm_cosmosdbaccount_info.py index c97b59ea7..728dc8917 100644 --- a/plugins/modules/azure_rm_cosmosdbaccount_info.py +++ b/plugins/modules/azure_rm_cosmosdbaccount_info.py @@ -20,9 +20,11 @@ resource_group: description: - Name of an Azure resource group. + type: str name: description: - Cosmos DB database account name. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_datalakestore.py b/plugins/modules/azure_rm_datalakestore.py index 1f2b23309..5294001b1 100644 --- a/plugins/modules/azure_rm_datalakestore.py +++ b/plugins/modules/azure_rm_datalakestore.py @@ -471,7 +471,6 @@ def __init__(self): 'Commitment_500TB', 'Commitment_1PB', 'Commitment_5PB']), resource_group=dict(type='str', required=True, aliases=['resource_group_name']), state=dict(type='str', default='present', choices=['present', 'absent']), - tags=dict(type='dict'), virtual_network_rules=dict( type='list', elements='dict', @@ -483,7 +482,6 @@ def __init__(self): self.name = None self.resource_group = None self.location = None - self.tags = None self.new_tier = None self.default_group = None self.encryption_config = dict() @@ -503,7 +501,7 @@ def __init__(self): super(AzureRMDatalakeStore, self).__init__(derived_arg_spec=self.module_arg_spec, supports_check_mode=False, - supports_tags=False) + supports_tags=True) def exec_module(self, **kwargs): for key in list(self.module_arg_spec.keys()) + ['tags']: diff --git a/plugins/modules/azure_rm_ddosprotectionplan.py b/plugins/modules/azure_rm_ddosprotectionplan.py index 65505a36c..642248d29 100644 --- a/plugins/modules/azure_rm_ddosprotectionplan.py +++ b/plugins/modules/azure_rm_ddosprotectionplan.py @@ -28,14 +28,14 @@ - Resource location. If not set, location from the resource group will be used as default. type: str state: - description: - - Assert the state of the DDoS protection plan. - - Use C(present) to create or update an DDoS protection plan and C(absent) to delete it. - type: str - default: present - choices: - - absent - - present + description: + - Assert the state of the DDoS protection plan. + - Use C(present) to create or update an DDoS protection plan and C(absent) to delete it. + type: str + default: present + choices: + - absent + - present log_path: description: - parent argument. diff --git a/plugins/modules/azure_rm_deployment.py b/plugins/modules/azure_rm_deployment.py index fa30b8516..07cf93d8e 100644 --- a/plugins/modules/azure_rm_deployment.py +++ b/plugins/modules/azure_rm_deployment.py @@ -21,67 +21,75 @@ - For more information on Azure Resource Manager templates see U(https://azure.microsoft.com/en-us/documentation/articles/resource-group-template-deploy/). options: - resource_group: - description: - - The resource group name to use or create to host the deployed template. - required: true - aliases: - - resource_group_name - name: - description: - - The name of the deployment to be tracked in the resource group deployment history. - - Re-using a deployment name will overwrite the previous value in the resource group's deployment history. - default: ansible-arm - aliases: - - deployment_name - location: - description: - - The geo-locations in which the resource group will be located. - default: westus - deployment_mode: - description: - - In incremental mode, resources are deployed without deleting existing resources that are not included in the template. - - In complete mode resources are deployed and existing resources in the resource group not included in the template are deleted. - default: incremental - choices: - - complete - - incremental - template: - description: - - A hash containing the templates inline. This parameter is mutually exclusive with I(template_link). - - Either I(template) or I(template_link) is required if I(state=present). - type: dict - template_link: - description: - - Uri of file containing the template body. This parameter is mutually exclusive with I(template). - - Either I(template) or I(template_link) is required if I(state=present). - parameters: - description: - - A hash of all the required template variables for the deployment template. This parameter is mutually exclusive with I(parameters_link). - - Either I(parameters_link) or I(parameters) is required if I(state=present). - type: dict - parameters_link: - description: - - Uri of file containing the parameters body. This parameter is mutually exclusive with I(parameters). - - Either I(parameters_link) or I(parameters) is required if I(state=present). - wait_for_deployment_completion: - description: - - Whether or not to block until the deployment has completed. - type: bool - default: 'yes' - wait_for_deployment_polling_period: - description: - - Time (in seconds) to wait between polls when waiting for deployment completion. - default: 10 - state: - description: - - If I(state=present), template will be created. - - If I(state=present) and deployment exists, it will be updated. - - If I(state=absent), the resource group will be removed. - default: present - choices: - - present - - absent + resource_group: + description: + - The resource group name to use or create to host the deployed template. + required: true + type: str + aliases: + - resource_group_name + name: + description: + - The name of the deployment to be tracked in the resource group deployment history. + - Re-using a deployment name will overwrite the previous value in the resource group's deployment history. + default: ansible-arm + type: str + aliases: + - deployment_name + location: + description: + - The geo-locations in which the resource group will be located. + default: westus + type: str + deployment_mode: + description: + - In incremental mode, resources are deployed without deleting existing resources that are not included in the template. + - In complete mode resources are deployed and existing resources in the resource group not included in the template are deleted. + default: incremental + type: str + choices: + - complete + - incremental + template: + description: + - A hash containing the templates inline. This parameter is mutually exclusive with I(template_link). + - Either I(template) or I(template_link) is required if I(state=present). + type: dict + template_link: + description: + - Uri of file containing the template body. This parameter is mutually exclusive with I(template). + - Either I(template) or I(template_link) is required if I(state=present). + type: str + parameters: + description: + - A hash of all the required template variables for the deployment template. This parameter is mutually exclusive with I(parameters_link). + - Either I(parameters_link) or I(parameters) is required if I(state=present). + type: dict + parameters_link: + description: + - Uri of file containing the parameters body. This parameter is mutually exclusive with I(parameters). + - Either I(parameters_link) or I(parameters) is required if I(state=present). + type: str + wait_for_deployment_completion: + description: + - Whether or not to block until the deployment has completed. + type: bool + default: true + wait_for_deployment_polling_period: + description: + - Time (in seconds) to wait between polls when waiting for deployment completion. + default: 10 + type: int + state: + description: + - If I(state=present), template will be created. + - If I(state=present) and deployment exists, it will be updated. + - If I(state=absent), the resource group will be removed. + default: present + type: str + choices: + - present + - absent extends_documentation_fragment: - azure.azcollection.azure @@ -394,7 +402,7 @@ outputs: description: - Dictionary of outputs received from the deployment. - type: complex + type: dict returned: always sample: { "hostname": { "type": "String", "value": "myvirtualmachine.eastus2.cloudapp.azure.com" } } ''' diff --git a/plugins/modules/azure_rm_deployment_info.py b/plugins/modules/azure_rm_deployment_info.py index ad5ad943e..51e6e4e2d 100644 --- a/plugins/modules/azure_rm_deployment_info.py +++ b/plugins/modules/azure_rm_deployment_info.py @@ -21,9 +21,11 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the deployment. + type: str extends_documentation_fragment: - azure.azcollection.azure @@ -58,31 +60,36 @@ - Resource group name. returned: always sample: myResourceGroup + type: str name: description: - Deployment name. returned: always + type: str sample: myDeployment provisioning_state: description: - Provisioning state of the deployment. returned: always + type: str sample: Succeeded template_link: description: - Link to the template. returned: always + type: str sample: "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/d01a5c06f4f1bc03a049ca17bbbd6e06d62657b3/101-vm-simple-linux/ azuredeploy.json" parameters: description: - Dictionary containing deployment parameters. returned: always - type: complex + type: dict outputs: description: - Dictionary containing deployment outputs. returned: always + type: dict output_resources: description: - List of resources. diff --git a/plugins/modules/azure_rm_devtestlab.py b/plugins/modules/azure_rm_devtestlab.py index 105d39329..47f3e3296 100644 --- a/plugins/modules/azure_rm_devtestlab.py +++ b/plugins/modules/azure_rm_devtestlab.py @@ -21,16 +21,20 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the lab. required: True + type: str location: description: - The location of the resource. + type: str storage_type: description: - Type of storage used by the lab. It can be either C(premium) or C(standard). + type: str choices: - 'standard' - 'premium' @@ -39,13 +43,14 @@ - Allow creation of premium data disks. type: bool state: - description: - - Assert the state of the DevTest Lab. - - Use C(present) to create or update an DevTest Lab and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the DevTest Lab. + - Use C(present) to create or update an DevTest Lab and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_devtestlab_info.py b/plugins/modules/azure_rm_devtestlab_info.py index fb362ead7..79c8bc417 100644 --- a/plugins/modules/azure_rm_devtestlab_info.py +++ b/plugins/modules/azure_rm_devtestlab_info.py @@ -137,7 +137,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag': 'MyValue' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabarmtemplate_info.py b/plugins/modules/azure_rm_devtestlabarmtemplate_info.py index c27ef22be..fb008eb80 100644 --- a/plugins/modules/azure_rm_devtestlabarmtemplate_info.py +++ b/plugins/modules/azure_rm_devtestlabarmtemplate_info.py @@ -72,36 +72,43 @@ description: - Resource group name. returned: always + type: str sample: myResourceGroup lab_name: description: - DevTest Lab name. returned: always + type: str sample: myLab artifact_source_name: description: - Artifact source name. returned: always + type: str sample: public environment repo name: description: - ARM Template name. returned: always + type: str sample: WebApp display_name: description: - The tags of the resource. returned: always + type: str sample: Web App description: description: - The tags of the resource. returned: always + type: str sample: This template creates an Azure Web App without a data store. publisher: description: - The tags of the resource. returned: always + type: str sample: Microsoft ''' diff --git a/plugins/modules/azure_rm_devtestlabartifact_info.py b/plugins/modules/azure_rm_devtestlabartifact_info.py index b1503cfbe..7837d005e 100644 --- a/plugins/modules/azure_rm_devtestlabartifact_info.py +++ b/plugins/modules/azure_rm_devtestlabartifact_info.py @@ -126,7 +126,7 @@ description: - A dictionary containing parameters definition of the artifact. returned: always - type: complex + type: dict sample: {} ''' diff --git a/plugins/modules/azure_rm_devtestlabartifactsource.py b/plugins/modules/azure_rm_devtestlabartifactsource.py index fdd0437f0..add7c9afc 100644 --- a/plugins/modules/azure_rm_devtestlabartifactsource.py +++ b/plugins/modules/azure_rm_devtestlabartifactsource.py @@ -20,51 +20,62 @@ resource_group: description: - The name of the resource group. + type: str required: True lab_name: description: - The name of the lab. + type: str required: True name: description: - The name of the artifact source. + type: str required: True display_name: description: - The artifact source's display name. + type: str uri: description: - The artifact source's URI. + type: str source_type: description: - The artifact source's type. + type: str choices: - 'vso' - 'github' folder_path: description: - The folder containing artifacts. + type: str arm_template_folder_path: description: - The folder containing Azure Resource Manager templates. + type: str branch_ref: description: - The artifact source's branch reference. + type: str security_token: description: - The security token to authenticate to the artifact source. + type: str is_enabled: description: - Indicates whether the artifact source is enabled. type: bool state: - description: - - Assert the state of the DevTest Labs Artifacts Source. - - Use C(present) to create or update an DevTest Labs Artifacts Source and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the DevTest Labs Artifacts Source. + - Use C(present) to create or update an DevTest Labs Artifacts Source and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_devtestlabartifactsource_info.py b/plugins/modules/azure_rm_devtestlabartifactsource_info.py index 28976d9e3..08e454bb9 100644 --- a/plugins/modules/azure_rm_devtestlabartifactsource_info.py +++ b/plugins/modules/azure_rm_devtestlabartifactsource_info.py @@ -131,7 +131,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag': 'MyValue' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabcustomimage.py b/plugins/modules/azure_rm_devtestlabcustomimage.py index e45c93612..f24c6f7e5 100644 --- a/plugins/modules/azure_rm_devtestlabcustomimage.py +++ b/plugins/modules/azure_rm_devtestlabcustomimage.py @@ -21,20 +21,25 @@ description: - The name of the resource group. required: True + type: str lab_name: description: - The name of the lab. required: True + type: str name: description: - The name of the custom image. required: True + type: str source_vm: description: - Source DevTest Lab virtual machine name. + type: str windows_os_state: description: - The state of the Windows OS. + type: str choices: - 'non_sysprepped' - 'sysprep_requested' @@ -42,6 +47,7 @@ linux_os_state: description: - The state of the Linux OS. + type: str choices: - 'non_deprovisioned' - 'deprovision_requested' @@ -49,17 +55,20 @@ description: description: - The description of the custom image. + type: str author: description: - The author of the custom image. + type: str state: - description: - - Assert the state of the Custom Image. - - Use C(present) to create or update an Custom Image and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Custom Image. + - Use C(present) to create or update an Custom Image and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_devtestlabcustomimage_info.py b/plugins/modules/azure_rm_devtestlabcustomimage_info.py index 6186af570..8e9b82b9d 100644 --- a/plugins/modules/azure_rm_devtestlabcustomimage_info.py +++ b/plugins/modules/azure_rm_devtestlabcustomimage_info.py @@ -108,7 +108,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag':'MyValue' }" ''' @@ -136,7 +136,6 @@ def __init__(self): ), name=dict( type='str', - required=True ), tags=dict( type='list', diff --git a/plugins/modules/azure_rm_devtestlabenvironment.py b/plugins/modules/azure_rm_devtestlabenvironment.py index 63300e730..214ddbbe1 100644 --- a/plugins/modules/azure_rm_devtestlabenvironment.py +++ b/plugins/modules/azure_rm_devtestlabenvironment.py @@ -49,6 +49,7 @@ description: - The parameters of the Azure Resource Manager template. type: list + elements: dict suboptions: name: description: @@ -145,6 +146,7 @@ def __init__(self): ), deployment_parameters=dict( type='list', + elements='dict', options=dict( name=dict( type='str' diff --git a/plugins/modules/azure_rm_devtestlabenvironment_info.py b/plugins/modules/azure_rm_devtestlabenvironment_info.py index 8e5646f6a..6f8bac692 100644 --- a/plugins/modules/azure_rm_devtestlabenvironment_info.py +++ b/plugins/modules/azure_rm_devtestlabenvironment_info.py @@ -116,7 +116,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag': 'MyValue' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabpolicy.py b/plugins/modules/azure_rm_devtestlabpolicy.py index 0b0a8f613..2a3f2f953 100644 --- a/plugins/modules/azure_rm_devtestlabpolicy.py +++ b/plugins/modules/azure_rm_devtestlabpolicy.py @@ -21,24 +21,30 @@ description: - The name of the resource group. required: True + type: str lab_name: description: - The name of the lab. required: True + type: str policy_set_name: description: - The name of the policy set. required: True + type: str name: description: - The name of the policy. required: True + type: str description: description: - The description of the policy. + type: str fact_name: description: - The fact name of the policy (e.g. C(lab_vm_count), C(lab_vm_size)), MaxVmsAllowedPerLab, etc. + type: str choices: - 'user_owned_lab_vm_count' - 'user_owned_lab_premium_vm_count' @@ -53,13 +59,14 @@ - The threshold of the policy (it could be either a maximum value or a list of allowed values). type: raw state: - description: - - Assert the state of the Policy. - - Use C(present) to create or update an Policy and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Policy. + - Use C(present) to create or update an Policy and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_devtestlabpolicy_info.py b/plugins/modules/azure_rm_devtestlabpolicy_info.py index bf4d8bf07..76d14ac2d 100644 --- a/plugins/modules/azure_rm_devtestlabpolicy_info.py +++ b/plugins/modules/azure_rm_devtestlabpolicy_info.py @@ -115,7 +115,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag': 'MyValue' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabschedule.py b/plugins/modules/azure_rm_devtestlabschedule.py index ce0fff362..eded36905 100644 --- a/plugins/modules/azure_rm_devtestlabschedule.py +++ b/plugins/modules/azure_rm_devtestlabschedule.py @@ -21,31 +21,37 @@ description: - The name of the resource group. required: True + type: str lab_name: description: - The name of the lab. required: True + type: str name: description: - The name of the schedule. required: True + type: str choices: - lab_vms_startup - lab_vms_shutdown time: description: - The time of day the schedule will occur. + type: str time_zone_id: description: - The time zone ID. + type: str state: - description: - - Assert the state of the Schedule. - - Use C(present) to create or update an Schedule and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Schedule. + - Use C(present) to create or update an Schedule and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_devtestlabschedule_info.py b/plugins/modules/azure_rm_devtestlabschedule_info.py index 9bc431989..6575ac484 100644 --- a/plugins/modules/azure_rm_devtestlabschedule_info.py +++ b/plugins/modules/azure_rm_devtestlabschedule_info.py @@ -103,7 +103,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'MyTag': 'MyValue' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabvirtualmachine.py b/plugins/modules/azure_rm_devtestlabvirtualmachine.py index 7e1c925ad..06253b0ff 100644 --- a/plugins/modules/azure_rm_devtestlabvirtualmachine.py +++ b/plugins/modules/azure_rm_devtestlabvirtualmachine.py @@ -21,20 +21,25 @@ description: - The name of the resource group. required: True + type: str lab_name: description: - The name of the lab. required: True + type: str name: description: - The name of the virtual machine. required: True + type: str notes: description: - The notes of the virtual machine. + type: str os_type: description: - Base type of operating system. + type: str choices: - windows - linux @@ -44,84 +49,106 @@ - The list of choices varies depending on the subscription and location. Check your subscription for available choices. - Available values can be found on this website, link U(https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-general). - Required when I(state=present). + type: str user_name: description: - The user name of the virtual machine. + type: str password: description: - The password of the virtual machine administrator. + type: str ssh_key: description: - The SSH key of the virtual machine administrator. + type: str lab_subnet: description: - An existing subnet within lab's virtual network. - It can be the subnet's resource id. - It can be a dict which contains C(virtual_network_name) and C(name). + type: raw disallow_public_ip_address: description: - Indicates whether the virtual machine is to be created without a public IP address. + type: str artifacts: description: - The artifacts to be installed on the virtual machine. type: list + elements: dict suboptions: source_name: description: - The artifact's source name. + type: str source_path: description: - The artifact's path in the source repository. + type: str parameters: description: - The parameters of the artifact. type: list + elements: dict suboptions: name: description: - The name of the artifact parameter. + type: str value: description: - The value of the artifact parameter. + type: str image: description: - The Microsoft Azure Marketplace image reference of the virtual machine. + type: dict suboptions: offer: description: - The offer of the gallery image. + type: str publisher: description: - The publisher of the gallery image. + type: str sku: description: - The SKU of the gallery image. + type: str os_type: description: - The OS type of the gallery image. + type: str version: description: - The version of the gallery image. + type: str expiration_date: description: - The expiration date for VM. + type: str allow_claim: description: - Indicates whether another user can take ownership of the virtual machine. + type: str storage_type: description: - Storage type to use for virtual machine. + type: str choices: - standard - premium state: - description: - - Assert the state of the Virtual Machine. - - Use C(present) to create or update an Virtual Machine and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Virtual Machine. + - Use C(present) to create or update an Virtual Machine and C(absent) to delete it. + type: str + default: present + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure @@ -243,12 +270,17 @@ def __init__(self): ), artifacts=dict( type='list', + elements='dict', options=dict( - artifact_id=dict( + source_name=dict( + type='str', + ), + source_path=dict( type='str' ), parameters=dict( type='list', + elements='dict', options=dict( name=dict( type='str' diff --git a/plugins/modules/azure_rm_devtestlabvirtualmachine_info.py b/plugins/modules/azure_rm_devtestlabvirtualmachine_info.py index 946558e4a..c49502a79 100644 --- a/plugins/modules/azure_rm_devtestlabvirtualmachine_info.py +++ b/plugins/modules/azure_rm_devtestlabvirtualmachine_info.py @@ -199,7 +199,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: "{ 'foo': 'bar' }" ''' diff --git a/plugins/modules/azure_rm_devtestlabvirtualnetwork.py b/plugins/modules/azure_rm_devtestlabvirtualnetwork.py index 76a61e3e1..44d8b3a16 100644 --- a/plugins/modules/azure_rm_devtestlabvirtualnetwork.py +++ b/plugins/modules/azure_rm_devtestlabvirtualnetwork.py @@ -21,28 +21,34 @@ description: - The name of the resource group. required: True + type: str lab_name: description: - The name of the lab. required: True + type: str name: description: - The name of the virtual network. required: True + type: str location: description: - The location of the resource. + type: str description: description: - The description of the virtual network. + type: str state: - description: - - Assert the state of the Virtual Network. - - Use C(present) to create or update an Virtual Network and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Virtual Network. + - Use C(present) to create or update an Virtual Network and C(absent) to delete it. + type: str + default: present + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_dnszone.py b/plugins/modules/azure_rm_dnszone.py index f5033be38..2d0a13e8b 100644 --- a/plugins/modules/azure_rm_dnszone.py +++ b/plugins/modules/azure_rm_dnszone.py @@ -37,20 +37,24 @@ description: - name of resource group. required: true + type: str name: description: - Name of the DNS zone. required: true + type: str state: description: - Assert the state of the zone. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present type: description: - The type of this DNS zone (C(public) or C(private)). + type: str choices: - public - private diff --git a/plugins/modules/azure_rm_dnszone_info.py b/plugins/modules/azure_rm_dnszone_info.py index 8a37a131d..75a228e6b 100644 --- a/plugins/modules/azure_rm_dnszone_info.py +++ b/plugins/modules/azure_rm_dnszone_info.py @@ -23,9 +23,11 @@ resource_group: description: - Limit results by resource group. Required when filtering by name. + type: str name: description: - Only show results for a specific zone. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -81,14 +83,17 @@ description: - id of the DNS Zone. sample: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Network/dnszones/azure.com" + type: str name: description: - name of the DNS zone. sample: azure.com + type: str type: description: - The type of this DNS zone (C(public) or C(private)). sample: private + type: str registration_virtual_networks: description: - A list of references to virtual networks that register hostnames in this DNS zone. diff --git a/plugins/modules/azure_rm_functionapp.py b/plugins/modules/azure_rm_functionapp.py index cf0bc00b0..187373a19 100644 --- a/plugins/modules/azure_rm_functionapp.py +++ b/plugins/modules/azure_rm_functionapp.py @@ -22,13 +22,16 @@ required: true aliases: - resource_group_name + type: str name: description: - Name of the Azure Function App. required: true + type: str location: description: - Valid Azure location. Defaults to location of the resource group. + type: str plan: description: - App service plan. @@ -38,35 +41,45 @@ - It can be a dict which contains C(name), C(resource_group). - C(name). Name of app service plan. - C(resource_group). Resource group name of app service plan. + type: raw container_settings: - description: Web app container settings. + description: + - Web app container settings. + type: dict suboptions: name: description: - Name of container. For example "imagename:tag". + required: True + type: str registry_server_url: description: - Container registry server url. For example C(mydockerregistry.io). + type: str registry_server_user: description: - The container registry server user name. + type: str registry_server_password: description: - The container registry server password. + type: str storage_account: description: - Name of the storage account to use. - required: true + type: str aliases: - storage - storage_account_name app_settings: description: - Dictionary containing application settings. + type: dict state: description: - Assert the state of the Function App. Use C(present) to create or update a Function App and C(absent) to delete. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_functionapp_info.py b/plugins/modules/azure_rm_functionapp_info.py index 3b4904e35..b2a32b768 100644 --- a/plugins/modules/azure_rm_functionapp_info.py +++ b/plugins/modules/azure_rm_functionapp_info.py @@ -19,11 +19,13 @@ name: description: - Only show results for a specific Function App. + type: str resource_group: description: - Limit results to a resource group. Required when filtering by name. aliases: - resource_group_name + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_galleryimage.py b/plugins/modules/azure_rm_galleryimage.py index ca6c5d554..d009fe955 100644 --- a/plugins/modules/azure_rm_galleryimage.py +++ b/plugins/modules/azure_rm_galleryimage.py @@ -59,7 +59,6 @@ choices: - windows - linux - required: true type: str os_state: description: @@ -67,7 +66,6 @@ choices: - generalized - specialized - required: true type: str hypervgeneration: description: @@ -86,7 +84,6 @@ identifier: description: - Image identifier. - required: true type: dict suboptions: publisher: @@ -144,6 +141,7 @@ description: - A list of disallowed disk types. type: list + elements: str purchase_plan: description: - Purchase plan. @@ -331,6 +329,7 @@ def __init__(self): options=dict( disk_types=dict( type='list', + elements='str', disposition='diskTypes' ) ) diff --git a/plugins/modules/azure_rm_galleryimage_info.py b/plugins/modules/azure_rm_galleryimage_info.py index e7f24d6cd..37c563c1b 100644 --- a/plugins/modules/azure_rm_galleryimage_info.py +++ b/plugins/modules/azure_rm_galleryimage_info.py @@ -85,12 +85,12 @@ os_state: description: - The allowed values for OS State are C(generalized). - type: OperatingSystemStateTypes + type: str sample: "Generalized" os_type: description: - This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image. - type: OperatingSystemTypes + type: str sample: "linux/windows" identifier: description: diff --git a/plugins/modules/azure_rm_galleryimageversion.py b/plugins/modules/azure_rm_galleryimageversion.py index dd403c73e..e5b656a99 100644 --- a/plugins/modules/azure_rm_galleryimageversion.py +++ b/plugins/modules/azure_rm_galleryimageversion.py @@ -45,7 +45,6 @@ storage_profile: description: - Storage profile - required: true type: dict suboptions: source_image: @@ -59,12 +58,12 @@ description: - os disk snapshot - Mutual exclusive with source_image - type: raw + type: dict suboptions: source: description: - Reference to os disk snapshot. Could be resource ID or dictionary containing I(resource_group) and I(name) - type: str + type: raw host_caching: description: - host disk caching @@ -79,11 +78,12 @@ - list of data disk snapshot - Mutual exclusive with source_image type: list + elements: raw suboptions: source: description: - Reference to data disk snapshot. Could be resource ID or dictionary containing I(resource_group) and I(name) - type: str + type: raw lun: description: - lun of the data disk @@ -100,7 +100,6 @@ publishing_profile: description: - Publishing profile. - required: true type: dict suboptions: target_regions: @@ -108,17 +107,19 @@ - The target regions where the Image Version is going to be replicated to. - This property is updatable. type: list + elements: raw suboptions: name: description: - Region name. type: str + required: true regional_replica_count: description: - The number of replicas of the Image Version to be created per region. - This property would take effect for a region when regionalReplicaCount is not specified. - This property is updatable. - type: str + type: int storage_account_type: description: - Storage account type. @@ -127,10 +128,12 @@ description: - Managed image reference, could be resource ID, or dictionary containing I(resource_group) and I(name) - Obsolete since 2.10, use storage_profile instead + type: raw snapshot: description: - Source snapshot to be used. - Obsolete since 2.10, use storage_profile instead + type: raw replica_count: description: - The number of replicas of the Image Version to be created per region. @@ -152,6 +155,9 @@ - Specifies the storage account type to be used to store the image. - This property is not updatable. type: str + choices: + - Standard_LRS + - Standard_ZRS state: description: - Assert the state of the GalleryImageVersion. @@ -342,6 +348,7 @@ def __init__(self): ), data_disks=dict( type='list', + elements='raw', disposition='dataDiskImages', purgeIfNone=True, options=dict( @@ -371,6 +378,7 @@ def __init__(self): options=dict( target_regions=dict( type='list', + elements='raw', disposition='targetRegions', options=dict( name=dict( diff --git a/plugins/modules/azure_rm_hdinsightcluster.py b/plugins/modules/azure_rm_hdinsightcluster.py index b019e3617..f67ab009e 100644 --- a/plugins/modules/azure_rm_hdinsightcluster.py +++ b/plugins/modules/azure_rm_hdinsightcluster.py @@ -21,34 +21,42 @@ description: - The name of the resource group. required: True + type: str name: description: - The name of the cluster. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str cluster_version: description: - The version of the cluster. For example C(3.6). + type: str os_type: description: - The type of operating system. + type: str choices: - 'linux' tier: description: - The cluster tier. + type: str choices: - 'standard' - 'premium' cluster_definition: description: - The cluster definition. + type: dict suboptions: kind: description: - The type of cluster. + type: str choices: - hadoop - spark @@ -57,17 +65,21 @@ gateway_rest_username: description: - Gateway REST user name. + type: str gateway_rest_password: description: - Gateway REST password. + type: str compute_profile_roles: description: - The list of roles in the cluster. type: list + elements: dict suboptions: name: description: - The name of the role. + type: str choices: - 'headnode' - 'workernode' @@ -75,47 +87,59 @@ min_instance_count: description: - The minimum instance count of the cluster. + type: int target_instance_count: description: - The instance count of the cluster. + type: int vm_size: description: - The size of the VM. + type: str linux_profile: description: - The Linux OS profile. + type: dict suboptions: username: description: - SSH user name. + type: str password: description: - SSH password. + type: str storage_accounts: description: - The list of storage accounts in the cluster. type: list + elements: dict suboptions: name: description: - Blob storage endpoint. For example storage_account_name.blob.core.windows.net. + type: str is_default: description: - Whether or not the storage account is the default storage account. + type: bool container: description: - The container in the storage account. + type: str key: description: - The storage account access key. + type: str state: - description: - - Assert the state of the cluster. - - Use C(present) to create or update a cluster and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the cluster. + - Use C(present) to create or update a cluster and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure @@ -147,8 +171,7 @@ compute_profile_roles: - name: headnode target_instance_count: 2 - hardware_profile: - vm_size: Standard_D3 + vm_size: Standard_D3 linux_profile: username: sshuser password: MuABCPassword!!@123 @@ -216,10 +239,31 @@ def __init__(self): type='dict' ), compute_profile_roles=dict( - type='list' + type='list', + elements='dict', + options=dict( + name=dict(type='str', choices=['headnode', 'workernode', 'zookepernode']), + min_instance_count=dict(type='int'), + target_instance_count=dict(type='int'), + vm_size=dict(type='str'), + linux_profile=dict( + type='dict', + options=dict( + username=dict(type='str'), + password=dict(type='str', no_log=True) + ) + ), + ) ), storage_accounts=dict( - type='list' + type='list', + elements='dict', + options=dict( + name=dict(type='str'), + is_default=dict(type='bool'), + container=dict(type='str'), + key=dict(type='str', no_log=True) + ) ), state=dict( type='str', diff --git a/plugins/modules/azure_rm_hdinsightcluster_info.py b/plugins/modules/azure_rm_hdinsightcluster_info.py index 36a459115..406c709cc 100644 --- a/plugins/modules/azure_rm_hdinsightcluster_info.py +++ b/plugins/modules/azure_rm_hdinsightcluster_info.py @@ -20,9 +20,11 @@ resource_group: description: - Name of an Azure resource group. + type: str name: description: - HDInsight cluster name. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -102,6 +104,7 @@ cluster_definition: description: - The cluster definition. + type: complex contains: kind: description: @@ -112,7 +115,7 @@ compute_profile_roles: description: - The list of roles in the cluster. - type: list + type: complex contains: name: description: @@ -135,6 +138,7 @@ linux_profile: description: - The Linux OS profile. + type: dict contains: username: description: @@ -145,7 +149,7 @@ connectivity_endpoints: description: - Cluster's connectivity endpoints. - type: list + type: complex contains: location: description: @@ -175,7 +179,7 @@ description: - The tags of the resource. returned: always - type: complex + type: dict sample: {} ''' diff --git a/plugins/modules/azure_rm_iothubconsumergroup.py b/plugins/modules/azure_rm_iothubconsumergroup.py index 586aa6dd7..fca748d0b 100644 --- a/plugins/modules/azure_rm_iothubconsumergroup.py +++ b/plugins/modules/azure_rm_iothubconsumergroup.py @@ -43,6 +43,7 @@ description: - Name of the consumer group. type: str + required: True extends_documentation_fragment: - azure.azcollection.azure - azure.azcollection.azure_tags diff --git a/plugins/modules/azure_rm_keyvault.py b/plugins/modules/azure_rm_keyvault.py index afc24e450..9a6dd41fd 100644 --- a/plugins/modules/azure_rm_keyvault.py +++ b/plugins/modules/azure_rm_keyvault.py @@ -21,28 +21,35 @@ description: - The name of the Resource Group to which the server belongs. required: True + type: str vault_name: description: - Name of the vault. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str vault_tenant: description: - The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. + type: str sku: description: - SKU details. + type: dict suboptions: family: description: - SKU family name. + type: str required: True name: description: - SKU name to specify whether the key vault is a standard vault or a premium vault. required: True + type: str choices: - 'standard' - 'premium' @@ -50,23 +57,30 @@ description: - An array of 0 to 16 identities that have access to the key vault. - All identities in the array must use the same tenant ID as the key vault's tenant ID. + type: list + elements: dict suboptions: tenant_id: description: - The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. - Current keyvault C(tenant_id) value will be used if not specified. + type: str object_id: description: - The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. - The object ID must be unique for the list of access policies. - Please note this is not application id. Object id can be obtained by running "az ad sp show --id ". + type: str required: True application_id: description: - Application ID of the client making request on behalf of a principal. + type: str keys: description: - List of permissions to keys. + type: list + elements: str choices: - 'encrypt' - 'decrypt' @@ -87,6 +101,8 @@ secrets: description: - List of permissions to secrets. + type: list + elements: str choices: - 'get' - 'list' @@ -99,6 +115,8 @@ certificates: description: - List of permissions to certificates. + type: list + elements: str choices: - 'get' - 'list' @@ -114,9 +132,13 @@ - 'manageissuers' - 'recover' - 'purge' + - 'backup' + - 'restore' storage: description: - List of permissions to storage accounts. + type: list + elements: str enabled_for_deployment: description: - Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault. @@ -151,6 +173,7 @@ description: - Assert the state of the KeyVault. Use C(present) to create or update an KeyVault and C(absent) to delete it. default: present + type: str choices: - absent - present @@ -237,10 +260,26 @@ def __init__(self): object_id=dict(type='str', required=True), application_id=dict(type='str'), # FUTURE: add `choices` support once choices supports lists of values - keys=dict(type='list', no_log=True), - secrets=dict(type='list', no_log=True), - certificates=dict(type='list'), - storage=dict(type='list') + keys=dict( + type='list', + elements='str', + no_log=True, + choices=['encrypt', 'decrypt', 'wrapkey', 'unwrapkey', 'sign', 'verify', 'get', + 'list', 'create', 'update', 'import', 'delete', 'backup', 'restore', 'recover', 'purge'] + ), + secrets=dict( + type='list', + elements='str', + no_log=True, + choices=['get', 'list', 'set', 'delete', 'backup', 'restore', 'recover', 'purge'] + ), + certificates=dict( + type='list', + elements='str', + choices=['get', 'list', 'delete', 'create', 'import', 'update', 'managecontacts', + 'getissuers', 'listissuers', 'setissuers', 'deleteissuers', 'manageissuers', 'recover', 'purge', 'backup', 'restore'] + ), + storage=dict(type='list', elements='str') ) ), enabled_for_deployment=dict( diff --git a/plugins/modules/azure_rm_keyvaultkey.py b/plugins/modules/azure_rm_keyvaultkey.py index 37e304a1a..54b5b10c6 100644 --- a/plugins/modules/azure_rm_keyvaultkey.py +++ b/plugins/modules/azure_rm_keyvaultkey.py @@ -17,48 +17,62 @@ - Such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords. options: keyvault_uri: - description: - - URI of the keyvault endpoint. - required: true + description: + - URI of the keyvault endpoint. + required: true + type: str key_name: description: - Name of the keyvault key. required: true + type: str key_type: description: - The type of key to create. For valid values, see JsonWebKeyType. Possible values include EC, EC-HSM, RSA, RSA-HSM, oct default: 'RSA' + type: str key_size: description: - The key size in bits. For example 2048, 3072, or 4096 for RSA. + type: int key_attributes: description: - The attributes of a key managed by the key vault service. + type: dict suboptions: enabled: - description: bool + description: + - Whether the key is enabled. + type: bool not_before: description: - not valid before date in UTC ISO format without the Z at the end + type: str expires: description: - not valid after date in UTC ISO format without the Z at the end + type: str curve: description: - Elliptic curve name. For valid values, see JsonWebKeyCurveName. Possible values include P-256, P-384, P-521, P-256K. + type: str byok_file: description: - BYOK file. + type: str pem_file: description: - PEM file. + type: str pem_password: description: - PEM password. + type: str state: description: - Assert the state of the key. Use C(present) to create a key and C(absent) to delete a key. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_keyvaultkey_info.py b/plugins/modules/azure_rm_keyvaultkey_info.py index 8a430e598..102109230 100644 --- a/plugins/modules/azure_rm_keyvaultkey_info.py +++ b/plugins/modules/azure_rm_keyvaultkey_info.py @@ -115,6 +115,7 @@ key: description: - public part of a key. + type: dict contains: n: description: @@ -150,6 +151,7 @@ attributes: description: - Key attributes. + type: dict contains: created: description: diff --git a/plugins/modules/azure_rm_keyvaultsecret.py b/plugins/modules/azure_rm_keyvaultsecret.py index c7bf3dbac..74c179356 100644 --- a/plugins/modules/azure_rm_keyvaultsecret.py +++ b/plugins/modules/azure_rm_keyvaultsecret.py @@ -18,9 +18,10 @@ - Such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords. options: keyvault_uri: - description: - - URI of the keyvault endpoint. - required: true + description: + - URI of the keyvault endpoint. + required: true + type: str content_type: description: - Type of the secret value such as a password. @@ -29,9 +30,11 @@ description: - Name of the keyvault secret. required: true + type: str secret_value: description: - Secret to be secured by keyvault. + type: str secret_expiry: description: - Optional expiry datetime for secret @@ -43,6 +46,7 @@ state: description: - Assert the state of the subnet. Use C(present) to create or update a secret and C(absent) to delete a secret . + type: str default: present choices: - absent diff --git a/plugins/modules/azure_rm_loadbalancer.py b/plugins/modules/azure_rm_loadbalancer.py index 2fc20eaef..2c473778c 100644 --- a/plugins/modules/azure_rm_loadbalancer.py +++ b/plugins/modules/azure_rm_loadbalancer.py @@ -24,43 +24,54 @@ description: - Name of a resource group where the load balancer exists or will be created. required: true + type: str name: description: - Name of the load balancer. required: true + type: str state: description: - Assert the state of the load balancer. Use C(present) to create/update a load balancer, or C(absent) to delete one. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str sku: description: - The load balancer SKU. + type: str choices: - Basic - Standard frontend_ip_configurations: description: - List of frontend IPs to be used. + type: list + elements: dict suboptions: name: description: - Name of the frontend ip configuration. + type: str required: True public_ip_address: description: - Name of an existing public IP address object in the current resource group to associate with the security group. + type: str private_ip_address: description: - The reference of the Public IP resource. + type: str private_ip_allocation_method: description: - The Private IP allocation method. + type: str choices: - Static - Dynamic @@ -68,6 +79,7 @@ description: - The reference of the subnet resource. - Should be an existing subnet's resource id. + type: str zones: description: - list of availability zones denoting the IP allocated for the resource needs to come from. @@ -77,28 +89,36 @@ backend_address_pools: description: - List of backend address pools. + type: list + elements: dict suboptions: name: description: - Name of the backend address pool. required: True + type: str probes: description: - List of probe definitions used to check endpoint health. + type: list + elements: dict suboptions: name: description: - Name of the probe. + type: str required: True port: description: - Probe port for communicating the probe. Possible values range from 1 to 65535, inclusive. + type: int required: True protocol: description: - The protocol of the end point to be probed. - If C(Tcp) is specified, a received ACK is required for the probe to be successful. - If C(Http) or C(Https) is specified, a 200 OK response from the specified URL is required for the probe to be successful. + type: str choices: - Tcp - Http @@ -108,18 +128,21 @@ - The interval, in seconds, for how frequently to probe the endpoint for health status. - Slightly less than half the allocated timeout period, which allows two full probes before taking the instance out of rotation. - The default value is C(15), the minimum value is C(5). + type: int default: 15 fail_count: description: - The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. - This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. default: 3 + type: int aliases: - number_of_probes request_path: description: - The URI used for requesting health status from the VM. - Path is required if I(protocol=Http) or I(protocol=Https). Otherwise, it is not allowed. + type: str inbound_nat_pools: description: - Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. @@ -128,18 +151,23 @@ - Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. - They have to reference individual inbound NAT rules. + type: list + elements: dict suboptions: name: description: - Name of the inbound NAT pool. + type: str required: True frontend_ip_configuration_name: description: - A reference to frontend IP addresses. required: True + type: str protocol: description: - IP protocol for the NAT pool. + type: str choices: - Tcp - Udp @@ -148,39 +176,50 @@ description: - The first port in the range of external ports that will be used to provide inbound NAT to NICs associated with the load balancer. - Acceptable values range between 1 and 65534. + type: int required: True frontend_port_range_end: description: - The last port in the range of external ports that will be used to provide inbound NAT to NICs associated with the load balancer. - Acceptable values range between 1 and 65535. + type: int required: True backend_port: description: - The port used for internal connections on the endpoint. - Acceptable values are between 1 and 65535. + type: int + required: true load_balancing_rules: description: - Object collection representing the load balancing rules Gets the provisioning. + type: list + elements: dict suboptions: name: description: - Name of the load balancing rule. + type: str required: True frontend_ip_configuration: description: - A reference to frontend IP addresses. + type: str required: True backend_address_pool: description: - A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. required: True + type: str probe: description: - The name of the load balancer probe this rule should use for health checks. required: True + type: str protocol: description: - IP protocol for the load balancing rule. + type: str choices: - Tcp - Udp @@ -188,6 +227,7 @@ load_distribution: description: - The session persistence policy for this rule; C(Default) is no persistence. + type: str choices: - Default - SourceIP @@ -199,26 +239,34 @@ - Frontend port numbers must be unique across all rules within the load balancer. - Acceptable values are between 0 and 65534. - Note that value 0 enables "Any Port". + type: int + required: true backend_port: description: - The port used for internal connections on the endpoint. - Acceptable values are between 0 and 65535. - Note that value 0 enables "Any Port". + type: int idle_timeout: description: - The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. - The default value is C(4) minutes. - This element is only used when the protocol is set to TCP. + type: int + default: 4 enable_floating_ip: description: - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. + type: bool disable_outbound_snat: description: - Configure outbound source network address translation (SNAT). - The default behavior when omitted is equivalent to I(disable_outbound_snat=True). - True is equivalent to "(Recommended) Use outbound rules to provide backend pool members access to the internet" in portal. - False is equivalent to "Use default outbound access" in portal. + type: bool + default: False inbound_nat_rules: description: - Collection of inbound NAT Rules used by a load balancer. @@ -226,18 +274,23 @@ - Inbound NAT pools are referenced from virtual machine scale sets. - NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. - They have to reference individual inbound NAT rules. + type: list + elements: dict suboptions: name: description: - name of the inbound nat rule. + type: str required: True frontend_ip_configuration: description: - A reference to frontend IP addresses. + type: str required: True protocol: description: - IP protocol for the inbound nat rule. + type: str choices: - Tcp - Udp @@ -248,30 +301,38 @@ - Frontend port numbers must be unique across all rules within the load balancer. - Acceptable values are between 0 and 65534. - Note that value 0 enables "Any Port". + type: int + required: True backend_port: description: - The port used for internal connections on the endpoint. - Acceptable values are between 0 and 65535. - Note that value 0 enables "Any Port". + type: int + required: true idle_timeout: description: - The timeout for the TCP idle connection. - The value can be set between 4 and 30 minutes. - The default value is C(4) minutes. - This element is only used when I(protocol=Tcp). + type: int enable_floating_ip: description: - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. - This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. + type: bool enable_tcp_reset: description: - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. - This element is only used when I(protocol=Tcp). + type: bool public_ip_address_name: description: - (deprecated) Name of an existing public IP address object to associate with the security group. - This option has been deprecated, and will be removed in 2.9. Use I(frontend_ip_configurations) instead. + type: str aliases: - public_ip_address - public_ip_name @@ -280,10 +341,12 @@ description: - (deprecated) The port that the health probe will use. - This option has been deprecated, and will be removed in 2.9. Use I(probes) instead. + type: int probe_protocol: description: - (deprecated) The protocol to use for the health probe. - This option has been deprecated, and will be removed in 2.9. Use I(probes) instead. + type: str choices: - Tcp - Http @@ -292,20 +355,24 @@ description: - (deprecated) Time (in seconds) between endpoint health probes. - This option has been deprecated, and will be removed in 2.9. Use I(probes) instead. + type: int default: 15 probe_fail_count: description: - (deprecated) The amount of probe failures for the load balancer to make a health determination. - This option has been deprecated, and will be removed in 2.9. Use I(probes) instead. default: 3 + type: int probe_request_path: description: - (deprecated) The URL that an HTTP probe or HTTPS probe will use (only relevant if I(probe_protocol=Http) or I(probe_protocol=Https)). - This option has been deprecated, and will be removed in 2.9. Use I(probes) instead. + type: str protocol: description: - (deprecated) The protocol (TCP or UDP) that the load balancer will use. - This option has been deprecated, and will be removed in 2.9. Use I(load_balancing_rules) instead. + type: str choices: - Tcp - Udp @@ -313,6 +380,7 @@ description: - (deprecated) The type of load distribution that the load balancer will employ. - This option has been deprecated, and will be removed in 2.9. Use I(load_balancing_rules) instead. + type: str choices: - Default - SourceIP @@ -321,31 +389,38 @@ description: - (deprecated) Frontend port that will be exposed for the load balancer. - This option has been deprecated, and will be removed in 2.9. Use I(load_balancing_rules) instead. + type: int backend_port: description: - (deprecated) Backend port that will be exposed for the load balancer. - This option has been deprecated, and will be removed in 2.9. Use I(load_balancing_rules) instead. + type: int idle_timeout: description: - (deprecated) Timeout for TCP idle connection in minutes. - This option has been deprecated, and will be removed in 2.9. Use I(load_balancing_rules) instead. + type: int default: 4 natpool_frontend_port_start: description: - (deprecated) Start of the port range for a NAT pool. - This option has been deprecated, and will be removed in 2.9. Use I(inbound_nat_pools) instead. + type: int natpool_frontend_port_end: description: - (deprecated) End of the port range for a NAT pool. - This option has been deprecated, and will be removed in 2.9. Use I(inbound_nat_pools) instead. + type: int natpool_backend_port: description: - (deprecated) Backend port used by the NAT pool. - This option has been deprecated, and will be removed in 2.9. Use I(inbound_nat_pools) instead. + type: int natpool_protocol: description: - (deprecated) The protocol for the NAT pool. - This option has been deprecated, and will be removed in 2.9. Use I(inbound_nat_pools) instead. + type: str extends_documentation_fragment: - azure.azcollection.azure - azure.azcollection.azure_tags @@ -424,7 +499,8 @@ type='str' ), private_ip_allocation_method=dict( - type='str' + type='str', + choices=['Static', 'Dynamic'] ), subnet=dict( type='str' @@ -575,7 +651,7 @@ ), disable_outbound_snat=dict( type='bool', - default=None + default=False ), ) diff --git a/plugins/modules/azure_rm_lock_info.py b/plugins/modules/azure_rm_lock_info.py index bcb8872f3..39abbf3b7 100644 --- a/plugins/modules/azure_rm_lock_info.py +++ b/plugins/modules/azure_rm_lock_info.py @@ -20,7 +20,6 @@ description: - Name of the lock. type: str - required: true managed_resource_id: description: - ID of the resource where need to manage the lock. diff --git a/plugins/modules/azure_rm_loganalyticsworkspace.py b/plugins/modules/azure_rm_loganalyticsworkspace.py index 2bdd87d6e..694c7d4e3 100644 --- a/plugins/modules/azure_rm_loganalyticsworkspace.py +++ b/plugins/modules/azure_rm_loganalyticsworkspace.py @@ -20,23 +20,28 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the workspace. required: true + type: str state: description: - Assert the state of the image. Use C(present) to create or update a image and C(absent) to delete an image. default: present + type: str choices: - absent - present location: description: - Resource location. + type: str sku: description: - The SKU of the workspace. + type: str choices: - free - standard @@ -51,6 +56,7 @@ - The workspace data retention in days. - -1 means Unlimited retention for I(sku=unlimited). - 730 days is the maximum allowed for all other SKUs. + type: int intelligence_packs: description: - Manage intelligence packs possible for this workspace. diff --git a/plugins/modules/azure_rm_loganalyticsworkspace_info.py b/plugins/modules/azure_rm_loganalyticsworkspace_info.py index 8f3ffbe1f..03a55bedc 100644 --- a/plugins/modules/azure_rm_loganalyticsworkspace_info.py +++ b/plugins/modules/azure_rm_loganalyticsworkspace_info.py @@ -20,9 +20,11 @@ description: - Name of resource group. required: True + type: str name: description: - Name of the workspace. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -32,18 +34,22 @@ description: - Show the intelligence packs for a workspace. - Note this will cost one more network overhead for each workspace, expected slow response. + type: bool show_management_groups: description: - Show the management groups for a workspace. - Note this will cost one more network overhead for each workspace, expected slow response. + type: bool show_shared_keys: description: - Show the shared keys for a workspace. - Note this will cost one more network overhead for each workspace, expected slow response. + type: bool show_usages: description: - Show the list of usages for a workspace. - Note this will cost one more network overhead for each workspace, expected slow response. + type: bool extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_manageddisk.py b/plugins/modules/azure_rm_manageddisk.py index c83442c51..00a323558 100644 --- a/plugins/modules/azure_rm_manageddisk.py +++ b/plugins/modules/azure_rm_manageddisk.py @@ -27,20 +27,24 @@ description: - Name of a resource group where the managed disk exists or will be created. required: true + type: str name: description: - Name of the managed disk. required: true + type: str state: description: - Assert the state of the managed disk. Use C(present) to create or update a managed disk and C(absent) to delete a managed disk. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str storage_account_type: description: - Type of storage for the managed disk. @@ -52,6 +56,7 @@ - C(Premium_ZRS) is for Premium SSD Zone-redundant. - C(UltraSSD_LRS) (added in 2.8) is for Ultra SSD, which is only available on select instance types. - See U(https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types) for more information about disk types. + type: str choices: - Standard_LRS - StandardSSD_LRS @@ -62,6 +67,7 @@ create_option: description: - C(import) from a VHD file in I(source_uri) and C(copy) from previous managed disk I(source_uri). + type: str choices: - empty - import @@ -74,6 +80,7 @@ source_uri: description: - URI to a valid VHD file to be used or the resource ID of the managed disk to copy. + type: str aliases: - source_resource_uri os_type: @@ -83,6 +90,7 @@ - If omitted during creation, no value is set. - If omitted during an update, no change is made. - Once set, this value cannot be cleared. + type: str choices: - linux - windows @@ -90,11 +98,13 @@ description: - Size in GB of the managed disk to be created. - If I(create_option=copy) then the value must be greater than or equal to the source's size. + type: int managed_by: description: - Name of an existing virtual machine with which the disk is or will be associated, this VM should be in the same resource group. - To detach a disk from a vm, explicitly set to ''. - If this option is unset, the value will not be changed. + type: str managed_by_extended: description: - List of name and resource group of the VMs that have the disk attached. @@ -119,6 +129,7 @@ description: - Disk caching policy controlled by VM. Will be used when attached to the VM defined by C(managed_by). - If this option is different from the current caching policy, the managed disk will be deattached and attached with current caching option again. + type: str choices: - '' - read_only @@ -127,6 +138,7 @@ description: - The Azure managed disk's zone. - Allowed values are C(1), C(2), C(3) and C(''). + type: str choices: - '1' - '2' diff --git a/plugins/modules/azure_rm_mariadbdatabase.py b/plugins/modules/azure_rm_mariadbdatabase.py index 99ad78bdc..5fe572e12 100644 --- a/plugins/modules/azure_rm_mariadbdatabase.py +++ b/plugins/modules/azure_rm_mariadbdatabase.py @@ -22,32 +22,38 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the database. required: True + type: str charset: description: - The charset of the database. Check MariaDB documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str collation: description: - The collation of the database. Check MariaDB documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str force_update: - description: - - When set to C(true), will delete and recreate the existing MariaDB database if any of the properties don't match what is set. - - When set to C(false), no change will occur to the database even if any of the properties do not match. - type: bool - default: 'no' + description: + - When set to C(true), will delete and recreate the existing MariaDB database if any of the properties don't match what is set. + - When set to C(false), no change will occur to the database even if any of the properties do not match. + type: bool + default: 'no' state: description: - Assert the state of the MariaDB Database. Use C(present) to create or update a database and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_mariadbfirewallrule.py b/plugins/modules/azure_rm_mariadbfirewallrule.py index 6226b29c3..1d69bf44b 100644 --- a/plugins/modules/azure_rm_mariadbfirewallrule.py +++ b/plugins/modules/azure_rm_mariadbfirewallrule.py @@ -22,24 +22,30 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the MariaDB firewall rule. required: True + type: str start_ip_address: description: - The start IP address of the MariaDB firewall rule. Must be IPv4 format. + type: str end_ip_address: description: - The end IP address of the MariaDB firewall rule. Must be IPv4 format. + type: str state: description: - Assert the state of the MariaDB firewall rule. Use C(present) to create or update a rule and C(absent) to ensure it is not present. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_mariadbserver.py b/plugins/modules/azure_rm_mariadbserver.py index c3182cbf2..495526cea 100644 --- a/plugins/modules/azure_rm_mariadbserver.py +++ b/plugins/modules/azure_rm_mariadbserver.py @@ -22,20 +22,25 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str name: description: - The name of the server. required: True + type: str sku: description: - The SKU (pricing tier) of the server. + type: dict suboptions: name: description: - The name of the SKU, typically, tier + family + cores, for example C(B_Gen4_1), C(GP_Gen5_8). + type: str tier: description: - The tier of the particular SKU, for example C(Basic). + type: str choices: - basic - standard @@ -49,6 +54,7 @@ location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str storage_mb: description: - The maximum storage allowed for a server. @@ -56,9 +62,10 @@ version: description: - Server version. + type: str choices: - - 10.2 - - 10.3 + - '10.2' + - '10.3' enforce_ssl: description: - Enable SSL enforcement. @@ -67,17 +74,21 @@ admin_username: description: - The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation). + type: str admin_password: description: - The password of the administrator login. + type: str create_mode: description: - Create mode of SQL Server. + type: str default: Default state: description: - Assert the state of the MariaDB Server. Use C(present) to create or update a server and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_mysqlconfiguration.py b/plugins/modules/azure_rm_mysqlconfiguration.py index 377388086..4440a65ca 100644 --- a/plugins/modules/azure_rm_mysqlconfiguration.py +++ b/plugins/modules/azure_rm_mysqlconfiguration.py @@ -21,21 +21,26 @@ description: - The name of the resource group that contains the resource. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the server configuration. required: True + type: str value: description: - Value of the configuration. + type: str state: description: - Assert the state of the MySQL configuration. Use C(present) to update setting, or C(absent) to reset to default value. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_mysqldatabase.py b/plugins/modules/azure_rm_mysqldatabase.py index fb53489df..23bb38c43 100644 --- a/plugins/modules/azure_rm_mysqldatabase.py +++ b/plugins/modules/azure_rm_mysqldatabase.py @@ -21,22 +21,27 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the database. required: True + type: str charset: description: - The charset of the database. Check MySQL documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str collation: description: - The collation of the database. Check MySQL documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str force_update: description: - When set to C(true), will delete and recreate the existing MySQL database if any of the properties don't match what is set. @@ -47,6 +52,7 @@ description: - Assert the state of the MySQL Database. Use C(present) to create or update a database and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_mysqlfirewallrule.py b/plugins/modules/azure_rm_mysqlfirewallrule.py index 666725189..c0c3372f8 100644 --- a/plugins/modules/azure_rm_mysqlfirewallrule.py +++ b/plugins/modules/azure_rm_mysqlfirewallrule.py @@ -21,26 +21,30 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the MySQL firewall rule. required: True + type: str start_ip_address: description: - The start IP address of the MySQL firewall rule. Must be IPv4 format. - required: True + type: str end_ip_address: description: - The end IP address of the MySQL firewall rule. Must be IPv4 format. - required: True + type: str state: description: - Assert the state of the MySQL firewall rule. Use C(present) to create or update a rule and C(absent) to ensure it is not present. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_networkinterface.py b/plugins/modules/azure_rm_networkinterface.py index 4a797b359..d5bc07412 100644 --- a/plugins/modules/azure_rm_networkinterface.py +++ b/plugins/modules/azure_rm_networkinterface.py @@ -30,21 +30,25 @@ description: - Name of a resource group where the network interface exists or will be created. required: true + type: str name: description: - Name of the network interface. required: true + type: str state: description: - Assert the state of the network interface. Use C(present) to create or update an interface and C(absent) to delete an interface. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str virtual_network: description: - An existing virtual network with which the network interface will be associated. Required when creating a network interface. @@ -52,22 +56,23 @@ - Make sure your virtual network is in the same resource group as NIC when you give only the name. - It can be the virtual network's resource id. - It can be a dict which contains I(name) and I(resource_group) of the virtual network. + type: raw aliases: - virtual_network_name - required: true subnet_name: description: - Name of an existing subnet within the specified virtual network. Required when creating a network interface. - Use the C(virtual_network)'s resource group. aliases: - subnet - required: true + type: str os_type: description: - Determines any rules to be added to a default security group. - When creating a network interface, if no security group name is provided, a default security group will be created. - If the I(os_type=Windows), a rule allowing RDP access will be added. - If the I(os_type=Linux), a rule allowing SSH access will be added. + type: str choices: - Windows - Linux @@ -76,6 +81,7 @@ description: - (Deprecate) Valid IPv4 address that falls within the specified subnet. - This option will be deprecated in 2.9, use I(ip_configurations) instead. + type: str private_ip_allocation_method: description: - (Deprecate) Whether or not the assigned IP address is permanent. @@ -83,6 +89,7 @@ - You can update the allocation method to C(Static) after a dynamic private IP address has been assigned. - This option will be deprecated in 2.9, use I(ip_configurations) instead. default: Dynamic + type: str choices: - Dynamic - Static @@ -97,6 +104,7 @@ description: - (Deprecate) Name of an existing public IP address object to associate with the security group. - This option will be deprecated in 2.9, use I(ip_configurations) instead. + type: str aliases: - public_ip_address - public_ip_name @@ -105,6 +113,7 @@ - (Deprecate) If a I(public_ip_address_name) is not provided, a default public IP address will be created. - The allocation method determines whether or not the public IP address assigned to the network interface is permanent. - This option will be deprecated in 2.9, use I(ip_configurations) instead. + type: str choices: - Dynamic - Static @@ -113,17 +122,23 @@ description: - List of IP configurations. Each configuration object should include field I(private_ip_address), I(private_ip_allocation_method), I(public_ip_address_name), I(public_ip), I(public_ip_allocation_method), I(name). + type: list + elements: dict + default: [] suboptions: name: description: - Name of the IP configuration. required: true + type: str private_ip_address: description: - Private IP address for the IP configuration. + type: str private_ip_address_version: description: - The version of the IP configuration. + type: str choices: - IPv4 - IPv6 @@ -131,6 +146,7 @@ private_ip_allocation_method: description: - Private IP allocation method. + type: str choices: - Dynamic - Static @@ -138,12 +154,14 @@ public_ip_address_name: description: - Name of the public IP address. None for disable IP address. + type: str aliases: - public_ip_address - public_ip_name public_ip_allocation_method: description: - Public IP allocation method. + type: str choices: - Dynamic - Static @@ -153,11 +171,15 @@ - List of existing load-balancer backend address pools to associate with the network interface. - Can be written as a resource ID. - Also can be a dict of I(name) and I(load_balancer). + type: list + elements: raw application_gateway_backend_address_pools: description: - List of existing application gateway backend address pools to associate with the network interface. - Can be written as a resource ID. - Also can be a dict of I(name) and I(application_gateway). + type: list + elements: raw version_added: "1.10.0" primary: description: @@ -169,6 +191,8 @@ description: - List of application security groups in which the IP configuration is included. - Element of the list could be a resource id of application security group, or dict of I(resource_group) and I(name). + type: list + elements: raw enable_accelerated_networking: description: - Whether the network interface should be created with the accelerated networking feature or not. @@ -190,11 +214,14 @@ - It can be a dict contains security_group's I(name) and I(resource_group). aliases: - security_group_name + type: raw open_ports: description: - When a default security group is created for a Linux host a rule will be added allowing inbound TCP connections to the default SSH port C(22), and for a Windows host rules will be added allowing inbound access to RDP ports C(3389) and C(5986). Override the default ports by providing a list of open ports. + type: list + elements: str enable_ip_forwarding: description: - Whether to enable IP forwarding. @@ -207,6 +234,7 @@ - Which DNS servers should the NIC lookup. - List of IP addresses. type: list + elements: str extends_documentation_fragment: - azure.azcollection.azure - azure.azcollection.azure_tags @@ -565,8 +593,8 @@ def nic_to_dict(nic): private_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static'], default='Dynamic'), public_ip_address_name=dict(type='str', aliases=['public_ip_address', 'public_ip_name']), public_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static'], default='Dynamic'), - load_balancer_backend_address_pools=dict(type='list'), - application_gateway_backend_address_pools=dict(type='list'), + load_balancer_backend_address_pools=dict(type='list', elements='raw'), + application_gateway_backend_address_pools=dict(type='list', elements='raw'), primary=dict(type='bool', default=False), application_security_groups=dict(type='list', elements='raw') ) @@ -591,11 +619,11 @@ def __init__(self): subnet_name=dict(type='str', aliases=['subnet']), virtual_network=dict(type='raw', aliases=['virtual_network_name']), public_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static'], default='Dynamic'), - ip_configurations=dict(type='list', default=None, elements='dict', options=ip_configuration_spec), + ip_configurations=dict(type='list', default=[], elements='dict', options=ip_configuration_spec), os_type=dict(type='str', choices=['Windows', 'Linux'], default='Linux'), - open_ports=dict(type='list'), + open_ports=dict(type='list', elements='str'), enable_ip_forwarding=dict(type='bool', aliases=['ip_forwarding'], default=False), - dns_servers=dict(type='list'), + dns_servers=dict(type='list', elements='str'), ) required_if = [ diff --git a/plugins/modules/azure_rm_networkinterface_info.py b/plugins/modules/azure_rm_networkinterface_info.py index 4289554e0..97426f35d 100644 --- a/plugins/modules/azure_rm_networkinterface_info.py +++ b/plugins/modules/azure_rm_networkinterface_info.py @@ -24,9 +24,11 @@ name: description: - Only show results for a specific network interface. + type: str resource_group: description: - Name of the resource group containing the network interface(s). Required when searching by name. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -111,61 +113,79 @@ id: description: - Id of the network interface. + type: str resource_group: description: - Name of a resource group where the network interface exists. + type: str name: description: - Name of the network interface. + type: str location: description: - Azure location. + type: str virtual_network: description: - An existing virtual network with which the network interface will be associated. - It is a dict which contains I(name) and I(resource_group) of the virtual network. + type: raw subnet: description: - Name of an existing subnet within the specified virtual network. + type: str tags: description: - Tags of the network interface. + type: dict ip_configurations: description: - List of IP configurations, if contains multiple configurations. + type: complex contains: name: description: - Name of the IP configuration. + type: str private_ip_address: description: - Private IP address for the IP configuration. + type: list private_ip_allocation_method: description: - Private IP allocation method. + type: str public_ip_address: description: - Name of the public IP address. None for disable IP address. + type: str public_ip_allocation_method: description: - Public IP allocation method. + type: str load_balancer_backend_address_pools: description: - List of existing load-balancer backend address pools associated with the network interface. + type: list application_gateway_backend_address_pools: description: - List of existing application gateway backend address pools associated with the network interface. version_added: "1.10.0" + type: list primary: description: - Whether the IP configuration is the primary one in the list. + type: bool application_security_groups: description: - List of Application security groups. - sample: /subscriptions//resourceGroups//providers/Microsoft.Network/applicationSecurityGroups/myASG + type: list + sample: ['/subscriptions//resourceGroups//providers/Microsoft.Network/applicationSecurityGroups/myASG'] enable_accelerated_networking: description: - Specifies whether the network interface should be created with the accelerated networking feature or not. + type: bool create_with_security_group: description: - Specifies whether a default security group should be be created with the NIC. Only applies when creating a new NIC. @@ -173,36 +193,46 @@ security_group: description: - A security group resource ID with which to associate the network interface. + type: str enable_ip_forwarding: description: - Whether to enable IP forwarding + type: bool dns_servers: description: - Which DNS servers should the NIC lookup. - List of IP addresses. + type: list mac_address: description: - The MAC address of the network interface. + type: str provisioning_state: description: - The provisioning state of the network interface. + type: str dns_settings: description: - The DNS settings in network interface. + type: complex contains: dns_servers: description: - List of DNS servers IP addresses. + type: list applied_dns_servers: description: - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. + type: list internal_dns_name_label: description: - Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. + type: str internal_fqdn: description: - Fully qualified DNS name supporting internal communications between VMs in the same virtual network. + type: str ''' # NOQA try: from azure.core.exceptions import ResourceNotFoundError diff --git a/plugins/modules/azure_rm_openshiftmanagedcluster.py b/plugins/modules/azure_rm_openshiftmanagedcluster.py index ff5d3a589..d952cd2c3 100644 --- a/plugins/modules/azure_rm_openshiftmanagedcluster.py +++ b/plugins/modules/azure_rm_openshiftmanagedcluster.py @@ -104,6 +104,7 @@ description: - Configuration for OpenShift worker Vms. type: list + elements: dict suboptions: name: description: name of the worker profile (immutable). @@ -156,6 +157,7 @@ description: - Ingress profiles configuration. only one profile is supported at the current API version. type: list + elements: dict suboptions: visibility: description: @@ -520,6 +522,7 @@ def __init__(self): ), worker_profiles=dict( type='list', + elements='dict', disposition='/properties/workerProfiles', options=dict( name=dict( @@ -581,6 +584,7 @@ def __init__(self): ), ingress_profiles=dict( type='list', + elements='dict', disposition='/properties/ingressProfiles', options=dict( name=dict( diff --git a/plugins/modules/azure_rm_postgresqlconfiguration.py b/plugins/modules/azure_rm_postgresqlconfiguration.py index 988ba4858..c5e5d35b9 100644 --- a/plugins/modules/azure_rm_postgresqlconfiguration.py +++ b/plugins/modules/azure_rm_postgresqlconfiguration.py @@ -21,21 +21,26 @@ description: - The name of the resource group that contains the resource. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - Setting name. required: True + type: str value: description: - Setting value. + type: str state: description: - Assert the state of the PostgreSQL setting. Use C(present) to update setting, or C(absent) to reset to default value. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_postgresqldatabase.py b/plugins/modules/azure_rm_postgresqldatabase.py index ba65764a6..3ddffaccc 100644 --- a/plugins/modules/azure_rm_postgresqldatabase.py +++ b/plugins/modules/azure_rm_postgresqldatabase.py @@ -21,22 +21,27 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the database. required: True + type: str charset: description: - The charset of the database. Check PostgreSQL documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str collation: description: - The collation of the database. Check PostgreSQL documentation for possible values. - This is only set on creation, use I(force_update) to recreate a database if the values don't match. + type: str force_update: description: - When set to C(true), will delete and recreate the existing PostgreSQL database if any of the properties don't match what is set. @@ -47,6 +52,7 @@ description: - Assert the state of the PostgreSQL database. Use C(present) to create or update a database and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_postgresqlfirewallrule.py b/plugins/modules/azure_rm_postgresqlfirewallrule.py index ad370f69f..36bd2adc3 100644 --- a/plugins/modules/azure_rm_postgresqlfirewallrule.py +++ b/plugins/modules/azure_rm_postgresqlfirewallrule.py @@ -21,23 +21,29 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the PostgreSQL firewall rule. required: True + type: str start_ip_address: description: - The start IP address of the PostgreSQL firewall rule. Must be IPv4 format. + type: str end_ip_address: description: - The end IP address of the PostgreSQL firewall rule. Must be IPv4 format. + type: str state: description: - Assert the state of the PostgreSQL firewall rule. Use C(present) to create or update a PostgreSQL firewall rule and C(absent) to delete it. + type: str default: present choices: - absent diff --git a/plugins/modules/azure_rm_publicipaddress.py b/plugins/modules/azure_rm_publicipaddress.py index 45fc9c807..a7220dfaa 100644 --- a/plugins/modules/azure_rm_publicipaddress.py +++ b/plugins/modules/azure_rm_publicipaddress.py @@ -27,10 +27,12 @@ description: - Name of resource group with which the Public IP is associated. required: true + type: str allocation_method: description: - Control whether the assigned Public IP remains permanently assigned to the object. - If not set to C(Static), the IP address may changed anytime an associated virtual machine is power cycled. + type: str choices: - dynamic - static @@ -41,27 +43,32 @@ description: - The customizable portion of the FQDN assigned to public IP address. This is an explicit setting. - If no value is provided, any existing value will be removed on an existing public IP. + type: str aliases: - domain_name_label name: description: - Name of the Public IP. + type: str required: true state: description: - Assert the state of the Public IP. Use C(present) to create or update a and C(absent) to delete. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str sku: description: - The public IP address SKU. - When I(version=ipv6), if I(sku=standard) then set I(allocation_method=static). - When I(version=ipv4), if I(sku=standard) then set I(allocation_method=static). + type: str choices: - basic - standard @@ -71,13 +78,19 @@ description: - List of IpTag associated with the public IP address. - Each element should contain type:value pair. + type: list + elements: dict suboptions: type: description: - Sets the ip_tags type. + type: str + required: true value: description: - Sets the ip_tags value. + type: str + required: true idle_timeout: description: - Idle timeout in minutes. @@ -85,6 +98,7 @@ version: description: - The public IP address version. + type: str choices: - ipv4 - ipv6 diff --git a/plugins/modules/azure_rm_publicipaddress_info.py b/plugins/modules/azure_rm_publicipaddress_info.py index 63c670529..30ba958a5 100644 --- a/plugins/modules/azure_rm_publicipaddress_info.py +++ b/plugins/modules/azure_rm_publicipaddress_info.py @@ -24,9 +24,11 @@ name: description: - Only show results for a specific Public IP. + type: str resource_group: description: - Limit results by resource group. Required when using name parameter. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_rediscache.py b/plugins/modules/azure_rm_rediscache.py index 7fac34dad..e8ed8c0d7 100644 --- a/plugins/modules/azure_rm_rediscache.py +++ b/plugins/modules/azure_rm_rediscache.py @@ -21,31 +21,39 @@ description: - Name of the resource group to which the resource belongs. required: True + type: str name: description: - Unique name of the Azure Cache for Redis to create or update. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str sku: description: - SKU info of Azure Cache for Redis. + type: dict + required: true suboptions: name: description: - Type of Azure Cache for Redis to deploy. + type: str + required: true choices: - basic - standard - premium - required: True size: description: - Size of Azure Cache for Redis to deploy. - When I(sku=basic) or I(sku=standard), allowed values are C(C0), C(C1), C(C2), C(C3), C(C4), C(C5), C(C6). - When I(sku=premium), allowed values are C(P1), C(P2), C(P3), C(P4). - Please see U(https://docs.microsoft.com/en-us/rest/api/redis/redis/create#sku) for allowed values. + type: str + required: true choices: - C0 - C1 @@ -58,7 +66,6 @@ - P2 - P3 - P4 - required: True enable_non_ssl_port: description: - When set I(enable_non_ssl_port=true), the non-ssl Redis server port 6379 will be enabled. @@ -68,14 +75,17 @@ description: - Configures the amount of memory in MB that is reserved to accommodate for memory fragmentation. - Please see U(https://docs.microsoft.com/en-us/azure/redis-cache/cache-configure#advanced-settings) for more detail. + type: int maxmemory_reserved: description: - Configures the amount of memory in MB that is reserved for non-cache operations. - Please see U(https://docs.microsoft.com/en-us/azure/redis-cache/cache-configure#advanced-settings) for more detail. + type: int maxmemory_policy: description: - Configures the eviction policy of the cache. - Please see U(https://docs.microsoft.com/en-us/azure/redis-cache/cache-configure#advanced-settings) for more detail. + type: str choices: - volatile_lru - allkeys_lru @@ -122,6 +132,7 @@ static_ip: description: - Static IP address. Required when deploying an Azure Cache for Redis inside an existing Azure virtual network. + type: str subnet: description: - Subnet in a virtual network to deploy the Azure Cache for Redis in. @@ -131,6 +142,7 @@ - I(name). Name of the subnet. - I(resource_group). Resource group name of the subnet. - I(virtual_network_name). Name of virtual network to which this subnet belongs. + type: raw tenant_settings: description: - Dict of tenant settings. @@ -138,26 +150,29 @@ reboot: description: - Reboot specified Redis node(s). There can be potential data loss. + type: dict suboptions: shard_id: description: - If clustering is enabled, the id of the shard to be rebooted. - type: int + type: str reboot_type: description: - Which Redis node(s) to reboot. + type: str choices: - primary - secondary - all - default: all regenerate_key: description: - Regenerate Redis cache's access keys. + type: dict suboptions: key_type: description: - The Redis key to regenerate. + type: str choices: - primary - secondary @@ -170,13 +185,14 @@ type: bool default: True state: - description: - - Assert the state of the Azure Cache for Redis. - - Use C(present) to create or update an Azure Cache for Redis and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Azure Cache for Redis. + - Use C(present) to create or update an Azure Cache for Redis and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure @@ -264,9 +280,11 @@ sku_spec = dict( name=dict( type='str', + required=True, choices=['basic', 'standard', 'premium']), size=dict( type='str', + required=True, choices=['C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'P1', 'P2', 'P3', 'P4'] ) ) @@ -361,6 +379,7 @@ def __init__(self): ), sku=dict( type='dict', + required=True, options=sku_spec ), enable_non_ssl_port=dict( diff --git a/plugins/modules/azure_rm_rediscache_info.py b/plugins/modules/azure_rm_rediscache_info.py index fec05cd77..c1e7c847f 100644 --- a/plugins/modules/azure_rm_rediscache_info.py +++ b/plugins/modules/azure_rm_rediscache_info.py @@ -24,9 +24,11 @@ description: - The resource group to search for the desired Azure Cache for Redis. required: True + type: str name: description: - Limit results to a specific Azure Cache for Redis. + type: str return_access_keys: description: - Indicate weather to return access keys of the Azure Cache for Redis. diff --git a/plugins/modules/azure_rm_rediscachefirewallrule.py b/plugins/modules/azure_rm_rediscachefirewallrule.py index 51d6b5d5d..77f037484 100644 --- a/plugins/modules/azure_rm_rediscachefirewallrule.py +++ b/plugins/modules/azure_rm_rediscachefirewallrule.py @@ -21,30 +21,36 @@ description: - Name of the resource group to which the resource belongs. required: True + type: str cache_name: description: - Name of the Azure Cache for Redis. required: True + type: str name: description: - Name of the Firewall rule. required: True + type: str start_ip_address: description: - The start IP address of the Azure Cache for Redis Firewall rule. Must be IPv4 format. - Required when creating Firewall rule. + type: str end_ip_address: description: - The end IP address of the Azure Cache for Redis Firewall rule. Must be IPv4 format. - Required when creating Firewall rule. + type: str state: - description: - - Assert the state of the Firewall rule of Azure Cache for Redis. - - Use C(present) to create or update Firewall rule of Azure Cache for Redis and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the Firewall rule of Azure Cache for Redis. + - Use C(present) to create or update Firewall rule of Azure Cache for Redis and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_resource.py b/plugins/modules/azure_rm_resource.py index a5846cff9..7000cbaa2 100644 --- a/plugins/modules/azure_rm_resource.py +++ b/plugins/modules/azure_rm_resource.py @@ -22,45 +22,58 @@ url: description: - Azure RM Resource URL. + type: str api_version: description: - Specific API version to be used. + type: str provider: description: - Provider type. - Required if URL is not specified. + type: str resource_group: description: - Resource group to be used. - Required if URL is not specified. + type: str resource_type: description: - Resource type. - Required if URL is not specified. + type: str resource_name: description: - Resource name. - Required if URL Is not specified. + type: str subresource: description: - List of subresources. default: [] + type: list + elements: dict suboptions: namespace: description: - Subresource namespace. + type: str type: description: - Subresource type. + type: str name: description: - Subresource name. + type: str body: description: - The body of the HTTP request/response to the web service. + type: raw method: description: - The HTTP method of the request or response. It must be uppercase. + type: str choices: - GET - PUT @@ -74,11 +87,12 @@ description: - A valid, numeric, HTTP status code that signifies success of the request. Can also be comma separated list of status codes. type: list + elements: int default: [ 200, 201, 202 ] idempotency: description: - If enabled, idempotency check will be done by using I(method=GET) first and then comparing with I(body). - default: no + default: false type: bool polling_timeout: description: @@ -94,6 +108,7 @@ description: - Assert the state of the resource. Use C(present) to create or update resource or C(absent) to delete resource. default: present + type: str choices: - absent - present @@ -245,6 +260,7 @@ def __init__(self): ), subresource=dict( type='list', + elements='dict', default=[] ), api_version=dict( @@ -260,6 +276,7 @@ def __init__(self): ), status_code=dict( type='list', + elements='int', default=[200, 201, 202] ), idempotency=dict( diff --git a/plugins/modules/azure_rm_resource_info.py b/plugins/modules/azure_rm_resource_info.py index 238c50f03..39aaaf0c7 100644 --- a/plugins/modules/azure_rm_resource_info.py +++ b/plugins/modules/azure_rm_resource_info.py @@ -22,25 +22,32 @@ url: description: - Azure RM Resource URL. + type: str api_version: description: - Specific API version to be used. + type: str provider: description: - Provider type, should be specified in no URL is given. + type: str resource_group: description: - Resource group to be used. - Required if URL is not specified. + type: str resource_type: description: - Resource type. + type: str resource_name: description: - Resource name. + type: str method: description: - The HTTP method of the request or response. It must be uppercase. + type: str choices: - GET - PUT @@ -53,17 +60,22 @@ subresource: description: - List of subresources. + type: list + elements: dict default: [] suboptions: namespace: description: - Subresource namespace. + type: str type: description: - Subresource type. + type: str name: description: - Subresource name. + type: str extends_documentation_fragment: - azure.azcollection.azure @@ -319,7 +331,13 @@ def __init__(self): ), subresource=dict( type='list', - default=[] + elements='dict', + default=[], + options=dict( + namespace=dict(type='str'), + type=dict(type='str'), + name=dict(type='str') + ) ), method=dict( type='str', diff --git a/plugins/modules/azure_rm_resourcegroup.py b/plugins/modules/azure_rm_resourcegroup.py index 553330ab1..b8659ddf8 100644 --- a/plugins/modules/azure_rm_resourcegroup.py +++ b/plugins/modules/azure_rm_resourcegroup.py @@ -29,15 +29,18 @@ description: - Azure location for the resource group. Required when creating a new resource group. - Cannot be changed once resource group is created. + type: str name: description: - Name of the resource group. required: true + type: str state: description: - Assert the state of the resource group. Use C(present) to create or update and C(absent) to delete. - When C(absent) a resource group containing resources will not be removed unless the I(force) option is used. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_resourcegroup_info.py b/plugins/modules/azure_rm_resourcegroup_info.py index 969143a17..579f6272a 100644 --- a/plugins/modules/azure_rm_resourcegroup_info.py +++ b/plugins/modules/azure_rm_resourcegroup_info.py @@ -24,6 +24,7 @@ name: description: - Limit results to a specific resource group. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -33,6 +34,8 @@ description: - List all resources under the resource group. - Note this will cost network overhead for each resource group. Suggest use this when I(name) set. + type: bool + extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_roleassignment.py b/plugins/modules/azure_rm_roleassignment.py index 6a930cc4b..0689cde71 100644 --- a/plugins/modules/azure_rm_roleassignment.py +++ b/plugins/modules/azure_rm_roleassignment.py @@ -23,21 +23,25 @@ - The object id of assignee. This maps to the ID inside the Active Directory. - It can point to a user, service principal or security group. - Required when creating role assignment. + type: str aliases: - assignee id: description: - Fully qualified id of assignment to delete or create. - Mutually Exclusive with I(scope) and I(name) + type: str name: description: - Unique name of role assignment. - The role assignment name must be a GUID, sample as "3ce0cbb0-58c4-4e6d-a16d-99d86a78b3ca". - Mutually Exclusive with I(id) + type: str role_definition_id: description: - The role definition id used in the role assignment. - Required when creating role assignment. + type: str scope: description: - The scope of the role assignment to create. @@ -45,12 +49,14 @@ - /subscriptions/{subscription-id}/resourceGroups/{resource-group-name} for resource group. - /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name} for resource. - Mutually Exclusive with I(id) + type: str state: description: - Assert the state of the role assignment. - Use C(present) to create or update a role assignment and C(absent) to delete it. - If C(present), then I(role_definition_id) and I(assignee_object_id) are both required default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_roleassignment_info.py b/plugins/modules/azure_rm_roleassignment_info.py index 4fa338a81..41aca0298 100644 --- a/plugins/modules/azure_rm_roleassignment_info.py +++ b/plugins/modules/azure_rm_roleassignment_info.py @@ -22,6 +22,7 @@ description: - Object id of a user, group or service principal. - Mutually exclusive with I(name) and I(id). + type: str aliases: - assignee_object_id id: @@ -29,14 +30,17 @@ - Fqid of role assignment to look up. - If set, I(role_definition_id) and I(scope) will be silently ignored. - Mutually exclusive with I(assignee) and I(name). + type: str name: description: - Name of role assignment. - Requires that I(scope) also be set. - Mutual exclusive with I(assignee) and I(id). + type: str role_definition_id: description: - Resource id of role definition. + type: str scope: description: - The scope to query for role assignments. @@ -44,6 +48,7 @@ - /subscriptions/{subscription-id}/resourceGroups/{resourcegroup-name} for a resource group. - /subscriptions/{subscription-id}/resourceGroups/{resourcegroup-name}/providers/{resource-provider}/{resource-type}/{resource-name} for a resource. - By default will return all inhereted assignments from parent scopes, see I(strict_scope_match). + type: str strict_scope_match: description: - If strict_scope_match is True, role assignments will only be returned for the exact scope defined. diff --git a/plugins/modules/azure_rm_route.py b/plugins/modules/azure_rm_route.py index dc1e79260..eed933cb8 100644 --- a/plugins/modules/azure_rm_route.py +++ b/plugins/modules/azure_rm_route.py @@ -20,23 +20,28 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the route. required: true + type: str state: description: - Assert the state of the route. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present address_prefix: description: - The destination CIDR to which the route applies. + type: str next_hop_type: description: - The type of Azure hop the packet should be sent to. + type: str choices: - virtual_network_gateway - vnet_local @@ -48,10 +53,12 @@ description: - The IP address packets should be forwarded to. - Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + type: str route_table_name: description: - The name of the route table. required: true + type: str extends_documentation_fragment: diff --git a/plugins/modules/azure_rm_routetable.py b/plugins/modules/azure_rm_routetable.py index 7558907e9..d81f535f5 100644 --- a/plugins/modules/azure_rm_routetable.py +++ b/plugins/modules/azure_rm_routetable.py @@ -20,14 +20,17 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the route table. required: true + type: str state: description: - Assert the state of the route table. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present @@ -40,6 +43,7 @@ description: - Region of the resource. - Derived from I(resource_group) if not specified. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_routetable_info.py b/plugins/modules/azure_rm_routetable_info.py index 901319ab8..69d7f11a0 100644 --- a/plugins/modules/azure_rm_routetable_info.py +++ b/plugins/modules/azure_rm_routetable_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific route table. + type: str resource_group: description: - Limit results in a specific resource group. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_securitygroup.py b/plugins/modules/azure_rm_securitygroup.py index bd2f6ee85..8fc713753 100644 --- a/plugins/modules/azure_rm_securitygroup.py +++ b/plugins/modules/azure_rm_securitygroup.py @@ -26,40 +26,142 @@ - The set of default rules automatically added to a security group at creation. - In general default rules will not be modified. Modify rules to shape the flow of traffic to or from a subnet or NIC. - See rules below for the makeup of a rule dict. + type: list + elements: dict + suboptions: + name: + description: + - Unique name for the rule. + type: str + required: true + description: + description: + - Short description of the rule's purpose. + type: str + protocol: + description: + - Accepted traffic protocol. + type: str + choices: + - Udp + - Tcp + - Icmp + - "*" + default: "*" + source_port_range: + description: + - Port or range of ports from which traffic originates. + - It can accept string type or a list of string type. + default: "*" + type: raw + destination_port_range: + description: + - Port or range of ports to which traffic is headed. + - It can accept string type or a list of string type. + default: "*" + type: raw + source_address_prefix: + description: + - The CIDR or source IP range. + - Asterisk C(*) can also be used to match all source IPs. + - Default tags such as C(VirtualNetwork), C(AzureLoadBalancer) and C(Internet) can also be used. + - If this is an ingress rule, specifies where network traffic originates from. + - It can accept string type or a list of string type. + - Asterisk C(*) and default tags can only be specified as single string type, not as a list of string. + type: raw + default: "*" + destination_address_prefix: + description: + - The destination address prefix. + - CIDR or destination IP range. + - Asterisk C(*) can also be used to match all source IPs. + - Default tags such as C(VirtualNetwork), C(AzureLoadBalancer) and C(Internet) can also be used. + - It can accept string type or a list of string type. + - Asterisk C(*) and default tags can only be specified as single string type, not as a list of string. + default: "*" + type: raw + source_application_security_groups: + description: + - List of the source application security groups. + - It could be list of resource id. + - It could be list of names in same resource group. + - It could be list of dict containing resource_group and name. + - It is mutually exclusive with C(source_address_prefix) and C(source_address_prefixes). + type: list + elements: raw + destination_application_security_groups: + description: + - List of the destination application security groups. + - It could be list of resource id. + - It could be list of names in same resource group. + - It could be list of dict containing I(resource_group) and I(name). + - It is mutually exclusive with C(destination_address_prefix) and C(destination_address_prefixes). + type: list + elements: raw + access: + description: + - Whether or not to allow the traffic flow. + type: str + choices: + - Allow + - Deny + default: Allow + priority: + description: + - Order in which to apply the rule. Must a unique integer between 100 and 4096 inclusive. + type: int + required: true + direction: + description: + - Indicates the direction of the traffic flow. + type: str + choices: + - Inbound + - Outbound + default: Inbound location: description: - Valid azure location. Defaults to location of the resource group. + type: str name: description: - Name of the security group to operate on. + type: str + required: true purge_default_rules: description: - Remove any existing rules not matching those defined in the default_rules parameter. type: bool - default: 'no' + default: false purge_rules: description: - Remove any existing rules not matching those defined in the rules parameters. type: bool - default: 'no' + default: false resource_group: description: - Name of the resource group the security group belongs to. required: true + type: str rules: description: - Set of rules shaping traffic flow to or from a subnet or NIC. Each rule is a dictionary. + type: list + elements: dict suboptions: name: description: - Unique name for the rule. + type: str required: true description: description: - Short description of the rule's purpose. + type: str protocol: description: - Accepted traffic protocol. + type: str choices: - Udp - Tcp @@ -71,11 +173,13 @@ - Port or range of ports from which traffic originates. - It can accept string type or a list of string type. default: "*" + type: raw destination_port_range: description: - Port or range of ports to which traffic is headed. - It can accept string type or a list of string type. default: "*" + type: raw source_address_prefix: description: - The CIDR or source IP range. @@ -84,6 +188,7 @@ - If this is an ingress rule, specifies where network traffic originates from. - It can accept string type or a list of string type. - Asterisk C(*) and default tags can only be specified as single string type, not as a list of string. + type: raw default: "*" destination_address_prefix: description: @@ -94,6 +199,7 @@ - It can accept string type or a list of string type. - Asterisk C(*) and default tags can only be specified as single string type, not as a list of string. default: "*" + type: raw source_application_security_groups: description: - List of the source application security groups. @@ -115,6 +221,7 @@ access: description: - Whether or not to allow the traffic flow. + type: str choices: - Allow - Deny @@ -122,10 +229,12 @@ priority: description: - Order in which to apply the rule. Must a unique integer between 100 and 4096 inclusive. + type: int required: true direction: description: - Indicates the direction of the traffic flow. + type: str choices: - Inbound - Outbound @@ -134,6 +243,7 @@ description: - Assert the state of the security group. Set to C(present) to create or update a security group. Set to C(absent) to remove a security group. default: present + type: str choices: - absent - present @@ -631,13 +741,25 @@ class AzureRMSecurityGroup(AzureRMModuleBase): def __init__(self): self.module_arg_spec = dict( - default_rules=dict(type='list', elements='dict', options=rule_spec), + default_rules=dict( + type='list', + elements='dict', + options=rule_spec, + mutually_exclusive=[("source_application_security_groups", "source_address_prefix"), + ("destination_application_security_groups", "destination_address_prefix")] + ), location=dict(type='str'), name=dict(type='str', required=True), purge_default_rules=dict(type='bool', default=False), purge_rules=dict(type='bool', default=False), resource_group=dict(required=True, type='str'), - rules=dict(type='list', elements='dict', options=rule_spec), + rules=dict( + type='list', + elements='dict', + options=rule_spec, + mutually_exclusive=[("source_application_security_groups", "source_address_prefix"), + ("destination_application_security_groups", "destination_address_prefix")] + ), state=dict(type='str', default='present', choices=['present', 'absent']), ) @@ -657,14 +779,8 @@ def __init__(self): state=dict() ) - mutually_exclusive = [["source_application_security_group", "source_address_prefix"], - ["source_application_security_group", "source_address_prefixes"], - ["destination_application_security_group", "destination_address_prefix"], - ["destination_application_security_group", "destination_address_prefixes"]] - super(AzureRMSecurityGroup, self).__init__(self.module_arg_spec, - supports_check_mode=True, - mutually_exclusive=mutually_exclusive) + supports_check_mode=True) def exec_module(self, **kwargs): # tighten up poll interval for security groups; default 30s is an eternity diff --git a/plugins/modules/azure_rm_securitygroup_info.py b/plugins/modules/azure_rm_securitygroup_info.py index 2a549c631..445593433 100644 --- a/plugins/modules/azure_rm_securitygroup_info.py +++ b/plugins/modules/azure_rm_securitygroup_info.py @@ -24,10 +24,12 @@ name: description: - Only show results for a specific security group. + type: str resource_group: description: - Name of the resource group to use. required: true + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_servicebus.py b/plugins/modules/azure_rm_servicebus.py index 10b995119..973f491bf 100644 --- a/plugins/modules/azure_rm_servicebus.py +++ b/plugins/modules/azure_rm_servicebus.py @@ -20,23 +20,28 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the servicebus namespace. required: true + type: str state: description: - Assert the state of the servicebus. Use C(present) to create or update and use C(absen) to delete. default: present + type: str choices: - absent - present location: description: - The servicebus's location. + type: str sku: description: - Namespace SKU. + type: str choices: - standard - basic diff --git a/plugins/modules/azure_rm_servicebus_info.py b/plugins/modules/azure_rm_servicebus_info.py index 58de80ac2..5ccd4dea7 100644 --- a/plugins/modules/azure_rm_servicebus_info.py +++ b/plugins/modules/azure_rm_servicebus_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific servicebus. + type: str resource_group: description: - Limit results in a specific resource group. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -37,9 +39,12 @@ - A namespace is a scoping container for all messaging components. - Multiple queues and topics can reside within a single namespace, and namespaces often serve as application containers. - Required when I(type=namespace). + type: str type: description: - Type of the resource. + type: str + required: true choices: - namespace - queue @@ -49,6 +54,7 @@ description: - Topic name. - Required when I(type=subscription). + type: str show_sas_policies: description: - Whether to show the SAS policies. diff --git a/plugins/modules/azure_rm_servicebusqueue.py b/plugins/modules/azure_rm_servicebusqueue.py index edb810374..f63da177a 100644 --- a/plugins/modules/azure_rm_servicebusqueue.py +++ b/plugins/modules/azure_rm_servicebusqueue.py @@ -20,20 +20,24 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the queue. required: true + type: str namespace: description: - Servicebus namespace name. - A namespace is a scoping container for all messaging components. - Multiple queues and topics can reside within a single namespace, and namespaces often serve as application containers. required: true + type: str state: description: - Assert the state of the queue. Use C(present) to create or update and use C(absent) to delete. default: present + type: str choices: - absent - present @@ -68,9 +72,11 @@ forward_dead_lettered_messages_to: description: - Queue or topic name to forward the Dead Letter message for a queue. + type: str forward_to: description: - Queue or topic name to forward the messages for a queue. + type: str lock_duration_in_seconds: description: - Timespan duration of a peek-lock. @@ -106,6 +112,7 @@ status: description: - Status of the entity. + type: str choices: - active - disabled diff --git a/plugins/modules/azure_rm_servicebussaspolicy.py b/plugins/modules/azure_rm_servicebussaspolicy.py index b043a0a11..cefdbed21 100644 --- a/plugins/modules/azure_rm_servicebussaspolicy.py +++ b/plugins/modules/azure_rm_servicebussaspolicy.py @@ -20,14 +20,17 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the SAS policy. required: true + type: str state: description: - Assert the state of the route. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present @@ -36,14 +39,17 @@ - Manage SAS policy for a namespace without C(queue) or C(topic) set. - Manage SAS policy for a queue or topic under this namespace. required: true + type: str queue: description: - Type of the messaging queue. - Cannot set C(topc) when this field set. + type: str topic: description: - Name of the messaging topic. - Cannot set C(queue) when this field set. + type: str regenerate_primary_key: description: - Regenerate the SAS policy primary key. @@ -57,7 +63,7 @@ rights: description: - Claim rights of the SAS policy. - required: True + type: str choices: - manage - listen diff --git a/plugins/modules/azure_rm_servicebustopic.py b/plugins/modules/azure_rm_servicebustopic.py index c2eb25e86..75ae477eb 100644 --- a/plugins/modules/azure_rm_servicebustopic.py +++ b/plugins/modules/azure_rm_servicebustopic.py @@ -20,20 +20,24 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the topic. required: true + type: str namespace: description: - Servicebus namespace name. - A namespace is a scoping container for all messaging components. - Multipletopics can reside within a single namespace. + type: str required: true state: description: - Assert the state of the topic. Use C(present) to create or update and use C(absent) to delete. default: present + type: str choices: - absent - present @@ -85,6 +89,7 @@ status: description: - Status of the entity. + type: str choices: - active - disabled @@ -156,7 +161,7 @@ def __init__(self): max_size_in_mb=dict(type='int'), max_message_size_in_kb=dict(type='int'), name=dict(type='str', required=True), - namespace=dict(type='str'), + namespace=dict(type='str', required=True), requires_duplicate_detection=dict(type='bool'), resource_group=dict(type='str', required=True), state=dict(type='str', default='present', choices=['present', 'absent']), diff --git a/plugins/modules/azure_rm_servicebustopicsubscription.py b/plugins/modules/azure_rm_servicebustopicsubscription.py index b6cc523db..aa9ae40dd 100644 --- a/plugins/modules/azure_rm_servicebustopicsubscription.py +++ b/plugins/modules/azure_rm_servicebustopicsubscription.py @@ -20,14 +20,17 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the servicebus subscription. required: true + type: str state: description: - Assert the state of the servicebus subscription. Use C(present) to create or update and use C(absent) to delete. default: present + type: str choices: - absent - present @@ -37,10 +40,12 @@ - A namespace is a scoping container for all messaging components. - Multiple subscriptions and topics can reside within a single namespace, and namespaces often serve as application containers. required: true + type: str topic: description: - Topic name which the subscription subscribe to. required: true + type: str auto_delete_on_idle_in_seconds: description: - Time idle interval after which a subscription is automatically deleted. @@ -67,9 +72,11 @@ forward_dead_lettered_messages_to: description: - Queue or topic name to forward the Dead Letter message for a subscription. + type: str forward_to: description: - Queue or topic name to forward the messages for a subscription. + type: str lock_duration_in_seconds: description: - Timespan duration of a peek-lock. @@ -92,6 +99,7 @@ status: description: - Status of the entity. + type: str choices: - active - disabled diff --git a/plugins/modules/azure_rm_snapshot.py b/plugins/modules/azure_rm_snapshot.py index 068d7e638..bd3acd9bd 100644 --- a/plugins/modules/azure_rm_snapshot.py +++ b/plugins/modules/azure_rm_snapshot.py @@ -24,6 +24,7 @@ name: description: - Resource name. + required: true type: str location: description: diff --git a/plugins/modules/azure_rm_sqldatabase.py b/plugins/modules/azure_rm_sqldatabase.py index 972125b2e..cd4cd9e32 100644 --- a/plugins/modules/azure_rm_sqldatabase.py +++ b/plugins/modules/azure_rm_sqldatabase.py @@ -21,20 +21,25 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the database to be operated on (updated or created). required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str collation: description: - The collation of the database. If not I(create_mode=default), this value is ignored. + type: str create_mode: description: - Specifies the mode of database creation. @@ -46,6 +51,7 @@ - C(restore), Creates a database by restoring a backup of a deleted database. - C(restore_long_term_retention_backup), Creates a database by restoring from a long term retention vault. - C(copy), C(non_readable_secondary), C(online_secondary) and C(restore_long_term_retention_backup) are not supported for C(data_warehouse) edition. + type: str choices: - 'copy' - 'default' @@ -59,24 +65,29 @@ description: - Required unless I(create_mode=default) or I(create_mode=restore_long_term_retention_backup). - Specifies the resource ID of the source database. + type: str source_database_deletion_date: description: - Required if I(create_mode=restore) and I(source_database_id) is the deleted database's original resource id when it existed (as opposed to its current restorable dropped database ID), then this value is required. Specifies the time that the database was deleted. + type: str restore_point_in_time: description: - Required if I(create_mode=point_in_time_restore), this value is required. If I(create_mode=restore), this value is optional. - Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. - Must be greater than or equal to the source database's earliestRestoreDate value. + type: str recovery_services_recovery_point_resource_id: description: - Required if I(create_mode=restore_long_term_retention_backup), then this value is required. - Specifies the resource ID of the recovery point to restore from. + type: str edition: description: - (Deprecate)The edition of the database. The DatabaseEditions enumeration contains all the valid editions. - This option will be deprecated in 2.11, use I(sku) instead. - Cannot set C(sku) when this field set. + type: str choices: - 'web' - 'business' @@ -95,32 +106,40 @@ - To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId:'Capabilities_ListByLocation'. - Cannot set C(edition) when this field set. + type: dict suboptions: name: description: - Name of the database SKU, typically, a letter + Number code, e.g. P3 required: True + type: str tier: description: - The tier or edition of the particular SKU, e.g. Basic, Premium + type: str capacity: description: - Capacity of the particular SKU. + type: int size: description: - Size of the particular SKU + type: str family: description: - If the service has different generations of hardware, for the same SKU, then that can be used here + type: str max_size_bytes: description: - The max size of the database expressed in bytes. - If not I(create_mode=default), this value is ignored. - To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities). referred to by operationId:'Capabilities_ListByLocation'. + type: str elastic_pool_name: description: - The name of the elastic pool the database is in. Not supported for I(edition=data_warehouse). + type: str read_scale: description: - If the database is a geo-secondary, indicates whether read-only connections are allowed to this database or not. @@ -132,6 +151,7 @@ - Indicates the name of the sample schema to apply when creating this database. - If not I(create_mode=default), this value is ignored. - Not supported for I(edition=data_warehouse). + type: str choices: - 'adventure_works_lt' zone_redundant: @@ -140,17 +160,18 @@ type: bool default: False force_update: - description: - - SQL Database will be updated if given parameters differ from existing resource state. - - To force SQL Database update in any circumstances set this parameter to True. - type: bool + description: + - SQL Database will be updated if given parameters differ from existing resource state. + - To force SQL Database update in any circumstances set this parameter to True. + type: bool state: - description: - - Assert the state of the SQL Database. Use C(present) to create or update an SQL Database and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - Assert the state of the SQL Database. Use C(present) to create or update an SQL Database and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_sqldatabase_info.py b/plugins/modules/azure_rm_sqldatabase_info.py index 9c9af2501..4ee12d449 100644 --- a/plugins/modules/azure_rm_sqldatabase_info.py +++ b/plugins/modules/azure_rm_sqldatabase_info.py @@ -21,16 +21,20 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the database. + type: str elastic_pool_name: description: - The name of the elastic pool. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_sqlfirewallrule.py b/plugins/modules/azure_rm_sqlfirewallrule.py index b4a14f14f..b882851b3 100644 --- a/plugins/modules/azure_rm_sqlfirewallrule.py +++ b/plugins/modules/azure_rm_sqlfirewallrule.py @@ -21,26 +21,32 @@ description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the firewall rule. required: True + type: str start_ip_address: description: - The start IP address of the firewall rule. - Must be IPv4 format. Use value C(0.0.0.0) to represent all Azure-internal IP addresses. + type: str end_ip_address: description: - The end IP address of the firewall rule. - Must be IPv4 format. Must be greater than or equal to I(start_ip_address). Use value C(0.0.0.0) to represent all Azure-internal IP addresses. + type: str state: description: - State of the SQL Database. Use C(present) to create or update an SQL Database and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_sqlfirewallrule_info.py b/plugins/modules/azure_rm_sqlfirewallrule_info.py index 7c9bb0459..688324652 100644 --- a/plugins/modules/azure_rm_sqlfirewallrule_info.py +++ b/plugins/modules/azure_rm_sqlfirewallrule_info.py @@ -21,13 +21,16 @@ description: - The name of the resource group that contains the server. required: True + type: str server_name: description: - The name of the server. required: True + type: str name: description: - The name of the firewall rule. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_sqlserver.py b/plugins/modules/azure_rm_sqlserver.py index f4cf45f08..bffd8e7ab 100644 --- a/plugins/modules/azure_rm_sqlserver.py +++ b/plugins/modules/azure_rm_sqlserver.py @@ -20,27 +20,34 @@ resource_group: description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. + type: str required: True name: description: - The name of the server. + type: str required: True location: description: - Resource location. + type: str admin_username: description: - Username of the SQL administrator account for server. Once created it cannot be changed. + type: str admin_password: description: - Password of the SQL administrator account for server (required for server creation). + type: str version: description: - The version of the server. For example C(12.0). + type: str identity: description: - The identity type. Set this to C(SystemAssigned) in order to automatically create and assign an Azure Active Directory principal for the resource. - Possible values include C(SystemAssigned). + type: str minimal_tls_version: description: - Require clients to use a specified TLS version. @@ -111,6 +118,7 @@ description: - State of the SQL server. Use C(present) to create or update a server and use C(absent) to delete a server. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_sqlserver_info.py b/plugins/modules/azure_rm_sqlserver_info.py index 06e34ea22..fe6ae3b58 100644 --- a/plugins/modules/azure_rm_sqlserver_info.py +++ b/plugins/modules/azure_rm_sqlserver_info.py @@ -20,10 +20,12 @@ resource_group: description: - The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal. + type: str required: True server_name: description: - The name of the server. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_storageaccount.py b/plugins/modules/azure_rm_storageaccount.py index d3b5bb807..18a21c248 100644 --- a/plugins/modules/azure_rm_storageaccount.py +++ b/plugins/modules/azure_rm_storageaccount.py @@ -21,16 +21,20 @@ description: - Name of the resource group to use. required: true + type: str aliases: - resource_group_name name: description: - Name of the storage account to update or create. + type: str + required: true state: description: - State of the storage account. Use C(present) to create or update a storage account and use C(absent) to delete an account. - C(failover) is used to failover the storage account to its secondary. This process can take up to a hour. default: present + type: str choices: - absent - present @@ -38,11 +42,13 @@ location: description: - Valid Azure location. Defaults to location of the resource group. + type: str account_type: description: - Type of storage account. Required when creating a storage account. - C(Standard_ZRS) and C(Premium_LRS) accounts cannot be changed to other account types. - Other account types cannot be changed to C(Standard_ZRS) or C(Premium_LRS). + type: str choices: - Premium_LRS - Standard_GRS @@ -61,6 +67,7 @@ - Only one custom domain is supported per storage account at this time. - To clear the existing custom domain, use an empty string for the custom domain name property. - Can be added to an existing storage account. Will be ignored during storage account creation. + type: dict aliases: - custom_dns_domain_suffix kind: @@ -68,6 +75,7 @@ - The kind of storage. - The C(FileStorage) and (BlockBlobStorage) only used when I(account_type=Premium_LRS) or I(account_type=Premium_ZRS). default: 'Storage' + type: str choices: - Storage - StorageV2 @@ -82,6 +90,7 @@ access_tier: description: - The access tier for this storage account. Required when I(kind=BlobStorage). + type: str choices: - Hot - Cool @@ -101,6 +110,7 @@ description: - The minimum required version of Transport Layer Security (TLS) for requests to a storage account. - If omitted, new account creation will default to null which is currently interpreted to TLS1_0. Existing accounts will not be modified. + type: str choices: - TLS1_0 - TLS1_1 @@ -109,6 +119,7 @@ public_network_access: description: - Allow or disallow public network access to Storage Account. + type: str choices: - Enabled - Disabled @@ -129,6 +140,7 @@ description: - Default firewall traffic rule. - If I(default_action=Allow) no other settings have effect. + type: str choices: - Allow - Deny @@ -140,28 +152,37 @@ - It can be any combination of the example C(AzureServices), C(Logging), C(Metrics). - If no Azure components are allowed, explicitly set I(bypass=""). default: AzureServices + type: str virtual_network_rules: description: - A list of subnets and their actions. + type: list + elements: dict suboptions: id: description: - The complete path to the subnet. + type: str action: description: - The only logical I(action=Allow) because this setting is only accessible when I(default_action=Deny). default: 'Allow' + type: str ip_rules: description: - A list of IP addresses or ranges in CIDR format. + type: list + elements: dict suboptions: value: description: - The IP address or range. + type: str action: description: - The only logical I(action=Allow) because this setting is only accessible when I(default_action=Deny). default: 'Allow' + type: str blob_cors: description: - Specifies CORS rules for the Blob service. diff --git a/plugins/modules/azure_rm_storageaccount_info.py b/plugins/modules/azure_rm_storageaccount_info.py index 9a975542f..7afabbdf4 100644 --- a/plugins/modules/azure_rm_storageaccount_info.py +++ b/plugins/modules/azure_rm_storageaccount_info.py @@ -24,9 +24,11 @@ name: description: - Only show results for a specific account. + type: str resource_group: description: - Limit results to a resource group. Required when filtering by name. + type: str aliases: - resource_group_name tags: @@ -477,6 +479,7 @@ description: - The account key for the secondary_endpoints sample: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + type: str georeplication_stats: description: - Parameters related to the status of geo-replication. diff --git a/plugins/modules/azure_rm_storageblob.py b/plugins/modules/azure_rm_storageblob.py index 0999494be..868069f42 100644 --- a/plugins/modules/azure_rm_storageblob.py +++ b/plugins/modules/azure_rm_storageblob.py @@ -26,6 +26,7 @@ description: - Name of the storage account to use. required: true + type: str aliases: - account_name - storage_account @@ -34,10 +35,12 @@ - Name of a blob object within the container. aliases: - blob_name + type: str blob_type: description: - Type of blob object. default: block + type: str choices: - block - page @@ -46,31 +49,39 @@ description: - Name of a blob container within the storage account. required: true + type: str aliases: - container_name content_type: description: - Set the blob content-type header. For example C(image/png). + type: str cache_control: description: - Set the blob cache-control header. + type: str content_disposition: description: - Set the blob content-disposition header. + type: str content_encoding: description: - Set the blob encoding header. + type: str content_language: description: - Set the blob content-language header. + type: str content_md5: description: - Set the blob md5 hash value. + type: str dest: description: - Destination file path. Use with state C(present) to download a blob. aliases: - destination + type: path force: description: - Overwrite existing blob or file when uploading or downloading. Force deletion of a container that contains blobs. @@ -80,19 +91,23 @@ description: - Name of the resource group to use. required: true + type: str aliases: - resource_group_name src: description: - Source file path. Use with state C(present) to upload a blob. + type: str aliases: - source batch_upload_src: description: - Batch upload source directory. Use with state C(present) to upload batch of files under the directory. + type: path batch_upload_dst: description: - Base directory in container when upload batch of files. + type: path state: description: - State of a container or blob. @@ -105,6 +120,7 @@ to download. If a blob (uploading) or a file (downloading) already exists, it will not be overwritten unless I(force=true). default: present + type: str choices: - absent - present @@ -112,6 +128,7 @@ description: - A container's level of public access. By default containers are private. - Can only be set at time of container creation. + type: str choices: - container - blob diff --git a/plugins/modules/azure_rm_subnet.py b/plugins/modules/azure_rm_subnet.py index 90004826b..945bc7413 100644 --- a/plugins/modules/azure_rm_subnet.py +++ b/plugins/modules/azure_rm_subnet.py @@ -23,13 +23,16 @@ description: - Name of resource group. required: true + type: str name: description: - Name of the subnet. required: true + type: str address_prefix_cidr: description: - CIDR defining the IPv4 address space of the subnet. Must be valid within the context of the virtual network. + type: str aliases: - address_prefix address_prefixes_cidr: @@ -38,20 +41,23 @@ - If set I(address_prefix), It will not set. aliases: - address_prefixes - type: list version_added: "1.0.0" + type: list + elements: str security_group: description: - Existing security group with which to associate the subnet. - It can be the security group name which is in the same resource group. - Can be the resource ID of the security group. - Can be a dict containing the I(name) and I(resource_group) of the security group. + type: raw aliases: - security_group_name state: description: - Assert the state of the subnet. Use C(present) to create or update a subnet and use C(absent) to delete a subnet. default: present + type: str choices: - absent - present @@ -59,6 +65,7 @@ description: - Name of an existing virtual network with which the subnet is or will be associated. required: true + type: str aliases: - virtual_network route_table: @@ -67,19 +74,23 @@ - Can be the name or resource ID of the route table. - Can be a dict containing the I(name) and I(resource_group) of the route table. - Without this configuration, the associated route table will be dissociate. If there is no associated route table, it has no impact. + type: raw service_endpoints: description: - An array of service endpoints. type: list + elements: dict suboptions: service: description: - The type of the endpoint service. required: True + type: str locations: description: - A list of locations. type: list + elements: str private_endpoint_network_policies: description: - C(Enabled) or C(Disabled) apply network policies on private endpoints in the subnet. @@ -100,15 +111,18 @@ description: - An array of delegations. type: list + elements: dict suboptions: name: description: - The name of delegation. + type: str required: True serviceName: description: - The type of the endpoint service. required: True + type: str choices: - Microsoft.Web/serverFarms - Microsoft.ContainerInstance/containerGroups @@ -143,6 +157,7 @@ description: - A list of actions. type: list + elements: str default: [] nat_gateway: description: @@ -341,6 +356,7 @@ ), actions=dict( type='list', + elements='str', default=[] ) ) @@ -388,11 +404,16 @@ def __init__(self): state=dict(type='str', default='present', choices=['present', 'absent']), virtual_network_name=dict(type='str', required=True, aliases=['virtual_network']), address_prefix_cidr=dict(type='str', aliases=['address_prefix']), - address_prefixes_cidr=dict(type='list', aliases=['address_prefixes']), + address_prefixes_cidr=dict(type='list', aliases=['address_prefixes'], elements='str'), security_group=dict(type='raw', aliases=['security_group_name']), route_table=dict(type='raw'), service_endpoints=dict( - type='list' + type='list', + elements='dict', + options=dict( + service=dict(type='str', required=True), + locations=dict(type='list', elements='str') + ) ), private_endpoint_network_policies=dict( type='str', diff --git a/plugins/modules/azure_rm_subnet_info.py b/plugins/modules/azure_rm_subnet_info.py index 103e99c74..053067aa4 100644 --- a/plugins/modules/azure_rm_subnet_info.py +++ b/plugins/modules/azure_rm_subnet_info.py @@ -21,13 +21,16 @@ description: - The name of the resource group. required: True + type: str virtual_network_name: description: - The name of the virtual network. required: True + type: str name: description: - The name of the subnet. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_trafficmanager.py b/plugins/modules/azure_rm_trafficmanager.py index 422a8df14..ac9fca1f9 100644 --- a/plugins/modules/azure_rm_trafficmanager.py +++ b/plugins/modules/azure_rm_trafficmanager.py @@ -20,24 +20,29 @@ description: - Name of a resource group where the Traffic Manager profile exists or will be created. required: true + type: str name: description: - Name of the Traffic Manager profile. required: true + type: str state: description: - Assert the state of the Traffic Manager profile. Use C(present) to create or update a Traffic Manager profile and C(absent) to delete it. default: present + type: str choices: - absent - present location: description: - Valid azure location. Defaults to 'global'. + type: str profile_status: description: - The status of the Traffic Manager profile. default: Enabled + type: str choices: - Enabled - Disabled @@ -45,6 +50,7 @@ description: - The traffic routing method of the Traffic Manager profile. default: Performance + type: str choices: - Performance - Priority @@ -53,22 +59,30 @@ dns_config: description: - The DNS settings of the Traffic Manager profile. + type: dict suboptions: relative_name: description: - The relative DNS name provided by this Traffic Manager profile. - If no provided, name of the Traffic Manager will be used + type: str ttl: description: - The DNS Time-To-Live (TTL), in seconds. - default: 60 + type: int monitor_config: description: - The endpoint monitoring settings of the Traffic Manager profile. + type: dict suboptions: + profile_monitor_status: + description: + - The profile-level monitoring status of the Traffic Manager. + type: str protocol: description: - The protocol (HTTP, HTTPS or TCP) used to probe for endpoint health. + type: str choices: - HTTP - HTTPS @@ -76,18 +90,23 @@ port: description: - The TCP port used to probe for endpoint health. + type: int path: description: - The path relative to the endpoint domain name used to probe for endpoint health. + type: str interval_in_seconds: description: - The monitor interval for endpoints in this profile. + type: int timeout_in_seconds: description: - The monitor timeout for endpoints in this profile. + type: int tolerated_number_of_failures: description: - The number of consecutive failed health check before declaring an endpoint in this profile Degraded after the next failed health check. + type: int default: protocol: HTTP port: 80 @@ -95,28 +114,39 @@ endpoints: description: - The list of endpoints in the Traffic Manager profile. + type: list + elements: dict + default: [] suboptions: + endpoint_monitor_status: + description: + - The monitoring status of the endpoint. + type: str id: description: - Fully qualified resource Id for the resource. + type: str name: description: - The name of the endpoint. - required: true + type: str type: description: - The type of the endpoint. Ex- Microsoft.network/TrafficManagerProfiles/ExternalEndpoints. - required: true + type: str target_resource_id: description: - The Azure Resource URI of the of the endpoint. - Not applicable to endpoints of type 'ExternalEndpoints'. + type: str target: description: - The fully-qualified DNS name of the endpoint. + type: str endpoint_status: description: - The status of the endpoint. + type: str choices: - Enabled - Disabled @@ -124,29 +154,35 @@ description: - The weight of this endpoint when using the 'Weighted' traffic routing method. - Possible values are from 1 to 1000. + type: int priority: description: - The priority of this endpoint when using the 'Priority' traffic routing method. - Possible values are from 1 to 1000, lower values represent higher priority. - This is an optional parameter. If specified, it must be specified on all endpoints. - No two endpoints can share the same priority value. + type: int endpoint_location: description: - Specifies the location of the external or nested endpoints when using the 'Performance' traffic routing method. + type: str min_child_endpoints: description: - The minimum number of endpoints that must be available in the child profile in order for the parent profile to be considered available. - Only applicable to endpoint of type 'NestedEndpoints'. + type: int geo_mapping: description: - The list of countries/regions mapped to this endpoint when using the 'Geographic' traffic routing method. + type: list + elements: str extends_documentation_fragment: - azure.azcollection.azure - azure.azcollection.azure_tags author: - - "Hai Cao " + - Hai Cao (@caohai) ''' @@ -330,7 +366,7 @@ def create_endpoints(endpoints): monitor_config_spec = dict( profile_monitor_status=dict(type='str'), - protocol=dict(type='str'), + protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'TCP']), port=dict(type='int'), path=dict(type='str'), interval_in_seconds=dict(type='int'), @@ -344,7 +380,7 @@ def create_endpoints(endpoints): type=dict(type='str'), target_resource_id=dict(type='str'), target=dict(type='str'), - endpoint_status=dict(type='str'), + endpoint_status=dict(type='str', choices=['Enabled', 'Disabled']), weight=dict(type='int'), priority=dict(type='int'), endpoint_location=dict(type='str'), diff --git a/plugins/modules/azure_rm_trafficmanagerendpoint.py b/plugins/modules/azure_rm_trafficmanagerendpoint.py index b114cd4dd..9b172a1ab 100644 --- a/plugins/modules/azure_rm_trafficmanagerendpoint.py +++ b/plugins/modules/azure_rm_trafficmanagerendpoint.py @@ -35,6 +35,7 @@ description: - The type of the endpoint. required: true + type: str choices: - azure_endpoints - external_endpoints @@ -83,6 +84,7 @@ description: - Assert the state of the Traffic Manager endpoint. Use C(present) to create or update a Traffic Manager endpoint and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_trafficmanagerendpoint_info.py b/plugins/modules/azure_rm_trafficmanagerendpoint_info.py index 6d63b15a4..441964efd 100644 --- a/plugins/modules/azure_rm_trafficmanagerendpoint_info.py +++ b/plugins/modules/azure_rm_trafficmanagerendpoint_info.py @@ -23,17 +23,21 @@ name: description: - Limit results to a specific Traffic Manager endpoint. + type: str resource_group: description: - The resource group to search for the desired Traffic Manager profile. required: True + type: str profile_name: description: - Name of Traffic Manager Profile. required: True + type: str type: description: - Type of endpoint. + type: str choices: - azure_endpoints - external_endpoints diff --git a/plugins/modules/azure_rm_trafficmanagerprofile.py b/plugins/modules/azure_rm_trafficmanagerprofile.py index d9c2c3bed..bb8acde8e 100644 --- a/plugins/modules/azure_rm_trafficmanagerprofile.py +++ b/plugins/modules/azure_rm_trafficmanagerprofile.py @@ -20,14 +20,17 @@ description: - Name of a resource group where the Traffic Manager profile exists or will be created. required: true + type: str name: description: - Name of the Traffic Manager profile. required: true + type: str state: description: - Assert the state of the Traffic Manager profile. Use C(present) to create or update a Traffic Manager profile and C(absent) to delete it. default: present + type: str choices: - absent - present @@ -35,11 +38,13 @@ description: - Valid Azure location. Defaults to C(global) because in default public Azure cloud, Traffic Manager profile can only be deployed globally. - Reference U(https://docs.microsoft.com/en-us/azure/traffic-manager/quickstart-create-traffic-manager-profile#create-a-traffic-manager-profile). + type: str default: global profile_status: description: - The status of the Traffic Manager profile. default: enabled + type: str choices: - enabled - disabled @@ -47,6 +52,7 @@ description: - The traffic routing method of the Traffic Manager profile. default: performance + type: str choices: - performance - priority @@ -55,33 +61,42 @@ dns_config: description: - The DNS settings of the Traffic Manager profile. + type: dict suboptions: relative_name: description: - The relative DNS name provided by this Traffic Manager profile. - If not provided, name of the Traffic Manager will be used. + type: str ttl: description: - The DNS Time-To-Live (TTL), in seconds. type: int - default: 60 monitor_config: description: - The endpoint monitoring settings of the Traffic Manager profile. + type: dict suboptions: + profile_monitor_status: + description: + - The profile-level monitoring status of the Traffic Manager. + type: str protocol: description: - The protocol C(HTTP), C(HTTPS) or C(TCP) used to probe for endpoint health. + type: str choices: - - HTTP - HTTPS + - HTTP - TCP port: description: - The TCP port used to probe for endpoint health. + type: int path: description: - The path relative to the endpoint domain name used to probe for endpoint health. + type: str interval: description: - The monitor interval for endpoints in this profile in seconds. @@ -93,6 +108,7 @@ tolerated_failures: description: - The number of consecutive failed health check before declaring an endpoint in this profile Degraded after the next failed health check. + type: int default: protocol: HTTP port: 80 @@ -240,7 +256,7 @@ def create_monitor_config_instance(monitor_config): monitor_config_spec = dict( profile_monitor_status=dict(type='str'), - protocol=dict(type='str'), + protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'TCP']), port=dict(type='int'), path=dict(type='str'), interval=dict(type='int'), diff --git a/plugins/modules/azure_rm_trafficmanagerprofile_info.py b/plugins/modules/azure_rm_trafficmanagerprofile_info.py index 43a3492de..daa747a6b 100644 --- a/plugins/modules/azure_rm_trafficmanagerprofile_info.py +++ b/plugins/modules/azure_rm_trafficmanagerprofile_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific Traffic Manager profile. + type: str resource_group: description: - The resource group to search for the desired Traffic Manager profile. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_virtualmachine.py b/plugins/modules/azure_rm_virtualmachine.py index 59470924d..c2339376d 100644 --- a/plugins/modules/azure_rm_virtualmachine.py +++ b/plugins/modules/azure_rm_virtualmachine.py @@ -30,16 +30,19 @@ description: - Name of the resource group containing the VM. required: true + type: str name: description: - Name of the VM. required: true + type: str custom_data: description: - Data made available to the VM and used by C(cloud-init). - Only used on Linux images with C(cloud-init) enabled. - Consult U(https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview) for cloud-init ready images. - To enable cloud-init on a Linux image, follow U(https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cloudinit-prepare-custom-image). + type: str state: description: - State of the VM. @@ -47,6 +50,7 @@ - Set to C(absent) to remove a VM. - Does not affect power state. Use I(started)/I(allocated)/I(restarted) parameters to change the power state of a VM. default: present + type: str choices: - absent - present @@ -83,19 +87,23 @@ location: description: - Valid Azure location for the VM. Defaults to location of the resource group. + type: str short_hostname: description: - Name assigned internally to the host. On a Linux VM this is the name returned by the C(hostname) command. - When creating a VM, short_hostname defaults to I(name). + type: str vm_size: description: - A valid Azure VM size value. For example, C(Standard_D4). - Choices vary depending on the subscription and location. Check your subscription for available choices. - Required when creating a VM. + type: str priority: description: - Priority of the VM. - C(None) is the equivalent of Regular VM. + type: str choices: - None - Spot @@ -103,6 +111,7 @@ description: - Specifies the eviction policy for the Azure Spot virtual machine. - Requires priority to be set to Spot. + type: str choices: - Deallocate - Delete @@ -112,15 +121,18 @@ - This price is in US Dollars. - C(-1) indicates default price to be up-to on-demand. - Requires priority to be set to Spot. + type: float default: -1 admin_username: description: - Admin username used to access the VM after it is created. - Required when creating a VM. + type: str admin_password: description: - Password for the admin username. - Not required if the I(os_type=Linux) and SSH password authentication is disabled by setting I(ssh_password_enabled=false). + type: str ssh_password_enabled: description: - Whether to enable or disable SSH passwords. @@ -133,16 +145,19 @@ - Accepts a list of dicts where each dictionary contains two keys, I(path) and I(key_data). - Set I(path) to the default location of the authorized_keys files. For example, I(path=/home//.ssh/authorized_keys). - Set I(key_data) to the actual value of the public key. + type: list + elements: dict image: description: - The image used to build the VM. - For custom images, the name of the image. To narrow the search to a specific resource group, a dict with the keys I(name) and I(resource_group). - For Marketplace images, a dict with the keys I(publisher), I(offer), I(sku), and I(version). - Set I(version=latest) to get the most recent version of a given image. - required: true + type: raw availability_set: description: - Name or ID of an existing availability set to add the VM to. The I(availability_set) should be in the same resource group as VM. + type: str proximity_placement_group: description: - The name or ID of the proximity placement group the VM should be associated with. @@ -164,6 +179,7 @@ description: - Name of a storage account that supports creation of VHD blobs. - If not specified for a new VM, a new storage account named 01 will be created using storage type C(Standard_LRS). + type: str aliases: - storage_account storage_container_name: @@ -171,6 +187,7 @@ - Name of the container to use within the storage account to store VHD blobs. - If not specified, a default container will be created. default: vhds + type: str aliases: - storage_container storage_blob_name: @@ -178,6 +195,7 @@ - Name of the storage blob used to hold the OS disk image of the VM. - Must end with '.vhd'. - If not specified, defaults to the VM name + '.vhd'. + type: str aliases: - storage_blob managed_disk_type: @@ -185,6 +203,7 @@ - Managed OS disk type. - Create OS disk with managed disk if defined. - If not defined, the OS disk will be created with virtual hard disk (VHD). + type: str choices: - Standard_LRS - StandardSSD_LRS @@ -195,9 +214,11 @@ os_disk_name: description: - OS disk name. + type: str os_disk_caching: description: - Type of OS disk caching. + type: str choices: - ReadOnly - ReadWrite @@ -206,9 +227,11 @@ os_disk_size_gb: description: - Size of OS disk in GB. + type: int os_type: description: - Base type of operating system. + type: str choices: - Windows - Linux @@ -222,22 +245,27 @@ description: - Describes list of data disks. - Use M(azure.azcollection.azure_rm_mangeddisk) to manage the specific disk. + type: list + elements: dict suboptions: lun: description: - The logical unit number for data disk. - This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. required: true + type: int disk_size_gb: description: - The initial disk size in GB for blank data disks. - This value cannot be larger than C(1023) GB. - Size can be changed only when the virtual machine is deallocated. - Not sure when I(managed_disk_id) defined. + type: int managed_disk_type: description: - Managed data disk type. - Only used when OS disk created with managed disk. + type: str choices: - Standard_LRS - StandardSSD_LRS @@ -252,6 +280,7 @@ - Only used when OS disk created with virtual hard disk (VHD). - Used when I(managed_disk_type) not defined. - Cannot be updated unless I(lun) updated. + type: str storage_container_name: description: - Name of the container to use within the storage account to store VHD blobs. @@ -259,6 +288,7 @@ - Only used when OS disk created with virtual hard disk (VHD). - Used when I(managed_disk_type) not defined. - Cannot be updated unless I(lun) updated. + type: str default: vhds storage_blob_name: description: @@ -268,19 +298,21 @@ - Only used when OS disk created with virtual hard disk (VHD). - Used when I(managed_disk_type) not defined. - Cannot be updated unless I(lun) updated. + type: str caching: description: - Type of data disk caching. + type: str choices: - ReadOnly - ReadWrite - default: ReadOnly public_ip_allocation_method: description: - Allocation method for the public IP of the VM. - Used only if a network interface is not specified. - When set to C(Dynamic), the public IP address may change any time the VM is rebooted or power cycled. - The C(Disabled) choice was added in Ansible 2.6. + type: str choices: - Dynamic - Static @@ -293,6 +325,8 @@ - List of ports to open in the security group for the VM, when a security group and network interface are created with a VM. - For Linux hosts, defaults to allowing inbound TCP connections to port 22. - For Windows hosts, defaults to opening ports 3389 and 5986. + type: list + elements: str network_interface_names: description: - Network interface names to add to the VM. @@ -301,16 +335,19 @@ - If a network interface name is not provided when the VM is created, a default network interface will be created. - To create a new network interface, at least one Virtual Network with one Subnet must exist. type: list + elements: raw aliases: - network_interfaces virtual_network_resource_group: description: - The resource group to use when creating a VM with another resource group's virtual network. + type: str virtual_network_name: description: - The virtual network to use when creating a VM. - If not specified, a new network interface will be created and assigned to the first virtual network found in the resource group. - Use with I(virtual_network_resource_group) to place the virtual network in another resource group. + type: str aliases: - virtual_network subnet_name: @@ -318,6 +355,7 @@ - Subnet for the VM. - Defaults to the first subnet found in the virtual network or the subnet of the I(network_interface_name), if provided. - If the subnet is in another resource group, specify the resource group with I(virtual_network_resource_group). + type: str aliases: - subnet created_nsg: @@ -334,6 +372,7 @@ - To remove only specific resources, set to C(network_interfaces), C(virtual_storage) or C(public_ips). - Any other input will be ignored. type: list + elements: str default: ['all'] plan: description: @@ -344,17 +383,21 @@ description: - Billing plan name. required: true + type: str product: description: - Product name. required: true + type: str publisher: description: - Publisher offering the plan. required: true + type: str promotion_code: description: - Optional promotion code. + type: str accept_terms: description: - Accept terms for Marketplace images that require it. @@ -366,11 +409,13 @@ description: - A list of Availability Zones for your VM. type: list + elements: str license_type: description: - On-premise license for the image or disk. - Only used for images that contain the Windows Server operating system. - To remove all license type settings, set to the string C(None). + type: str choices: - Windows_Server - Windows_Client @@ -403,6 +448,7 @@ - List of the user assigned identities IDs associated to the VM required: false type: list + elements: str default: [] append: description: @@ -413,24 +459,30 @@ winrm: description: - List of Windows Remote Management configurations of the VM. + type: list + elements: dict suboptions: protocol: description: - The protocol of the winrm listener. required: true + type: str choices: - http - https source_vault: description: - The relative URL of the Key Vault containing the certificate. + type: str certificate_url: description: - The URL of a certificate that has been uploaded to Key Vault as a secret. + type: str certificate_store: description: - The certificate store on the VM to which the certificate should be added. - The specified certificate store is implicitly in the LocalMachine account. + type: str boot_diagnostics: type: dict description: @@ -465,6 +517,7 @@ linux_config: description: - Specifies the Linux operating system settings on the virtual machine. + type: dict suboptions: disable_password_authentication: description: @@ -473,6 +526,7 @@ windows_config: description: - Specifies Windows operating system settings on the virtual machine. + type: dict suboptions: provision_vm_agent: description: @@ -997,7 +1051,7 @@ def extract_names_from_blob_uri(blob_uri, storage_suffix): ) user_assigned_identities_spec = dict( - id=dict(type='list', default=[]), + id=dict(type='list', default=[], elements='str'), append=dict(type='bool', default=True) ) @@ -1025,7 +1079,7 @@ def __init__(self): admin_username=dict(type='str'), admin_password=dict(type='str', no_log=True), ssh_password_enabled=dict(type='bool', default=True, no_log=False), - ssh_public_keys=dict(type='list'), + ssh_public_keys=dict(type='list', elements='dict'), image=dict(type='raw'), availability_set=dict(type='str'), storage_account_name=dict(type='str', aliases=['storage_account']), @@ -1039,9 +1093,9 @@ def __init__(self): os_type=dict(type='str', choices=['Linux', 'Windows'], default='Linux'), public_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static', 'Disabled'], default='Static', aliases=['public_ip_allocation']), - open_ports=dict(type='list'), + open_ports=dict(type='list', elements='str'), network_interface_names=dict(type='list', aliases=['network_interfaces'], elements='raw'), - remove_on_absent=dict(type='list', default=['all']), + remove_on_absent=dict(type='list', default=['all'], elements='str'), virtual_network_resource_group=dict(type='str'), virtual_network_name=dict(type='str', aliases=['virtual_network']), subnet_name=dict(type='str', aliases=['subnet']), @@ -1051,13 +1105,35 @@ def __init__(self): started=dict(type='bool'), force=dict(type='bool', default=False), generalized=dict(type='bool', default=False), - data_disks=dict(type='list'), + data_disks=dict( + type='list', + elements='dict', + options=dict( + lun=dict(type='int', required=True), + disk_size_gb=dict(type='int'), + managed_disk_type=dict(type='str', choices=['Standard_LRS', 'StandardSSD_LRS', + 'StandardSSD_ZRS', 'Premium_LRS', 'Premium_ZRS', 'UltraSSD_LRS']), + storage_account_name=dict(type='str'), + storage_container_name=dict(type='str', default='vhds'), + storage_blob_name=dict(type='str'), + caching=dict(type='str', choices=['ReadOnly', 'ReadOnly']) + ) + ), plan=dict(type='dict'), - zones=dict(type='list'), + zones=dict(type='list', elements='str'), accept_terms=dict(type='bool', default=False), license_type=dict(type='str', choices=['Windows_Server', 'Windows_Client', 'RHEL_BYOS', 'SLES_BYOS']), vm_identity=dict(type='dict', options=managed_identity_spec), - winrm=dict(type='list'), + winrm=dict( + type='list', + elements='dict', + options=dict( + protocol=dict(type='str', required=True, choices=['http', 'https']), + source_vault=dict(type='str'), + certificate_url=dict(type='str'), + certificate_store=dict(type='str') + ) + ), boot_diagnostics=dict( type='dict', options=dict( diff --git a/plugins/modules/azure_rm_virtualmachine_info.py b/plugins/modules/azure_rm_virtualmachine_info.py index 4bc757b3a..414e90734 100644 --- a/plugins/modules/azure_rm_virtualmachine_info.py +++ b/plugins/modules/azure_rm_virtualmachine_info.py @@ -25,9 +25,11 @@ resource_group: description: - Name of the resource group containing the virtual machines (required when filtering by vm name). + type: str name: description: - Name of the virtual machine. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_virtualmachineimage_info.py b/plugins/modules/azure_rm_virtualmachineimage_info.py index fc18f2dd2..924814330 100644 --- a/plugins/modules/azure_rm_virtualmachineimage_info.py +++ b/plugins/modules/azure_rm_virtualmachineimage_info.py @@ -26,18 +26,23 @@ - Azure location value, for example C(westus), C(eastus), C(eastus2), C(northcentralus), etc. - Supplying only a location value will yield a list of available publishers for the location. required: true + type: str publisher: description: - Name of an image publisher. List image offerings associated with a particular publisher. + type: str offer: description: - Name of an image offering. Combine with SKU to see a list of available image versions. + type: str sku: description: - Image offering SKU. Combine with offer to see a list of available versions. + type: str version: description: - Specific version number of an image. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_virtualmachinescaleset.py b/plugins/modules/azure_rm_virtualmachinescaleset.py index f895c78ee..c07ae4d96 100644 --- a/plugins/modules/azure_rm_virtualmachinescaleset.py +++ b/plugins/modules/azure_rm_virtualmachinescaleset.py @@ -25,10 +25,12 @@ description: - Name of the resource group containing the virtual machine scale set. required: true + type: str name: description: - Name of the virtual machine. required: true + type: str state: description: - Assert the state of the virtual machine scale set. @@ -36,26 +38,32 @@ of the existing machine does not match, the machine will be updated. - State C(absent) will remove the virtual machine scale set. default: present + type: str choices: - absent - present location: description: - Valid Azure location. Defaults to location of the resource group. + type: str short_hostname: description: - Short host name. + type: str vm_size: description: - A valid Azure VM size value. For example, C(Standard_D4). - The list of choices varies depending on the subscription and location. Check your subscription for available choices. + type: str capacity: description: - Capacity of VMSS. default: 1 + type: int tier: description: - SKU Tier. + type: str choices: - Basic - Standard @@ -63,6 +71,7 @@ description: - Upgrade policy. - Required when creating the Azure virtual machine scale sets. + type: str choices: - Manual - Automatic @@ -70,6 +79,7 @@ description: - Priority of the VMSS. - C(None) is the equivalent of Regular VM. + type: str choices: - None - Spot @@ -77,6 +87,7 @@ description: - Specifies the eviction policy for the Azure Spot virtual machine. - Requires priority to be set to Spot. + type: str choices: - Deallocate - Delete @@ -87,13 +98,16 @@ - C(-1) indicates default price to be up-to on-demand. - Requires priority to be set to Spot. default: -1 + type: float admin_username: description: - Admin username used to access the host after it is created. Required when creating a VM. + type: str admin_password: description: - Password for the admin username. - Not required if the os_type is Linux and SSH password authentication is disabled by setting I(ssh_password_enabled=false). + type: str ssh_password_enabled: description: - When the os_type is Linux, setting I(ssh_password_enabled=false) will disable SSH password authentication and require use of SSH keys. @@ -106,6 +120,8 @@ - Set the C(path) to the default location of the authorized_keys files. - On an Enterprise Linux host, for example, the I(path=/home//.ssh/authorized_keys). Set C(key_data) to the actual value of the public key. + type: list + elements: dict image: description: - Specifies the image used to build the VM. @@ -115,10 +131,11 @@ - If a dict with the keys I(name) and I(resource_group), the image is sourced from a custom image based on the I(name) and I(resource_group) set. Note that the key I(resource_group) is optional and if omitted, all images in the subscription will be searched for by I(name). - Custom image support was added in Ansible 2.5. - required: true + type: raw os_disk_caching: description: - Type of OS disk caching. + type: str choices: - ReadOnly - ReadWrite @@ -133,6 +150,7 @@ os_type: description: - Base type of operating system. + type: str choices: - Windows - Linux @@ -145,6 +163,7 @@ managed_disk_type: description: - Managed disk type. + type: str choices: - Standard_LRS - Premium_LRS @@ -155,17 +174,22 @@ data_disks: description: - Describes list of data disks. + type: list + elements: dict suboptions: lun: description: - The logical unit number for data disk. - default: 0 + default: '0' + type: str disk_size_gb: description: - The initial disk size in GB for blank data disks. + type: int managed_disk_type: description: - Managed data disk type. + type: str choices: - Standard_LRS - Premium_LRS @@ -176,6 +200,7 @@ caching: description: - Type of data disk caching. + type: str choices: - ReadOnly - ReadWrite @@ -185,14 +210,17 @@ - When creating a virtual machine, if a specific virtual network from another resource group should be used. - Use this parameter to specify the resource group to use. + type: str virtual_network_name: description: - Virtual Network name. aliases: - virtual_network + type: str subnet_name: description: - Subnet name. + type: str aliases: - subnet public_ip_per_vm: @@ -203,14 +231,18 @@ load_balancer: description: - Load balancer name. + type: str application_gateway: description: - Application gateway name. + type: str remove_on_absent: description: - When removing a VM using I(state=absent), also remove associated resources. - It can be C(all) or a list with any of the following ['network_interfaces', 'virtual_storage', 'public_ips']. - Any other input will be ignored. + type: list + elements: str default: ['all'] enable_accelerated_networking: description: @@ -224,6 +256,7 @@ - It can be a dict which contains I(name) and I(resource_group) of the security group. aliases: - security_group_name + type: raw overprovision: description: - Specifies whether the Virtual Machine Scale Set should be overprovisioned. @@ -242,21 +275,26 @@ description: - Billing plan name. required: true + type: str product: description: - Product name. required: true + type: str publisher: description: - Publisher offering the plan. required: true + type: str promotion_code: description: - Optional promotion code. + type: str zones: description: - A list of Availability Zones for your virtual machine scale set. type: list + elements: str custom_data: description: - Data which is made available to the virtual machine and used by e.g., C(cloud-init). @@ -264,9 +302,11 @@ - If the image you are attempting to use is not listed in U(https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview), follow these steps U(https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cloudinit-prepare-custom-image). + type: str scale_in_policy: description: - define the order in which vmss instances are scaled-in + type: str choices: - Default - NewestVM @@ -275,6 +315,7 @@ description: - timeout time for termination notification event - in range between 5 and 15 + type: int platform_fault_domain_count: description: - Fault Domain count for each placement group. @@ -643,25 +684,37 @@ def __init__(self): admin_username=dict(type='str'), admin_password=dict(type='str', no_log=True), ssh_password_enabled=dict(type='bool', default=True), - ssh_public_keys=dict(type='list'), + ssh_public_keys=dict(type='list', elements='dict'), image=dict(type='raw'), os_disk_caching=dict(type='str', aliases=['disk_caching'], choices=['ReadOnly', 'ReadWrite'], default='ReadOnly'), os_type=dict(type='str', choices=['Linux', 'Windows'], default='Linux'), managed_disk_type=dict(type='str', choices=['Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS', 'Premium_ZRS', 'StandardSSD_ZRS']), - data_disks=dict(type='list'), + data_disks=dict( + type='list', + elements='dict', + options=dict( + lun=dict(type='str', default='0'), + disk_size_gb=dict(type='int'), + caching=dict(type='str', default='ReadOnly', choices=['ReadOnly', 'ReadWrite']), + managed_disk_type=dict( + type='str', + choices=['Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS', 'Premium_ZRS', 'StandardSSD_ZRS'] + ) + ) + ), subnet_name=dict(type='str', aliases=['subnet']), public_ip_per_vm=dict(type='bool', default=False), load_balancer=dict(type='str'), application_gateway=dict(type='str'), virtual_network_resource_group=dict(type='str'), virtual_network_name=dict(type='str', aliases=['virtual_network']), - remove_on_absent=dict(type='list', default=['all']), + remove_on_absent=dict(type='list', default=['all'], elements='str'), enable_accelerated_networking=dict(type='bool'), security_group=dict(type='raw', aliases=['security_group_name']), overprovision=dict(type='bool'), single_placement_group=dict(type='bool', default=False), - zones=dict(type='list'), + zones=dict(type='list', elements='str'), custom_data=dict(type='str'), plan=dict(type='dict', options=dict(publisher=dict(type='str', required=True), product=dict(type='str', required=True), name=dict(type='str', required=True), diff --git a/plugins/modules/azure_rm_virtualmachinescaleset_info.py b/plugins/modules/azure_rm_virtualmachinescaleset_info.py index f630a47ae..f4bbff712 100644 --- a/plugins/modules/azure_rm_virtualmachinescaleset_info.py +++ b/plugins/modules/azure_rm_virtualmachinescaleset_info.py @@ -23,9 +23,11 @@ name: description: - Limit results to a specific virtual machine scale set. + type: str resource_group: description: - The resource group to search for the desired virtual machine scale set. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. @@ -39,6 +41,7 @@ - In Ansible 2.5 and lower facts are always returned in raw format. - Please note that this option will be deprecated in 2.10 when curated format will become the only supported format. default: 'raw' + type: str choices: - 'curated' - 'raw' diff --git a/plugins/modules/azure_rm_virtualmachinescalesetextension.py b/plugins/modules/azure_rm_virtualmachinescalesetextension.py index eec58bcf1..925b50a6b 100644 --- a/plugins/modules/azure_rm_virtualmachinescalesetextension.py +++ b/plugins/modules/azure_rm_virtualmachinescalesetextension.py @@ -24,35 +24,45 @@ description: - Name of a resource group where the VMSS extension exists or will be created. required: true + type: str vmss_name: description: - The name of the virtual machine where the extension should be create or updated. required: true + type: str name: description: - Name of the VMSS extension. + type: str + required: true location: description: - Valid Azure location. Defaults to location of the resource group. + type: str publisher: description: - The name of the extension handler publisher. + type: str type: description: - The type of the extension handler. + type: str type_handler_version: description: - The type version of the extension handler. + type: str settings: description: - A dictionary containing extension settings. - Settings depend on extension type. - Refer to U(https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/overview) for more information. + type: dict protected_settings: description: - A dictionary containing protected extension settings. - Settings depend on extension type. - Refer to U(https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/overview) for more information. + type: dict auto_upgrade_minor_version: description: - Whether the extension handler should be automatically upgraded across minor versions. @@ -62,6 +72,7 @@ - Assert the state of the extension. - Use C(present) to create or update an extension and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_virtualmachinescalesetextension_info.py b/plugins/modules/azure_rm_virtualmachinescalesetextension_info.py index eccd18e6d..0405b13aa 100644 --- a/plugins/modules/azure_rm_virtualmachinescalesetextension_info.py +++ b/plugins/modules/azure_rm_virtualmachinescalesetextension_info.py @@ -21,13 +21,16 @@ description: - The name of the resource group. required: True + type: str vmss_name: description: - The name of VMSS containing the extension. required: True + type: str name: description: - The name of the virtual machine extension. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_virtualmachinescalesetinstance.py b/plugins/modules/azure_rm_virtualmachinescalesetinstance.py index 881fac988..278faaa42 100644 --- a/plugins/modules/azure_rm_virtualmachinescalesetinstance.py +++ b/plugins/modules/azure_rm_virtualmachinescalesetinstance.py @@ -21,14 +21,17 @@ description: - The name of the resource group. required: True + type: str vmss_name: description: - The name of the VM scale set. required: True + type: str instance_id: description: - The instance ID of the virtual machine. - required: True + type: str + required: true latest_model: type: bool description: @@ -36,6 +39,7 @@ power_state: description: - Use this option to change power state of the instance. + type: str choices: - 'running' - 'stopped' @@ -52,6 +56,7 @@ description: - State of the VMSS instance. Use C(present) to update an instance and C(absent) to delete an instance. default: present + type: str choices: - absent - present @@ -118,7 +123,8 @@ def __init__(self): required=True ), instance_id=dict( - type='str' + type='str', + required=True ), latest_model=dict( type='bool' diff --git a/plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py b/plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py index d22790839..1cfa14e2e 100644 --- a/plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py +++ b/plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py @@ -21,13 +21,16 @@ description: - The name of the resource group. required: True + type: str vmss_name: description: - The name of the VM scale set. required: True + type: str instance_id: description: - The instance ID of the virtual machine. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_virtualnetwork.py b/plugins/modules/azure_rm_virtualnetwork.py index 96c891669..8da52dfdd 100644 --- a/plugins/modules/azure_rm_virtualnetwork.py +++ b/plugins/modules/azure_rm_virtualnetwork.py @@ -22,6 +22,7 @@ description: - Name of resource group. required: true + type: str address_prefixes_cidr: aliases: - address_prefixes @@ -41,10 +42,12 @@ location: description: - Valid Azure location. Defaults to location of the resource group. + type: str name: description: - Name of the virtual network. required: true + type: str purge_address_prefixes: description: - Use with I(state=present) to remove any existing I(address_prefixes). @@ -65,6 +68,7 @@ description: - State of the virtual network. Use C(present) to create or update and C(absent) to delete. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_virtualnetwork_info.py b/plugins/modules/azure_rm_virtualnetwork_info.py index 43bfb5314..dc396a59c 100644 --- a/plugins/modules/azure_rm_virtualnetwork_info.py +++ b/plugins/modules/azure_rm_virtualnetwork_info.py @@ -24,9 +24,11 @@ name: description: - Only show results for a specific virtual network. + type: str resource_group: description: - Limit results by resource group. Required when filtering by name. + type: str tags: description: - Limit results by providing a list of tags. Format tags as 'key' or 'key:value'. diff --git a/plugins/modules/azure_rm_virtualnetworkgateway.py b/plugins/modules/azure_rm_virtualnetworkgateway.py index 76861a268..35b0a7f55 100644 --- a/plugins/modules/azure_rm_virtualnetworkgateway.py +++ b/plugins/modules/azure_rm_virtualnetworkgateway.py @@ -22,14 +22,17 @@ description: - Name of a resource group where VPN Gateway exists or will be created. required: true + type: str name: description: - Name of VPN Gateway. required: true + type: str state: description: - State of the VPN Gateway. Use C(present) to create or update VPN gateway and C(absent) to delete VPN gateway. default: present + type: str choices: - absent - present @@ -37,7 +40,7 @@ location: description: - Valid Azure location. Defaults to location of the resource group. - required: false + type: str virtual_network: description: - An existing virtual network with which the VPN Gateway will be associated. @@ -46,35 +49,42 @@ - Must be in the same resource group as VPN gateway when specified by name. - Can be the resource ID of the virtual network. - Can be a dict which contains I(name) and I(resource_group) of the virtual network. + type: raw + required: true aliases: - virtual_network_name - required: true ip_configurations: description: - List of IP configurations. + type: list + elements: dict suboptions: name: description: - Name of the IP configuration. + type: str required: true private_ip_allocation_method: description: - Private IP allocation method. + type: str choices: - - dynamic - - static - default: dynamic + - Dynamic + - Static + default: Dynamic public_ip_address_name: description: - Name of the public IP address. Use 'None' to disable the public IP address. + type: str subnet: description: - ID of the gateway subnet for VPN. - default: GatewaySubnet + type: str gateway_type: description: - The type of this virtual network gateway. default: vpn + type: str choices: - vpn - express_route @@ -82,6 +92,7 @@ description: - The type of this virtual private network. default: route_based + type: str choices: - route_based - policy_based @@ -89,10 +100,12 @@ description: - Whether BGP is enabled for this virtual network gateway or not. default: false + type: bool sku: description: - The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. default: VpnGw1 + type: str choices: - VpnGw1 - VpnGw2 @@ -104,6 +117,7 @@ description: - The generation for this VirtualNetworkGateway. Must be C(None) if C(gateway_type) is not VPN. default: Generation1 + type: str choices: - None - Generation1 @@ -111,10 +125,12 @@ bgp_settings: description: - Virtual network gateway's BGP speaker settings. + type: dict suboptions: asn: description: - The BGP speaker's ASN. + type: int required: True extends_documentation_fragment: @@ -257,9 +273,9 @@ def __init__(self): vpn_type=dict(type='str', default='route_based', choices=['route_based', 'policy_based']), vpn_gateway_generation=dict(type='str', default='Generation1', choices=['None', 'Generation1', 'Generation2']), enable_bgp=dict(type='bool', default=False), - sku=dict(default='VpnGw1', choices=['VpnGw1', 'VpnGw2', 'VpnGw3', 'Standard', 'Basic', 'HighPerformance']), + sku=dict(type='str', default='VpnGw1', choices=['VpnGw1', 'VpnGw2', 'VpnGw3', 'Standard', 'Basic', 'HighPerformance']), bgp_settings=dict(type='dict', options=bgp_spec), - virtual_network=dict(type='raw', aliases=['virtual_network_name']) + virtual_network=dict(type='raw', aliases=['virtual_network_name'], required=True) ) self.resource_group = None diff --git a/plugins/modules/azure_rm_virtualnetworkpeering.py b/plugins/modules/azure_rm_virtualnetworkpeering.py index 42ecd7d74..c6739e41e 100644 --- a/plugins/modules/azure_rm_virtualnetworkpeering.py +++ b/plugins/modules/azure_rm_virtualnetworkpeering.py @@ -20,13 +20,16 @@ description: - Name of a resource group where the vnet exists. required: true + type: str name: description: - Name of the virtual network peering. required: true + type: str virtual_network: description: - Name or resource ID of the virtual network to be peered. + type: raw required: true remote_virtual_network: description: @@ -35,6 +38,7 @@ - It can be remote virtual network resource ID. - It can be a dict which contains I(name) and I(resource_group) of remote virtual network. - Required when creating. + type: raw allow_virtual_network_access: description: - Allows VMs in the remote VNet to access all VMs in the local VNet. @@ -60,6 +64,7 @@ description: - State of the virtual network peering. Use C(present) to create or update a peering and C(absent) to delete it. default: present + type: str choices: - absent - present @@ -177,7 +182,8 @@ def __init__(self): required=True ), virtual_network=dict( - type='raw' + type='raw', + required=True ), remote_virtual_network=dict( type='raw' diff --git a/plugins/modules/azure_rm_virtualnetworkpeering_info.py b/plugins/modules/azure_rm_virtualnetworkpeering_info.py index 87563f01a..4054d6b78 100644 --- a/plugins/modules/azure_rm_virtualnetworkpeering_info.py +++ b/plugins/modules/azure_rm_virtualnetworkpeering_info.py @@ -20,13 +20,16 @@ description: - Name of a resource group where the vnet exists. required: True + type: str virtual_network: description: - Name or resource ID of a virtual network. required: True + type: raw name: description: - Name of the virtual network peering. + type: str extends_documentation_fragment: - azure.azcollection.azure diff --git a/plugins/modules/azure_rm_virtualwan.py b/plugins/modules/azure_rm_virtualwan.py index 78a8e7534..853de9585 100644 --- a/plugins/modules/azure_rm_virtualwan.py +++ b/plugins/modules/azure_rm_virtualwan.py @@ -48,6 +48,7 @@ description: - List of VirtualHubs in the VirtualWAN. type: list + elements: dict suboptions: id: description: @@ -57,11 +58,12 @@ description: - List of VpnSites in the VirtualWAN. type: list + elements: dict suboptions: id: - description: - - The vpn site resource ID. - type: str + description: + - The vpn site resource ID. + type: str allow_branch_to_branch_traffic: description: - True if branch to branch traffic is allowed. @@ -82,6 +84,7 @@ - Assert the state of the VirtualWan. - Use C(present) to create or update an VirtualWan and C(absent) to delete it. default: present + type: str choices: - absent - present @@ -254,6 +257,7 @@ def __init__(self): ), virtual_hubs=dict( type='list', + elements='dict', updatable=False, disposition='/virtual_hubs', options=dict( @@ -265,6 +269,7 @@ def __init__(self): ), vpn_sites=dict( type='list', + elements='dict', updatable=False, disposition='/vpn_sites', options=dict( diff --git a/plugins/modules/azure_rm_vmbackuppolicy.py b/plugins/modules/azure_rm_vmbackuppolicy.py index 8101d99e3..5cd10c978 100644 --- a/plugins/modules/azure_rm_vmbackuppolicy.py +++ b/plugins/modules/azure_rm_vmbackuppolicy.py @@ -42,18 +42,21 @@ required: false default: ['Monday'] type: list + elements: str weeks: description: - List of weeks of month. required: false default: ['First'] type: list + elements: str months: description: - List of months of year of yearly retention policy. required: false default: ['January'] type: list + elements: str count: description: - Count of duration types. Retention duration is obtained by the counting the duration type Count times. @@ -235,14 +238,17 @@ def __init__(self): ), weekdays=dict( type='list', + elements='str', default=['Monday'] ), weeks=dict( type='list', + elements='str', default=['First'] ), months=dict( type='list', + elements='str', default=['January'] ), count=dict( diff --git a/plugins/modules/azure_rm_webapp.py b/plugins/modules/azure_rm_webapp.py index a57dc621d..a15a944a4 100644 --- a/plugins/modules/azure_rm_webapp.py +++ b/plugins/modules/azure_rm_webapp.py @@ -21,14 +21,17 @@ description: - Name of the resource group to which the resource belongs. required: True + type: str name: description: - Unique name of the app to create or update. To create or update a deployment slot, use the {slot} parameter. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str plan: description: @@ -42,11 +45,14 @@ - C(sku), SKU of app service plan, allowed values listed on U(https://azure.microsoft.com/en-us/pricing/details/app-service/linux/). - C(is_linux), whether or not the app service plan is Linux. defaults to C(False). - C(number_of_workers), number of workers for app service plan. + type: raw frameworks: description: - Set of run time framework settings. Each setting is a dictionary. - See U(https://docs.microsoft.com/en-us/azure/app-service/app-service-web-overview) for more info. + type: list + elements: dict suboptions: name: description: @@ -57,6 +63,8 @@ - Linux web apps support C(java), C(ruby), C(php), C(python), C(dotnetcore), and C(node) from June 2018. - Linux web apps support only one framework. - Java framework is mutually exclusive with others. + type: str + required: true choices: - java - net_framework @@ -75,42 +83,56 @@ - C(dotnetcore) supported value sample, C(1.0), C(1.1), C(1.2). - C(ruby) supported value sample, C(2.3). - C(java) supported value sample, C(1.9) for Windows web app. C(1.8) for Linux web app. + type: str + required: true settings: description: - List of settings of the framework. + type: dict suboptions: java_container: description: - Name of Java container. - Supported only when I(frameworks=java). Sample values C(Tomcat), C(Jetty). + type: str + required: True java_container_version: description: - Version of Java container. - Supported only when I(frameworks=java). - Sample values for C(Tomcat), C(8.0), C(8.5), C(9.0). For C(Jetty,), C(9.1), C(9.3). + type: str + required: True container_settings: description: - Web app container settings. + type: dict suboptions: name: description: - Name of the container, for example C(imagename:tag). - To create a multi-container app, the name should be 'COMPOSE|' or 'KUBE|' followed by base64 encoded configuration. + type: str + required: True registry_server_url: description: - Container registry server URL, for example C(mydockerregistry.io). + type: str registry_server_user: description: - The container registry server user name. + type: str registry_server_password: description: - The container registry server password. + type: str scm_type: description: - Repository type of deployment source, for example C(LocalGit), C(GitHub). - List of supported values maintained at U(https://docs.microsoft.com/en-us/rest/api/appservice/webapps/createorupdate#scmtype). + type: str always_on: description: @@ -138,18 +160,22 @@ deployment_source: description: - Deployment source for git. + type: dict suboptions: url: description: - Repository url of deployment source. + type: str branch: description: - The branch name of the repository. + type: str startup_file: description: - The web's startup file. - Used only for Linux web apps. + type: str client_affinity_enabled: description: @@ -165,6 +191,7 @@ app_settings: description: - Configure web app application settings. Suboptions are in key value pair format. + type: dict purge_app_settings: description: @@ -187,6 +214,7 @@ - State of the Web App. - Use C(present) to create or update a Web App and C(absent) to delete it. default: present + type: str choices: - absent - present diff --git a/plugins/modules/azure_rm_webapp_info.py b/plugins/modules/azure_rm_webapp_info.py index 0478cac4b..a320e8867 100644 --- a/plugins/modules/azure_rm_webapp_info.py +++ b/plugins/modules/azure_rm_webapp_info.py @@ -23,9 +23,11 @@ name: description: - Only show results for a specific web app. + type: str resource_group: description: - Limit results by resource group. + type: str return_publish_profile: description: - Indicate whether to return publishing profile of the web app. diff --git a/plugins/modules/azure_rm_webappslot.py b/plugins/modules/azure_rm_webappslot.py index e353b8c72..aca8f8bc8 100644 --- a/plugins/modules/azure_rm_webappslot.py +++ b/plugins/modules/azure_rm_webappslot.py @@ -21,28 +21,35 @@ description: - Name of the resource group to which the resource belongs. required: True + type: str name: description: - Unique name of the deployment slot to create or update. required: True + type: str webapp_name: description: - Web app name which this deployment slot belongs to. required: True + type: str location: description: - Resource location. If not set, location from the resource group will be used as default. + type: str configuration_source: description: - Source slot to clone configurations from when creating slot. Use webapp's name to refer to the production slot. + type: str auto_swap_slot_name: description: - Used to configure target slot name to auto swap, or disable auto swap. - Set it target slot name to auto swap. - Set it to False to disable auto slot swap. + type: raw swap: description: - Swap deployment slots of a web app. + type: dict suboptions: action: description: @@ -50,6 +57,7 @@ - C(preview) is to apply target slot settings on source slot first. - C(swap) is to complete swapping. - C(reset) is to reset the swap. + type: str choices: - preview - swap @@ -58,6 +66,7 @@ target_slot: description: - Name of target slot to swap. If set to None, then swap with production slot. + type: str preserve_vnet: description: - C(True) to preserve virtual network to the slot during swap. Otherwise C(False). @@ -67,6 +76,8 @@ description: - Set of run time framework settings. Each setting is a dictionary. - See U(https://docs.microsoft.com/en-us/azure/app-service/app-service-web-overview) for more info. + type: list + elements: dict suboptions: name: description: @@ -77,6 +88,8 @@ - Linux web apps support C(java), C(ruby), C(php), C(dotnetcore), and C(node) from June 2018. - Linux web apps support only one framework. - Java framework is mutually exclusive with others. + type: str + required: true choices: - java - net_framework @@ -95,40 +108,55 @@ - C(dotnetcore) supported value sample, C(1.0), C(1.1), C(1.2). - C(ruby) supported value sample, 2.3. - C(java) supported value sample, C(1.9) for Windows web app. C(1.8) for Linux web app. + type: str + required: true settings: description: - List of settings of the framework. + type: dict suboptions: java_container: description: - Name of Java container. This is supported by specific framework C(java) onlys, for example C(Tomcat), C(Jetty). + type: str + required: true java_container_version: description: - Version of Java container. This is supported by specific framework C(java) only. - For C(Tomcat), for example C(8.0), C(8.5), C(9.0). For C(Jetty), for example C(9.1), C(9.3). + type: str + required: true container_settings: description: - Web app slot container settings. + type: dict suboptions: name: description: - Name of container, for example C(imagename:tag). + type: str + required: true registry_server_url: description: - Container registry server URL, for example C(mydockerregistry.io). + type: str registry_server_user: description: - The container registry server user name. + type: str registry_server_password: description: - The container registry server password. + type: str startup_file: description: - The slot startup file. - This only applies for Linux web app slot. + type: str app_settings: description: - Configure web app slot application settings. Suboptions are in key value pair format. + type: dict purge_app_settings: description: - Purge any existing application settings. Replace slot application settings with app_settings. @@ -137,13 +165,16 @@ deployment_source: description: - Deployment source for git. + type: dict suboptions: url: description: - Repository URL of deployment source. + type: str branch: description: - The branch name of the repository. + type: str app_state: description: - Start/Stop/Restart the slot. @@ -154,13 +185,14 @@ - restarted default: started state: - description: - - State of the Web App deployment slot. - - Use C(present) to create or update a slot and C(absent) to delete it. - default: present - choices: - - absent - - present + description: + - State of the Web App deployment slot. + - Use C(present) to create or update a slot and C(absent) to delete it. + default: present + type: str + choices: + - absent + - present extends_documentation_fragment: - azure.azcollection.azure diff --git a/tests/integration/targets/azure_rm_appgateway/tasks/main.yml b/tests/integration/targets/azure_rm_appgateway/tasks/main.yml index 1367300c7..b1ce124af 100644 --- a/tests/integration/targets/azure_rm_appgateway/tasks/main.yml +++ b/tests/integration/targets/azure_rm_appgateway/tasks/main.yml @@ -97,12 +97,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -179,12 +179,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -346,12 +346,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -427,12 +427,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -512,12 +512,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -607,12 +607,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -690,12 +690,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -794,12 +794,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -877,12 +877,12 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: sample_http_listener name: rule1 - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -982,7 +982,7 @@ http_listener: sample_http_listener name: rule1 url_path_map: path_mappings - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule @@ -1073,7 +1073,7 @@ http_listener: sample_http_listener name: rule1 url_path_map: path_mappings - - rule_type: Basic + - rule_type: basic http_listener: http_listener redirect_configuration: redirect_site_to_https name: http_redirect_rule diff --git a/tests/integration/targets/azure_rm_networkinterface/tasks/main.yml b/tests/integration/targets/azure_rm_networkinterface/tasks/main.yml index 9445f6dd1..181c484c1 100644 --- a/tests/integration/targets/azure_rm_networkinterface/tasks/main.yml +++ b/tests/integration/targets/azure_rm_networkinterface/tasks/main.yml @@ -562,7 +562,7 @@ protocol: http name: http_listener request_routing_rules: - - rule_type: Basic + - rule_type: basic backend_address_pool: test_backend_address_pool backend_http_settings: sample_appgateway_http_settings http_listener: http_listener diff --git a/tests/integration/targets/azure_rm_storageaccount/tasks/main.yml b/tests/integration/targets/azure_rm_storageaccount/tasks/main.yml index 8c738a627..1d2b20d6e 100644 --- a/tests/integration/targets/azure_rm_storageaccount/tasks/main.yml +++ b/tests/integration/targets/azure_rm_storageaccount/tasks/main.yml @@ -45,7 +45,7 @@ - defaults_output.state.id is defined - defaults_output.state.https_only - defaults_output.state.access_tier == None - - defaults_output.state.allow_blob_public_access == true + - defaults_output.state.allow_blob_public_access == false - defaults_output.state.minimum_tls_version == "TLS1_0" - name: Create storage account with static website disabled diff --git a/tests/sanity/ignore-2.13.txt b/tests/sanity/ignore-2.13.txt index 7aabab1ad..44a2ab267 100644 --- a/tests/sanity/ignore-2.13.txt +++ b/tests/sanity/ignore-2.13.txt @@ -1,268 +1,18 @@ -plugins/modules/azure_rm_aks.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aks.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_aks.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_aks.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_aks_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aksversion_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_apimanagement.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_appgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_appgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_applicationsecuritygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_applicationsecuritygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_availabilityset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_datalakestore.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment.py validate-modules:return-syntax-error -plugins/modules/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment_info.py validate-modules:return-syntax-error plugins/modules/azure_rm_dnsrecordset.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_functionapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_gallery.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimage.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_galleryimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimageversion.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_iothubconsumergroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvault.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvaultkey_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_managementgroup.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-missing-type -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_publicipaddress.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_publicipaddress_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resourcegroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resourcegroup_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_registrationdefinition.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_registrationassignment.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_securitygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_securitygroup.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:mutually_exclusive-unknown -plugins/modules/azure_rm_securitygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-missing-type -plugins/modules/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachine_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachineimage_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachinescaleset_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetextension_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_virtualwan.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_webapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webapp.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_webapp_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webappslot.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_autoscale.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_autoscale.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_autoscale.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_autoscale_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlab_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabarmtemplate_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifact_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabartifactsource_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabenvironment.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabenvironment_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabpolicy_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabvirtualmachine_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_loadbalancer.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_loganalyticsworkspace.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbconfiguration_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlconfiguration_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqlconfiguration_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_rediscache_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscachefirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_route.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebusqueue.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebustopicsubscription.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_snapshot.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_snapshot.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_sqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqldatabase_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:invalid-documentation -plugins/modules/azure_rm_trafficmanager.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_trafficmanagerendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualnetworkpeering_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-missing-type -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_vpnsite.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_batchaccount.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_lock_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:undocumented-parameter plugins/modules/azure_rm_azurefirewall.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_adpassword.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adpassword.py validate-modules:import-before-documentation -plugins/modules/azure_rm_adpassword.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_adpassword_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adpassword_info.py validate-modules:import-before-documentation -plugins/modules/azure_rm_adserviceprincipal.py validate-modules:nonexistent-parameter-documented plugins/modules/azure_rm_apimanagementservice.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_vmbackuppolicy.py validate-modules:parameter-list-no-elements plugins/modules/azure_rm_privatednsrecordset.py validate-modules:invalid-ansiblemodule-schema tests/utils/shippable/check_matrix.py replace-urlopen tests/utils/shippable/timing.py shebang diff --git a/tests/sanity/ignore-2.14.txt b/tests/sanity/ignore-2.14.txt index 3cf234e4c..44a2ab267 100644 --- a/tests/sanity/ignore-2.14.txt +++ b/tests/sanity/ignore-2.14.txt @@ -1,265 +1,18 @@ -plugins/modules/azure_rm_aks.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aks.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_aks.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_aks.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_aks_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aksversion_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_apimanagement.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_appgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_appgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_applicationsecuritygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_applicationsecuritygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_availabilityset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_datalakestore.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment.py validate-modules:return-syntax-error -plugins/modules/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment_info.py validate-modules:return-syntax-error plugins/modules/azure_rm_dnsrecordset.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_functionapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_gallery.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimage.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_galleryimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimageversion.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_iothubconsumergroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvault.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvaultkey_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_managementgroup.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-missing-type -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_publicipaddress.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_publicipaddress_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resourcegroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resourcegroup_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_registrationdefinition.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_registrationassignment.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_securitygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_securitygroup.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:mutually_exclusive-unknown -plugins/modules/azure_rm_securitygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-missing-type -plugins/modules/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachine_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachineimage_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachinescaleset_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetextension_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_virtualwan.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_webapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webapp.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_webapp_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webappslot.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_autoscale.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_autoscale.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_autoscale.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_autoscale_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlab_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabarmtemplate_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifact_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabartifactsource_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabenvironment.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabenvironment_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabpolicy_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabvirtualmachine_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_loadbalancer.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_loganalyticsworkspace.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_rediscache_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscachefirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_route.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebusqueue.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebustopicsubscription.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_snapshot.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_snapshot.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_sqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqldatabase_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:invalid-documentation -plugins/modules/azure_rm_trafficmanager.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_trafficmanagerendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualnetworkpeering_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-missing-type -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_vpnsite.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_batchaccount.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_lock_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:undocumented-parameter plugins/modules/azure_rm_azurefirewall.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_adpassword.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adpassword.py validate-modules:import-before-documentation -plugins/modules/azure_rm_adpassword.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_adpassword_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adpassword_info.py validate-modules:import-before-documentation -plugins/modules/azure_rm_adserviceprincipal.py validate-modules:nonexistent-parameter-documented plugins/modules/azure_rm_apimanagementservice.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_vmbackuppolicy.py validate-modules:parameter-list-no-elements plugins/modules/azure_rm_privatednsrecordset.py validate-modules:invalid-ansiblemodule-schema tests/utils/shippable/check_matrix.py replace-urlopen tests/utils/shippable/timing.py shebang diff --git a/tests/sanity/ignore-2.15.txt b/tests/sanity/ignore-2.15.txt index 67a802955..44a2ab267 100644 --- a/tests/sanity/ignore-2.15.txt +++ b/tests/sanity/ignore-2.15.txt @@ -1,264 +1,18 @@ -plugins/modules/azure_rm_aks.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_aks.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aks.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_aks.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_aks.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_aks_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_aksversion_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_apimanagement.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_appgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appgateway.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_appgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_applicationsecuritygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_applicationsecuritygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_appserviceplan_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_availabilityset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_containerregistryreplication_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_containerregistrywebhook.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_containerregistrywebhook_info.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_datalakestore.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_deployment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment.py validate-modules:return-syntax-error -plugins/modules/azure_rm_deployment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_deployment_info.py validate-modules:return-syntax-error plugins/modules/azure_rm_dnsrecordset.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_dnszone.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_dnszone_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_functionapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_functionapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_functionapp_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_gallery.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimage.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimage.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_galleryimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_galleryimageversion.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_galleryimageversion.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_galleryimageversion.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_iothubconsumergroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvault.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_keyvault.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_keyvaultkey.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_keyvaultkey_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_keyvaultsecret.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_manageddisk.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_managementgroup.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-missing-type -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_networkinterface.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_networkinterface_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_networkinterface_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_publicipaddress.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_publicipaddress.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_publicipaddress_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resource_info.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_resourcegroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_resourcegroup_info.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_registrationdefinition.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_registrationassignment.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_securitygroup.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_securitygroup.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_securitygroup.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_securitygroup.py validate-modules:mutually_exclusive-unknown -plugins/modules/azure_rm_securitygroup_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-missing-type -plugins/modules/azure_rm_storageaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_storageaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_storageaccount_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_storageblob.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_subnet.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachine_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachineimage_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescaleset.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_virtualmachinescaleset_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetextension.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetextension_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualmachinescalesetinstance.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualmachinescalesetinstance_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_virtualwan.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_virtualwan.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_webapp.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webapp.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webapp.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_webapp_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_webappslot.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_webappslot.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_autoscale.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_autoscale.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_autoscale.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_autoscale_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_cdnendpoint.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_cosmosdbaccount.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlab.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlab_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabarmtemplate_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifact_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabartifactsource.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabartifactsource_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabcustomimage.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_devtestlabcustomimage_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabenvironment.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabenvironment_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabpolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabpolicy_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_devtestlabvirtualmachine.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_devtestlabvirtualmachine_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_devtestlabvirtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_loadbalancer.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_loadbalancer.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_loganalyticsworkspace.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_loganalyticsworkspace_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbdatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mariadbserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_mysqlfirewallrule.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_postgresqlconfiguration.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_postgresqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscache.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-type-does-not-match-spec -plugins/modules/azure_rm_rediscache.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_rediscache_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_rediscachefirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_roleassignment_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_route.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_routetable_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebus_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebusqueue.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebustopic.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_servicebustopicsubscription.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_servicebussaspolicy.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_snapshot.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_snapshot.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_sqldatabase.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqldatabase_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlfirewallrule_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_sqlserver_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanager.py validate-modules:invalid-documentation -plugins/modules/azure_rm_trafficmanager.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_trafficmanager.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_trafficmanagerendpoint.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:undocumented-parameter -plugins/modules/azure_rm_trafficmanagerprofile.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_trafficmanagerprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetwork_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkpeering.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_virtualnetworkpeering_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-choices-do-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-default-does-not-match-spec -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-missing-type -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_virtualnetworkgateway.py validate-modules:doc-required-mismatch plugins/modules/azure_rm_vpnsite.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_batchaccount.py validate-modules:parameter-type-not-in-doc plugins/modules/azure_rm_batchaccount.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cdnendpoint_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_cdnprofile.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_cosmosdbaccount_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_devtestlabschedule_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_hdinsightcluster_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_lock_info.py validate-modules:doc-required-mismatch -plugins/modules/azure_rm_cdnprofile_info.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:missing-suboption-docs -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-type-not-in-doc -plugins/modules/azure_rm_azurefirewall.py validate-modules:undocumented-parameter plugins/modules/azure_rm_azurefirewall.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_azurefirewall.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_adpassword.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adpassword.py validate-modules:import-before-documentation -plugins/modules/azure_rm_adpassword.py validate-modules:nonexistent-parameter-documented -plugins/modules/azure_rm_adpassword_info.py validate-modules:return-syntax-error -plugins/modules/azure_rm_adserviceprincipal.py validate-modules:nonexistent-parameter-documented plugins/modules/azure_rm_apimanagementservice.py validate-modules:invalid-ansiblemodule-schema plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:invalid-ansiblemodule-schema -plugins/modules/azure_rm_openshiftmanagedcluster.py validate-modules:parameter-list-no-elements -plugins/modules/azure_rm_subnet.py validate-modules:doc-elements-mismatch -plugins/modules/azure_rm_vmbackuppolicy.py validate-modules:parameter-list-no-elements plugins/modules/azure_rm_privatednsrecordset.py validate-modules:invalid-ansiblemodule-schema tests/utils/shippable/check_matrix.py replace-urlopen tests/utils/shippable/timing.py shebang