cisco.meraki.networks_floor_plans (2.18.0) — module

Resource module for networks _floorplans

| "added in version" 2.16.0 of cisco.meraki"

Authors: Francisco Munoz (@fmunoz)

This plugin has a corresponding action plugin.

Install collection

Install with ansible-galaxy collection install cisco.meraki:==2.18.0


Add to requirements.yml

  collections:
    - name: cisco.meraki
      version: 2.18.0

Description

Manage operations create, update and delete of the resource networks _floorplans.

Upload a floor plan.

Destroy a floor plan.

Update a floor plan's geolocation and other meta data.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create
  cisco.meraki.networks_floor_plans:
    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
    bottomLeftCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    bottomRightCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    center:
      lat: 37.770040510499996
      lng: -122.38714009525
    imageContents: 2a9edd3f4ffd80130c647d13eacb59f3
    name: HQ Floor Plan
    networkId: string
    topLeftCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    topRightCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete by id
  cisco.meraki.networks_floor_plans:
    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: absent
    floorPlanId: string
    networkId: string
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update by id
  cisco.meraki.networks_floor_plans:
    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
    bottomLeftCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    bottomRightCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    center:
      lat: 37.770040510499996
      lng: -122.38714009525
    floorPlanId: string
    imageContents: 2a9edd3f4ffd80130c647d13eacb59f3
    name: HQ Floor Plan
    networkId: string
    topLeftCorner:
      lat: 37.770040510499996
      lng: -122.38714009525
    topRightCorner:
      lat: 37.770040510499996
      lng: -122.38714009525

Inputs

    
name:
    description: The name of your floor plan.
    type: str

center:
    description: The longitude and latitude of the center of your floor plan. The 'center'
      or two adjacent corners (e.g. 'topLeftCorner' and 'bottomLeftCorner') must be specified.
      If 'center' is specified, the floor plan is placed over that point with no rotation.
      If two adjacent corners are specified, the floor plan is rotated to line up with
      the two specified points. The aspect ratio of the floor plan's image is preserved
      regardless of which corners/center are specified. (This means if that more than
      two corners are specified, only two corners may be used to preserve the floor plan's
      aspect ratio.). No two points can have the same latitude, longitude pair.
    suboptions:
      lat:
        description: Latitude.
        type: float
      lng:
        description: Longitude.
        type: float
    type: dict

networkId:
    description: NetworkId path parameter. Network ID.
    type: str

floorPlanId:
    description: FloorPlanId path parameter. Floor plan ID.
    type: str

imageContents:
    description: The file contents (a base 64 encoded string) of your image. Supported
      formats are PNG, GIF, and JPG. Note that all images are saved as PNG files, regardless
      of the format they are uploaded in.
    type: str

meraki_caller:
    default: ''
    description:
    - meraki_caller (string), optional identifier for API usage tracking; can also be
      set as an environment variable MERAKI_PYTHON_SDK_CALLER
    type: str

topLeftCorner:
    description: The longitude and latitude of the top left corner of your floor plan.
    suboptions:
      lat:
        description: Latitude.
        type: float
      lng:
        description: Longitude.
        type: float
    type: dict

meraki_api_key:
    description:
    - meraki_api_key (string), API key generated in dashboard; can also be set as an environment
      variable MERAKI_DASHBOARD_API_KEY
    required: true
    type: str

topRightCorner:
    description: The longitude and latitude of the top right corner of your floor plan.
    suboptions:
      lat:
        description: Latitude.
        type: float
      lng:
        description: Longitude.
        type: float
    type: dict

meraki_base_url:
    default: https://api.meraki.com/api/v1
    description:
    - meraki_base_url (string), preceding all endpoint resources
    type: str

meraki_log_path:
    default: ''
    description:
    - log_path (string), path to output log; by default, working directory of script if
      not specified
    type: str

meraki_simulate:
    default: false
    description:
    - meraki_simulate (boolean), simulate POST/PUT/DELETE calls to prevent changes?
    type: bool

bottomLeftCorner:
    description: The longitude and latitude of the bottom left corner of your floor plan.
    suboptions:
      lat:
        description: Latitude.
        type: float
      lng:
        description: Longitude.
        type: float
    type: dict

meraki_be_geo_id:
    default: ''
    description:
    - meraki_be_geo_id (string), optional partner identifier for API usage tracking; can
      also be set as an environment variable BE_GEO_ID
    type: str

bottomRightCorner:
    description: The longitude and latitude of the bottom right corner of your floor plan.
    suboptions:
      lat:
        description: Latitude.
        type: float
      lng:
        description: Longitude.
        type: float
    type: dict

meraki_output_log:
    default: true
    description:
    - meraki_output_log (boolean), create an output log file?
    type: bool

meraki_print_console:
    default: true
    description:
    - meraki_print_console (boolean), print logging output to console?
    type: bool

meraki_requests_proxy:
    default: ''
    description:
    - meraki_requests_proxy (string), proxy server and port, if needed, for HTTPS
    type: str

meraki_log_file_prefix:
    default: meraki_api_
    description:
    - meraki_log_file_prefix (string), log file name appended with date and timestamp
    type: str

meraki_maximum_retries:
    default: 2
    description:
    - meraki_maximum_retries (integer), retry up to this many times when encountering
      429s or other server-side errors
    type: int

meraki_retry_4xx_error:
    default: false
    description:
    - meraki_retry_4xx_error (boolean), retry if encountering other 4XX error (besides
      429)?
    type: bool

meraki_certificate_path:
    default: ''
    description:
    - meraki_certificate_path (string), path for TLS/SSL certificate verification if behind
      local proxy
    type: str

meraki_suppress_logging:
    default: false
    description:
    - meraki_suppress_logging (boolean), disable all logging? you're on your own then!
    type: bool

meraki_wait_on_rate_limit:
    default: true
    description:
    - meraki_wait_on_rate_limit (boolean), retry if 429 rate limit error encountered?
    type: bool

meraki_inherit_logging_config:
    default: false
    description:
    - meraki_inherit_logging_config (boolean), Inherits your own logger instance
    type: bool

meraki_single_request_timeout:
    default: 60
    description:
    - meraki_single_request_timeout (integer), maximum number of seconds for each API
      call
    type: int

meraki_nginx_429_retry_wait_time:
    default: 60
    description:
    - meraki_nginx_429_retry_wait_time (integer), Nginx 429 retry wait time
    type: int

meraki_retry_4xx_error_wait_time:
    default: 60
    description:
    - meraki_retry_4xx_error_wait_time (integer), other 4XX error retry wait time
    type: int

meraki_use_iterator_for_get_pages:
    default: false
    description:
    - meraki_use_iterator_for_get_pages (boolean), list* methods will return an iterator
      with each object instead of a complete list with all items
    type: bool

meraki_action_batch_retry_wait_time:
    default: 60
    description:
    - meraki_action_batch_retry_wait_time (integer), action batch concurrency error retry
      wait time
    type: int

Outputs

meraki_response:
  description: A dictionary or list with the response returned by the Cisco Meraki
    Python SDK
  returned: always
  sample: "{\n  \"bottomLeftCorner\": {\n    \"lat\": 0,\n    \"lng\": 0\n  },\n \
    \ \"bottomRightCorner\": {\n    \"lat\": 0,\n    \"lng\": 0\n  },\n  \"center\"\
    : {\n    \"lat\": 0,\n    \"lng\": 0\n  },\n  \"devices\": [\n    {\n      \"\
    address\": \"string\",\n      \"details\": [\n        {\n          \"name\": \"\
    string\",\n          \"value\": \"string\"\n        }\n      ],\n      \"firmware\"\
    : \"string\",\n      \"imei\": \"string\",\n      \"lanIp\": \"string\",\n   \
    \   \"lat\": 0,\n      \"lng\": 0,\n      \"mac\": \"string\",\n      \"model\"\
    : \"string\",\n      \"name\": \"string\",\n      \"networkId\": \"string\",\n\
    \      \"notes\": \"string\",\n      \"productType\": \"string\",\n      \"serial\"\
    : \"string\",\n      \"tags\": [\n        \"string\"\n      ]\n    }\n  ],\n \
    \ \"floorPlanId\": \"string\",\n  \"height\": 0,\n  \"imageExtension\": \"string\"\
    ,\n  \"imageMd5\": \"string\",\n  \"imageUrl\": \"string\",\n  \"imageUrlExpiresAt\"\
    : \"string\",\n  \"name\": \"string\",\n  \"topLeftCorner\": {\n    \"lat\": 0,\n\
    \    \"lng\": 0\n  },\n  \"topRightCorner\": {\n    \"lat\": 0,\n    \"lng\":\
    \ 0\n  },\n  \"width\": 0\n}\n"
  type: dict

See also