cisco.meraki.organizations_wireless_devices_provisioning_deployments module -- Resource module for organizations _wireless _devices _provisioning _deployments

Note

This module is part of the cisco.meraki collection (version 2.23.0).

To install it, use: ansible-galaxy collection install cisco.meraki. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.meraki.organizations_wireless_devices_provisioning_deployments.

New in cisco.meraki 1.0.0

Synopsis

  • Manage operations create, update and delete of the resource organizations _wireless _devices _provisioning _deployments.

  • Create a zero touch deployment for a wireless access point.

  • Delete a zero touch deployment.

  • Update a zero touch deployment.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • meraki >= 2.4.9

  • python >= 3.5

Parameters

Parameter

Comments

deploymentId

string

DeploymentId path parameter. Deployment ID.

items

list / elements=dictionary

List of zero touch deployments to create.

completedAt

string

Timestamp of when the zero touch deployment request was completed.

createdAt

string

Timestamp of when the zero touch deployment request was created.

deploymentId

string

Zero touch deployment request identifier.

devices

dictionary

An array composed of old and new devices.

new

dictionary

New device.

mac

string

MAC address of the new device.

model

string

Model of the new device.

name

string

Name of the new device or serial number if not named.

rfProfile

dictionary

RF profile of the new device.

id

string

ID of RfProfile for new device.

name

string

Name of RfProfile for new device.

serial

string

Serial number of the new device.

tags

list / elements=string

Tag(s) of the new device.

old

dictionary

Old device.

afterAction

string

Action to be taken on the old device.

mac

string

MAC address of the old device.

model

string

Model of the old device.

name

string

Name of the old device.

rfProfile

dictionary

RF profile of the old device.

id

string

ID of the RF profile.

name

string

Name of the RF profile.

serial

string

Serial number of the old device.

tags

list / elements=string

Tag(s) of the old device.

errors

list / elements=string

Array of error message(s) if any.

lastUpdatedAt

string

Timestamp of when the zero touch deployment request was last updated.

network

dictionary

Network information.

id

string

ID of the network the device is being added to.

name

string

Name of the network the device is being added to.

requestedAt

string

Timestamp of when the zero touch deployment request was created.

status

string

Status of the zero touch deployment request. Enum = ready, in progress, completed, failed.

type

string

Type of the zero touch deployment request. Enum = deploy, replace.

meraki_action_batch_retry_wait_time

integer

meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry wait time

Default: :ansible-option-default:`60`

meraki_api_key

string / required

meraki_api_key (string), API key generated in dashboard; can also be set as an environment variable MERAKI_DASHBOARD_API_KEY

meraki_base_url

string

meraki_base_url (string), preceding all endpoint resources

Default: :ansible-option-default:`"https://api.meraki.com/api/v1"`

meraki_be_geo_id

string

meraki_be_geo_id (string), optional partner identifier for API usage tracking; can also be set as an environment variable BE_GEO_ID

Default: :ansible-option-default:`""`

meraki_certificate_path

string

meraki_certificate_path (string), path for TLS/SSL certificate verification if behind local proxy

Default: :ansible-option-default:`""`

meraki_inherit_logging_config

boolean

meraki_inherit_logging_config (boolean), Inherits your own logger instance

Choices:

meraki_log_file_prefix

string

meraki_log_file_prefix (string), log file name appended with date and timestamp

Default: :ansible-option-default:`"meraki\_api\_"`

meraki_log_path

string

log_path (string), path to output log; by default, working directory of script if not specified

Default: :ansible-option-default:`""`

meraki_maximum_retries

integer

meraki_maximum_retries (integer), retry up to this many times when encountering 429s or other server-side errors

Default: :ansible-option-default:`2`

meraki_nginx_429_retry_wait_time

integer

meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time

Default: :ansible-option-default:`60`

meraki_output_log

boolean

meraki_output_log (boolean), create an output log file?

Choices:

meraki_print_console

boolean

meraki_print_console (boolean), print logging output to console?

Choices:

meraki_requests_proxy

string

meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS

Default: :ansible-option-default:`""`

meraki_retry_4xx_error

boolean

meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides 429)?

Choices:

meraki_retry_4xx_error_wait_time

integer

meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time

Default: :ansible-option-default:`60`

meraki_simulate

boolean

meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes?

Choices:

meraki_single_request_timeout

integer

meraki_single_request_timeout (integer), maximum number of seconds for each API call

Default: :ansible-option-default:`60`

meraki_suppress_logging

boolean

meraki_suppress_logging (boolean), disable all logging? you're on your own then!

Choices:

meraki_use_iterator_for_get_pages

boolean

meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator with each object instead of a complete list with all items

Choices:

meraki_wait_on_rate_limit

boolean

meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered?

Choices:

meta

dictionary

Metadata relevant to the paginated dataset.

counts

dictionary

Counts relating to the paginated dataset.

items

dictionary

Counts relating to the paginated items.

remaining

integer

The number of items in the dataset that are available on subsequent pages.

total

integer

The total number of items in the dataset.

organizationId

string

OrganizationId path parameter. Organization ID.

Notes

Note

  • SDK Method used are wireless.Wireless.create_organization_wireless_devices_provisioning_deployment, wireless.Wireless.delete_organization_wireless_devices_provisioning_deployment, wireless.Wireless.update_organization_wireless_devices_provisioning_deployments,

  • Paths used are post /organizations/{organizationId}/wireless/devices/provisioning/deployments, delete /organizations/{organizationId}/wireless/devices/provisioning/deployments/{deploymentId}, put /organizations/{organizationId}/wireless/devices/provisioning/deployments,

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager

  • from Cisco Dashboard API Python(SDK)

  • The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection

See Also

See also

Cisco Meraki documentation for wireless createOrganizationWirelessDevicesProvisioningDeployment

Complete reference of the createOrganizationWirelessDevicesProvisioningDeployment API.

Cisco Meraki documentation for wireless deleteOrganizationWirelessDevicesProvisioningDeployment

Complete reference of the deleteOrganizationWirelessDevicesProvisioningDeployment API.

Cisco Meraki documentation for wireless updateOrganizationWirelessDevicesProvisioningDeployments

Complete reference of the updateOrganizationWirelessDevicesProvisioningDeployments API.

Examples

- name: Create
  cisco.meraki.organizations_wireless_devices_provisioning_deployments:
    meraki_api_key: "{{ meraki_api_key }}"
    meraki_base_url: "{{ meraki_base_url }}"
    meraki_single_request_timeout: "{{ meraki_single_request_timeout }}"
    meraki_certificate_path: "{{ meraki_certificate_path }}"
    meraki_requests_proxy: "{{ meraki_requests_proxy }}"
    meraki_wait_on_rate_limit: "{{ meraki_wait_on_rate_limit }}"
    meraki_nginx_429_retry_wait_time: "{{ meraki_nginx_429_retry_wait_time }}"
    meraki_action_batch_retry_wait_time: "{{ meraki_action_batch_retry_wait_time }}"
    meraki_retry_4xx_error: "{{ meraki_retry_4xx_error }}"
    meraki_retry_4xx_error_wait_time: "{{ meraki_retry_4xx_error_wait_time }}"
    meraki_maximum_retries: "{{ meraki_maximum_retries }}"
    meraki_output_log: "{{ meraki_output_log }}"
    meraki_log_file_prefix: "{{ meraki_log_file_prefix }}"
    meraki_log_path: "{{ meraki_log_path }}"
    meraki_print_console: "{{ meraki_print_console }}"
    meraki_suppress_logging: "{{ meraki_suppress_logging }}"
    meraki_simulate: "{{ meraki_simulate }}"
    meraki_be_geo_id: "{{ meraki_be_geo_id }}"
    meraki_caller: "{{ meraki_caller }}"
    meraki_use_iterator_for_get_pages: "{{ meraki_use_iterator_for_get_pages }}"
    meraki_inherit_logging_config: "{{ meraki_inherit_logging_config }}"
    state: present

    items:
      - completedAt: "2018-02-11T00:00:00.090210Z"
        createdAt: "2018-02-11T00:00:00.090210Z"
        deploymentId: "1284392014819"
        devices:
          new:
            mac: 00:11:22:33:44:55
            model: CW9166I
            name: My AP
            rfProfile:
              id: "1284392014819"
              name: RF Profile Name
            serial: Q234-ABCD-5678
            tags:
              - tag1
              - tag2
          old:
            afterAction: unclaim
            mac: 00:11:22:33:44:55
            model: MR34
            name: My AP
            rfProfile:
              id: "1284392014819"
              name: RF Profile Name
            serial: Q234-ABCD-5678
            tags:
              - tag1
              - tag2
        errors:
          - error message1
          - error message2
        lastUpdatedAt: "2018-02-11T00:00:00.090210Z"
        network:
          id: N_24329156
          name: Main Office
        requestedAt: "2018-02-11T00:00:00.090210Z"
        status: ready
        type: replace
    meta:
      counts:
        items:
          remaining: 0
          total: 20
    organizationId: string

- name: Update all
  cisco.meraki.organizations_wireless_devices_provisioning_deployments:
    meraki_api_key: "{{ meraki_api_key }}"
    meraki_base_url: "{{ meraki_base_url }}"
    meraki_single_request_timeout: "{{ meraki_single_request_timeout }}"
    meraki_certificate_path: "{{ meraki_certificate_path }}"
    meraki_requests_proxy: "{{ meraki_requests_proxy }}"
    meraki_wait_on_rate_limit: "{{ meraki_wait_on_rate_limit }}"
    meraki_nginx_429_retry_wait_time: "{{ meraki_nginx_429_retry_wait_time }}"
    meraki_action_batch_retry_wait_time: "{{ meraki_action_batch_retry_wait_time }}"
    meraki_retry_4xx_error: "{{ meraki_retry_4xx_error }}"
    meraki_retry_4xx_error_wait_time: "{{ meraki_retry_4xx_error_wait_time }}"
    meraki_maximum_retries: "{{ meraki_maximum_retries }}"
    meraki_output_log: "{{ meraki_output_log }}"
    meraki_log_file_prefix: "{{ meraki_log_file_prefix }}"
    meraki_log_path: "{{ meraki_log_path }}"
    meraki_print_console: "{{ meraki_print_console }}"
    meraki_suppress_logging: "{{ meraki_suppress_logging }}"
    meraki_simulate: "{{ meraki_simulate }}"
    meraki_be_geo_id: "{{ meraki_be_geo_id }}"
    meraki_caller: "{{ meraki_caller }}"
    meraki_use_iterator_for_get_pages: "{{ meraki_use_iterator_for_get_pages }}"
    meraki_inherit_logging_config: "{{ meraki_inherit_logging_config }}"
    state: present

    items:
      - completedAt: "2018-02-11T00:00:00.090210Z"
        createdAt: "2018-02-11T00:00:00.090210Z"
        deploymentId: "1284392014819"
        devices:
          new:
            mac: 00:11:22:33:44:55
            model: CW9166I
            name: My AP
            rfProfile:
              id: "1284392014819"
              name: RF Profile Name
            serial: Q234-ABCD-5678
            tags:
              - tag1
              - tag2
          old:
            afterAction: unclaim
            mac: 00:11:22:33:44:55
            model: MR34
            name: My AP
            rfProfile:
              id: "1284392014819"
              name: RF Profile Name
            serial: Q234-ABCD-5678
            tags:
              - tag1
              - tag2
        errors:
          - error message1
          - error message2
        lastUpdatedAt: "2018-02-11T00:00:00.090210Z"
        network:
          id: N_24329156
          name: Main Office
        requestedAt: "2018-02-11T00:00:00.090210Z"
        status: ready
        type: replace
    meta:
      counts:
        items:
          remaining: 0
          total: 20
    organizationId: string

- name: Delete by id
  cisco.meraki.organizations_wireless_devices_provisioning_deployments:
    meraki_api_key: "{{ meraki_api_key }}"
    meraki_base_url: "{{ meraki_base_url }}"
    meraki_single_request_timeout: "{{ meraki_single_request_timeout }}"
    meraki_certificate_path: "{{ meraki_certificate_path }}"
    meraki_requests_proxy: "{{ meraki_requests_proxy }}"
    meraki_wait_on_rate_limit: "{{ meraki_wait_on_rate_limit }}"
    meraki_nginx_429_retry_wait_time: "{{ meraki_nginx_429_retry_wait_time }}"
    meraki_action_batch_retry_wait_time: "{{ meraki_action_batch_retry_wait_time }}"
    meraki_retry_4xx_error: "{{ meraki_retry_4xx_error }}"
    meraki_retry_4xx_error_wait_time: "{{ meraki_retry_4xx_error_wait_time }}"
    meraki_maximum_retries: "{{ meraki_maximum_retries }}"
    meraki_output_log: "{{ meraki_output_log }}"
    meraki_log_file_prefix: "{{ meraki_log_file_prefix }}"
    meraki_log_path: "{{ meraki_log_path }}"
    meraki_print_console: "{{ meraki_print_console }}"
    meraki_suppress_logging: "{{ meraki_suppress_logging }}"
    meraki_simulate: "{{ meraki_simulate }}"
    meraki_be_geo_id: "{{ meraki_be_geo_id }}"
    meraki_caller: "{{ meraki_caller }}"
    meraki_use_iterator_for_get_pages: "{{ meraki_use_iterator_for_get_pages }}"
    meraki_inherit_logging_config: "{{ meraki_inherit_logging_config }}"
    state: absent

    deploymentId: string
    organizationId: string

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

meraki_response

dictionary

Authors

  • Francisco Munoz (@fmunoz)