cisco.mso.mso_rest 模块 – 直接访问 Cisco MSO REST API
注意
此模块是 cisco.mso 集合 (版本 2.9.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.mso
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:cisco.mso.mso_rest
。
概要
允许通过直接访问 Cisco MSO REST API 来管理 Cisco MSO 结构。
此模块不是幂等的,也不报告更改。
要求
执行此模块的主机需要以下要求。
多站点编排器 v2.1 或更高版本
参数
参数 |
注释 |
---|---|
直接设置 API 请求的有效负载。 这对于模板化简单的请求可能很方便。 对于任何复杂的操作,请使用 |
|
ACI 多站点编排器主机的 IP 地址或主机名。 如果任务中未指定该值,则将使用环境变量 |
|
用于身份验证的登录域名称。 默认值为 Local。 如果任务中未指定该值,则将使用环境变量 使用 HTTPAPI 连接插件时,如果未指定此属性,则将使用清单变量 |
|
请求的 HTTP 方法。 使用 使用 使用 使用 使用 选项
|
|
影响此 MSO 模块的输出。
如果任务中未指定该值,则将使用环境变量 选项
|
|
用于身份验证的密码。 如果任务中未指定该值,则将使用环境变量 |
|
用于执行 API 调用的 URI。 |
|
用于 REST 连接的端口号。 默认值取决于参数 `use_ssl`。 如果任务中未指定该值,则将使用环境变量 |
|
以秒为单位的套接字级别超时。 默认值为 30 秒。 如果任务中未指定该值,则将使用环境变量 |
|
如果为 如果任务中未指定该值,则将使用环境变量 默认为 选项
|
|
如果为 如果任务中未指定该值,则将使用环境变量 使用 HTTPAPI 连接插件时,如果未指定此属性,则将使用清单变量 使用 HTTPAPI 连接插件 (mso 或 nd) 时默认为 选项
|
|
用于身份验证的用户名。 如果任务中未指定值,则将改用环境变量 |
|
如果为 仅当在使用自签名证书的个人控制站点上使用时,才应将其设置为 如果任务中未指定值,则将改用环境变量 默认为 选项
|
注释
注意
大多数有效负载已知是非幂等的,因此在构建有效负载时要小心。
此模块编写用于支持 Multi Site Orchestrator v2.1 或更高版本。某些或所有功能在早期版本中可能无法正常工作。
另请参阅
另请参阅
- cisco.mso.mso_tenant
管理租户。
示例
- name: Add schema (JSON)
cisco.mso.mso_rest:
host: mso
username: admin
password: SomeSecretPassword
path: /mso/api/v1/schemas
method: post
content:
{
"displayName": "{{ mso_schema | default('ansible_test') }}",
"templates": [{
"name": "Template_1",
"tenantId": "{{ add_tenant.jsondata.id }}",
"displayName": "Template_1",
"templateSubType": [],
"templateType": "stretched-template",
"anps": [],
"contracts": [],
"vrfs": [],
"bds": [],
"filters": [],
"externalEpgs": [],
"serviceGraphs": [],
"intersiteL3outs": []
}],
"sites": [],
"_updateVersion": 0
}
- name: Query schema
cisco.mso.mso_rest:
host: mso
username: admin
password: SomeSecretPassword
path: /mso/api/v1/schemas
method: get
register: query_result
- name: Patch schema (YAML)
cisco.mso.mso_rest:
host: mso
username: admin
password: SomeSecretPassword
path: "/mso/api/v1/schemas/{{ add_schema.jsondata.id }}"
method: patch
content:
- op: add
path: /templates/Template_1/anps/-
value:
name: AP2
displayName: AP2
epgs: []
_updateVersion: 0
- name: Add a tenant from a templated payload file from templates
cisco.mso.mso_rest:
host: mso
username: admin
password: SomeSecretPassword
method: post
path: /api/v1/tenants
content: "{{ lookup('template', 'mso/tenant.json.j2') }}"