cisco.intersight.intersight_rest_api 模块 – Cisco Intersight 的 REST API 配置

注意

此模块是 cisco.intersight 集合(版本 2.0.20)的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.intersight

要在 playbook 中使用它,请指定:cisco.intersight.intersight_rest_api

概要

  • Cisco Intersight 的直接 REST API 配置。

  • 必须指定所有 REST API 资源和属性。

  • 有关更多信息,请参阅 Cisco Intersight

参数

参数

注释

api_body

字典

用于修改资源的 API 请求的有效负载。

api_key_id

字符串 / 必需

与私钥关联的公共 API 密钥 ID。

如果未设置,则使用 INTERSIGHT_API_KEY_ID 环境变量的值。

api_private_key

路径 / 必需

用于 Intersight API 身份验证的 PEM 格式私钥数据的文件名(绝对路径)或字符串。

如果使用字符串,则应使用 Ansible Vault 对字符串数据进行加密。

例如:ansible-vault encrypt_string –vault-id tme@/Users/dsoper/Documents/vault_password_file ‘—–BEGIN EC PRIVATE KEY—–

<您的私钥数据>

—–END EC PRIVATE KEY—–’

如果未设置,则使用 INTERSIGHT_API_PRIVATE_KEY 环境变量的值。

api_uri

字符串

用于访问 Intersight API 的 URI。

如果未设置,则使用 INTERSIGHT_API_URI 环境变量的值。

默认值: "https://intersight.com/api/v1"

list_body

列表 / 元素=字典

用于修改资源的 API 请求的有效负载。

如果 API 有效负载中需要列表,则应使用它代替 api_body。

query_params

字典

Intersight API 查询语言的查询参数。

resource_path

字符串 / 必需

与 api_uri 相关的正在配置的资源 URI。

return_list

布尔值

如果为 yes,则将在 api_response 中返回 API 结果列表。

默认情况下,仅返回 API 结果列表的第一个元素。

只能用于 GET 操作。

选择

  • false ← (默认)

  • true

state

字符串

如果为 present,则将验证资源是否存在,并在需要时创建。

如果为 absent,则将验证资源是否不存在,并在需要时删除。

选择

  • "present" ← (默认)

  • "absent"

update_method

字符串

用于更新操作的 HTTP 方法。

某些 Intersight 资源需要 POST 操作进行修改。

json-patch 用于部分更新。

json-patch 仅支持对现有资源进行补丁操作,并且需要 list_body 为字典列表。

有关 JSON Patch 的详细信息,请参阅 Intersight API 文档

选择

  • "patch" ← (默认)

  • "post"

  • "json-patch"

use_proxy

布尔值

如果为 no,即使在目标主机上的环境变量中定义了代理,也不会使用代理。

选择

  • false

  • true ← (默认)

validate_certs

布尔值

用于验证 api_uri TLS 证书的布尔控件

选择

  • false

  • true ← (默认)

示例

- name: Configure Boot Policy
  intersight_rest_api:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    api_key_uri: "{{ api_key_uri }}"
    validate_certs: "{{ validate_certs }}"
    resource_path: /boot/PrecisionPolicies
    query_params:
      $filter: "Name eq 'vmedia-localdisk'"
    api_body: {
      "Name": "vmedia-localdisk",
      "ConfiguredBootMode": "Legacy",
      "BootDevices": [
        {
          "ObjectType": "boot.VirtualMedia",
          "Enabled": true,
          "Name": "remote-vmedia",
          "Subtype": "cimc-mapped-dvd"
        },
        {
          "ObjectType": "boot.LocalDisk",
          "Enabled": true,
          "Name": "localdisk",
          "Slot": "MRAID",
          "Bootloader": null
        }
      ],
    }
    state: present

- name: Delete Boot Policy
  intersight_rest_api:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    api_key_uri: "{{ api_key_uri }}"
    validate_certs: "{{ validate_certs }}"
    resource_path: /boot/PrecisionPolicies
    query_params:
      $filter: "Name eq 'vmedia-localdisk'"
    state: absent

返回值

常见的返回值记录在 此处,以下是此模块特有的字段

描述

api_repsonse

字典

指定资源返回的 API 响应输出。

返回:始终

示例: {"api_response": {"BootDevices": [{"Enabled": true, "Name": "remote-vmedia", "ObjectType": "boot.VirtualMedia", "Subtype": "cimc-mapped-dvd"}, {"Bootloader": null, "Enabled": true, "Name": "boot-lun", "ObjectType": "boot.LocalDisk", "Slot": "MRAID"}], "ConfiguredBootMode": "Legacy", "Name": "vmedia-localdisk", "ObjectType": "boot.PrecisionPolicy"}}

作者

  • David Soper (@dsoper2)

  • CiscoUcs (@CiscoUcs)