community.network.avi_api_session 模块 – Avi API 模块

注意

此模块是 community.network 集合 (版本 5.1.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.network。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:community.network.avi_api_session

注意

community.network 集合已被弃用,并将从 Ansible 12 中删除。有关更多信息,请参阅 讨论主题

已弃用

在以下版本中移除:

6.0.0 版本

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 此模块可用于调用 Avi REST API 中定义的任何资源。https://avinetworks.com/

  • 此模块可用于调用 HTTP Patch 方法并访问与之没有关联的 REST 对象的资源。

别名:network.avi.avi_api_session

要求

执行此模块的主机需要以下要求。

  • avisdk

参数

参数

注释

api_context

字典

包含当前会话 ID 和 CSRF 令牌的 Avi API 上下文。

这允许用户执行单一登录并重复使用会话。

api_version

字符串

用于 Avi API 和对象的 Avi API 版本。

默认值: "16.4.4"

avi_credentials

字典

Avi 凭据字典,可用于代替枚举 Avi Controller 登录详细信息。

api_version

字符串

Avi 控制器版本

默认值: "16.4.4"

controller

字符串

Avi 控制器 IP 或 SQDN

csrftoken

字符串

Avi 控制器 API csrftoken,用于与 session id 重复使用现有会话

默认值: ""

password

字符串

Avi 控制器密码

port

字符串

Avi 控制器端口

session_id

字符串

Avi 控制器 API session id,用于与 csrftoken 重复使用现有会话

默认值: ""

tenant

字符串

Avi 控制器租户

默认值: "admin"

tenant_uuid

字符串

Avi 控制器租户 UUID

默认值: ""

timeout

字符串

Avi 控制器请求超时

默认值: 300

token

字符串

Avi 控制器 API 令牌

默认值: ""

username

字符串

Avi 控制器用户名

avi_disable_session_cache_as_fact

布尔值

它禁用将 avi 会话信息作为事实缓存。

选项

  • false ← (默认)

  • true

controller

字符串

控制器的 IP 地址或主机名。默认值为环境变量 AVI_CONTROLLER

data

字符串

YAML 或 JSON 格式的 HTTP 主体。

http_method

字符串 / 必需

RESTful 服务允许的 HTTP 方法,并受 Avi Controller 支持。

选项

  • "get"

  • "put"

  • "post"

  • "patch"

  • "delete"

params

字符串

传递到 HTTP API 的查询参数。

password

字符串

Avi 控制器中 Avi 用户的密码。默认值为环境变量 AVI_PASSWORD

path

字符串

Avi API 资源的路径。例如,path: virtualservice 将转换为 api/virtualserivce

tenant

字符串

用于所有 Avi API 调用和对象上下文的租户名称。

默认值: "admin"

tenant_uuid

字符串

用于所有 Avi API 调用和对象上下文的租户 UUID。

默认值: ""

timeout

字符串

Avi API 调用的超时时间(以秒为单位)。

默认值: 60

username

字符串

用于访问 Avi 控制器的用户名。默认值为环境变量 AVI_USERNAME

备注

注意

示例

- name: Get Pool Information using avi_api_session
  community.network.avi_api_session:
    controller: "{{ controller }}"
    username: "{{ username }}"
    password: "{{ password }}"
    http_method: get
    path: pool
    params:
      name: "{{ pool_name }}"
    api_version: 16.4
  register: pool_results

- name: Patch Pool with list of servers
  community.network.avi_api_session:
    controller: "{{ controller }}"
    username: "{{ username }}"
    password: "{{ password }}"
    http_method: patch
    path: "{{ pool_path }}"
    api_version: 16.4
    data:
      add:
        servers:
          - ip:
              addr: 10.10.10.10
              type: V4
          - ip:
              addr: 20.20.20.20
              type: V4
  register: updated_pool

- name: Fetch Pool metrics bandwidth and connections rate
  community.network.avi_api_session:
    controller: "{{ controller }}"
    username: "{{ username }}"
    password: "{{ password }}"
    http_method: get
    path: analytics/metrics/pool
    api_version: 16.4
    params:
      name: "{{ pool_name }}"
      metric_id: l4_server.avg_bandwidth,l4_server.avg_complete_conns
      step: 300
      limit: 10
  register: pool_metrics

返回值

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

描述

obj

字典

Avi REST 资源

返回: 成功,已更改

状态

  • 此模块将在 6.0.0 版本中移除。 [已弃用]

  • 更多信息请参见 已弃用

作者

  • Gaurav Rastogi (@grastogi23)