summaryrefslogtreecommitdiffstats
path: root/ansible_collections/cisco/meraki/plugins/modules/devices_cellular_sims.py
blob: 03a26c3f23a755b9e1706e35469100cd96abe20e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Copyright (c) 2021, Cisco Systems
# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)

DOCUMENTATION = r"""
---
module: devices_cellular_sims
short_description: Resource module for devices _cellular _sims
description:
- Manage operation update of the resource devices _cellular _sims.
- Updates the SIM and APN configurations for a cellular device.
version_added: '2.16.0'
extends_documentation_fragment:
  - cisco.meraki.module
author: Francisco Munoz (@fmunoz)
options:
  serial:
    description: Serial path parameter.
    type: str
  simFailover:
    description: SIM Failover settings.
    suboptions:
      enabled:
        description: Failover to secondary SIM (optional).
        type: bool
      timeout:
        description: Failover timeout in seconds (optional).
        type: int
    type: dict
  sims:
    description: List of SIMs. If a SIM was previously configured and not specified
      in this request, it will remain unchanged.
    elements: dict
    suboptions:
      apns:
        description: APN configurations. If empty, the default APN will be used.
        elements: dict
        suboptions:
          allowedIpTypes:
            description: IP versions to support (permitted values include 'ipv4', 'ipv6').
            elements: str
            type: list
          authentication:
            description: APN authentication configurations.
            suboptions:
              password:
                description: APN password, if type is set (if APN password is not supplied,
                  the password is left unchanged).
                type: str
              type:
                description: APN auth type.
                type: str
              username:
                description: APN username, if type is set.
                type: str
            type: dict
          name:
            description: APN name.
            type: str
        type: list
      isPrimary:
        description: If true, this SIM is used for boot. Must be true on single-sim
          devices.
        type: bool
      slot:
        description: SIM slot being configured. Must be 'sim1' on single-sim devices.
        type: str
    type: list
requirements:
- meraki >= 2.4.9
- python >= 3.5
seealso:
- name: Cisco Meraki documentation for devices updateDeviceCellularSims
  description: Complete reference of the updateDeviceCellularSims API.
  link: https://developer.cisco.com/meraki/api-v1/#!update-device-cellular-sims
notes:
  - SDK Method used are
    devices.Devices.update_device_cellular_sims,

  - Paths used are
    put /devices/{serial}/cellular/sims,
"""

EXAMPLES = r"""
- name: Update all
  cisco.meraki.devices_cellular_sims:
    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_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
    meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
    state: present
    apns:
    - allowedIpTypes:
      - ipv4
      - ipv6
      authentication:
        password: secret
        type: pap
        username: milesmeraki
      name: internet
    isPrimary: true
    serial: string
    slot: sim1

"""
RETURN = r"""
meraki_response:
  description: A dictionary or list with the response returned by the Cisco Meraki Python SDK
  returned: always
  type: dict
  sample: >
    {}
"""