cisco.meraki.organizations_devices_cellular_data_profiles module -- Resource module for organizations _devices _cellular _data _profiles

Note

This module is part of the cisco.meraki collection (version 2.25.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_devices_cellular_data_profiles.

New in cisco.meraki 1.0.0

Synopsis

  • Manage operations create, update and delete of the resource organizations _devices _cellular _data _profiles. - > Add a cellular data management profile to this organization. Creates a cellular data management profile in this organization and returns the created profile, including its rules and actions. - > Delete a cellular data management profile from this organization. Removes the profile, including its associated rules and node assignments, and notifies affected devices of the resulting configuration change. - > Update a Cellular Data Management Profile. Note that changes made to this endpoint will overwrite existing settings for the profile so the entire profile, rules and actions should be sent when making an update.

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

description

string

Description of the profile to be added.

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:

name

string

Name of the profile to be added. This must be unique.

organizationId

string

OrganizationId path parameter. Organization ID.

profileId

string

ID of the profile.

rules

list / elements=dictionary

The rules associated with this profile. At least one rule and no more than two rules may be defined for a profile.

actions

list / elements=dictionary

The defined actions that will occur when the profile rule is triggered. No more than two actions may be defined for a rule.

type

string

The type of action to be undertaken. One of 'send_message' or 'failover'.

cap

dictionary

The data cap values to be set with this rule.

term

dictionary

The data usage term configuration that determines when the aggregated data count resets on the device.

resets

string

How often the device resets the aggregated data count. One of 'daily', 'weekly', or 'monthly'.

starts

dictionary

The reset point for the selected term. Exactly one of the nested values must be set depending on the selected reset frequency. Use 'hourOfDay' for a daily reset, 'dayOfWeek' for a weekly reset, and 'dayOfMonth' for a monthly reset.

dayOfMonth

integer

When the data usage term is to be reset monthly, the day of month that the accounted bandwidth usage for the term should be reset. This can be between 1 and 31 (months that have a number of days less than the value for dayOfMonth will begin on the last day of the month).

dayOfWeek

string

When the data usage term resets weekly, the day of week that the accounted bandwidth usage should reset. Uses the lowercase three-letter weekday abbreviation 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', or 'sun'. Requests are normalized case-insensitively to this form.

hourOfDay

integer

When the data usage term is to be reset daily, the hour the accounted bandwidth usage for the term should be reset. This can be between 0 and 23 (where 0 is 0 00 GMT and 23 is 23 00 GMT).

threshold

float

The data usage threshold at which the rule should be triggered. This is expressed as a float between 0.01 and 1.0 (where 0.01 is equal to 1% of total and 1.0 is equal to 100%). By default this will be 1.0.

value

integer

The total bandwidth available for the specified term in megabytes.

slot

string

The SIM slot that the rule is applied to. One of 'sim1', 'sim2', or 'sim3'. Devices included in this group must have an active card/profile with the defined SIM slot in order to use this rule.

dictionary

Configuration for the uplink governed by this rule.

boolean

Whether this uplink is the preferred one to use once all rules have been exhausted.

Choices:

integer

The uplink priority for this rule. One of 1 or 2, where 1 is the highest priority.

Notes

Note

  • SDK Method used are organizations.Organizations.create_organization_devices_cellular_data_profile, organizations.Organizations.delete_organization_devices_cellular_data_profile, organizations.Organizations.update_organization_devices_cellular_data_profile,

  • Paths used are post /organizations/{organizationId}/devices/cellular/data/profiles, delete /organizations/{organizationId}/devices/cellular/data/profiles/{profileId}, put /organizations/{organizationId}/devices/cellular/data/profiles/{profileId},

  • 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 organizations createOrganizationDevicesCellularDataProfile

Complete reference of the createOrganizationDevicesCellularDataProfile API.

Cisco Meraki documentation for organizations deleteOrganizationDevicesCellularDataProfile

Complete reference of the deleteOrganizationDevicesCellularDataProfile API.

Cisco Meraki documentation for organizations updateOrganizationDevicesCellularDataProfile

Complete reference of the updateOrganizationDevicesCellularDataProfile API.

Examples

- name: Create
  cisco.meraki.organizations_devices_cellular_data_profiles:
    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
    description: some description
    name: some unique profile name
    organizationId: string
    rules:
      - actions:
          - type: failover
        cap:
          term:
            resets: daily
            starts:
              dayOfMonth: 2
              dayOfWeek: mon
              hourOfDay: 12
          threshold: 0.9
          value: 42
        slot: sim1
        uplink:
          isPreferred: true
          priority: 1
- name: Update by id
  cisco.meraki.organizations_devices_cellular_data_profiles:
    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
    description: some description
    organizationId: string
    profileId: '42'
    rules:
      - actions:
          - type: failover
        cap:
          term:
            resets: daily
            starts:
              dayOfMonth: 2
              dayOfWeek: mon
              hourOfDay: 12
          threshold: 0.9
          value: 42
        slot: sim1
        uplink:
          isPreferred: true
          priority: 1
- name: Delete by id
  cisco.meraki.organizations_devices_cellular_data_profiles:
    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
    organizationId: string
    profileId: 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)