community.general.manageiq_provider 模块 – 在 ManageIQ 中管理供应商

注意

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

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

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

要在 Playbook 中使用它,请指定:community.general.manageiq_provider

概要

  • manageiq_provider 模块支持在 ManageIQ 中添加、更新和删除供应商。

要求

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

参数

参数

注释

alerts

字典

Alerts 端点连接信息。

auth_key

字符串

供应商的 API 端点身份验证 bearer 令牌。默认为 None。

certificate_authority

字符串

包含自定义证书的 CA 包字符串。默认为 None。

hostname

字符串 / 必需

供应商的 API 主机名。

password

字符串

供应商的 API 端点身份验证密码。默认为 None。

path

字符串

TODO 需要文档。

port

整数

供应商的 API 端口。

project

字符串

TODO 需要文档。

role

字符串

TODO 需要文档。

security_protocol

字符串

HTTPS 请求应如何使用 SSL 证书。默认为 None。

选择

  • "ssl-with-validation"

  • "ssl-with-validation-custom-ca"

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

TODO 需要文档。

uid_ems

字符串

TODO 需要文档。

userid

字符串

供应商的 API 端点身份验证用户 ID。默认为 None。

validate_certs

别名:verify_ssl

布尔值

是否应为 HTTPS 请求验证 SSL 证书(已弃用)。默认为 True。

选择

  • false

  • true ←(默认)

api_version

字符串

OpenStack Keystone API 版本。默认为 None。

选择

  • "v2"

  • "v3"

azure_tenant_id

别名:keystone_v3_domain_id

字符串

租户 ID。默认为 None。

host_default_vnc_port_end

字符串

主机 VNC 范围中的最后一个端口。默认为 None。

host_default_vnc_port_start

字符串

主机 VNC 范围中的第一个端口。默认为 None。

manageiq_connection

字典

ManageIQ 连接配置信息。

ca_cert

别名:ca_bundle_path

字符串

CA 包文件或包含证书的目录的路径。

password

字符串

ManageIQ 密码。如果设置了 MIQ_PASSWORD 环境变量。否则,如果未传入令牌,则为必需项。

token

字符串

ManageIQ 令牌。如果设置了 MIQ_TOKEN 环境变量。否则,如果未传入用户名或密码,则为必需项。

url

字符串

ManageIQ 环境 URL。如果设置了 MIQ_URL 环境变量。否则,需要传入它。

username

字符串

ManageIQ 用户名。如果设置了 MIQ_USERNAME 环境变量。否则,如果未传入令牌,则为必需项。

validate_certs

别名:verify_ssl

布尔值

是否应为 HTTPS 请求验证 SSL 证书。

选择

  • false

  • true ←(默认)

metrics

字典

指标端点连接信息。

auth_key

字符串

供应商的 API 端点身份验证 bearer 令牌。默认为 None。

certificate_authority

字符串

包含自定义证书的 CA 包字符串。默认为 None。

hostname

字符串 / 必需

供应商的 API 主机名。

password

字符串

供应商的 API 端点身份验证密码。默认为 None。

path

字符串

oVirt 指标的数据库名称。默认为 ovirt_engine_history

port

整数

供应商的 API 端口。

project

字符串

TODO 需要文档。

role

字符串

TODO 需要文档。

security_protocol

字符串

HTTPS 请求应如何使用 SSL 证书。默认为 None。

选择

  • "ssl-with-validation"

  • "ssl-with-validation-custom-ca"

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

TODO 需要文档。

uid_ems

字符串

TODO 需要文档。

userid

字符串

供应商的 API 端点身份验证用户 ID。默认为 None。

validate_certs

别名:verify_ssl

布尔值

是否应为 HTTPS 请求验证 SSL 证书(已弃用)。默认为 True。

选择

  • false

  • true ←(默认)

name

字符串 / 必需

供应商的名称。

project

字符串

Google Compute Engine 项目 ID。默认为 None。

provider

字典

默认端点连接信息,如果 state 为 true,则为必需项。

auth_key

字符串

供应商的 API 端点身份验证 bearer 令牌。默认为 None。

certificate_authority

字符串

包含自定义证书的 CA 包字符串。默认为 None。

hostname

字符串 / 必需

供应商的 API 主机名。

password

字符串

供应商的 API 端点身份验证密码。默认为 None。

path

字符串

TODO 需要文档。

port

整数

供应商的 API 端口。

project

字符串

TODO 需要文档。

role

字符串

TODO 需要文档。

security_protocol

字符串

HTTPS 请求应如何使用 SSL 证书。默认为 None。

选择

  • "ssl-with-validation"

  • "ssl-with-validation-custom-ca"

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

TODO 需要文档。

uid_ems

字符串

TODO 需要文档。

userid

字符串

供应商的 API 端点身份验证用户 ID。默认为 None。

validate_certs

别名:verify_ssl

布尔值

是否应为 HTTPS 请求验证 SSL 证书(已弃用)。默认为 True。

选择

  • false

  • true ←(默认)

provider_region

字符串

要连接的供应商区域名称(例如,Amazon 的 AWS 区域)。

ssh_keypair

字典

用于与此供应商中所有主机进行 SSH 连接的 SSH 密钥对。

auth_key

字符串

SSH 私钥。

certificate_authority

字符串

TODO 需要文档。

hostname

字符串 / 必需

Director 主机名。

password

字符串

TODO 需要文档。

path

字符串

TODO 需要文档。

port

整数

TODO 需要文档。

project

字符串

TODO 需要文档。

role

字符串

TODO 需要文档。

security_protocol

字符串

TODO 需要文档。

选择

  • "ssl-with-validation"

  • "ssl-with-validation-custom-ca"

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

TODO 需要文档。

uid_ems

字符串

TODO 需要文档。

userid

字符串

SSH 用户名。

validate_certs

别名:verify_ssl

布尔值

是否应该验证连接的证书。

选择

  • false

  • true ←(默认)

状态

字符串

absent - 供应商不应存在,present - 供应商应该存在,refresh - 供应商将被刷新

选择

  • "absent"

  • "present" ← (默认)

  • "refresh"

subscription

字符串

Microsoft Azure 订阅 ID。默认为 None。

tenant_mapping_enabled

布尔值

是否启用现有租户的映射。默认为 False。

选择

  • false ← (默认)

  • true

类型

字符串

供应商的类型。

选择

  • "Openshift"

  • "Amazon"

  • "oVirt"

  • "VMware"

  • "Azure"

  • "Director"

  • "OpenStack"

  • "GCE"

区域

字符串

将管理供应商的 ManageIQ 区域名称。

默认: "default"

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行,并返回更改状态预测而不修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Create a new provider in ManageIQ ('Hawkular' metrics)
  community.general.manageiq_provider:
    name: 'EngLab'
    type: 'OpenShift'
    state: 'present'
    provider:
      auth_key: 'topSecret'
      hostname: 'example.com'
      port: 8443
      validate_certs: true
      security_protocol: 'ssl-with-validation-custom-ca'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    metrics:
      auth_key: 'topSecret'
      role: 'hawkular'
      hostname: 'example.com'
      port: 443
      validate_certs: true
      security_protocol: 'ssl-with-validation-custom-ca'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    manageiq_connection:
      url: 'https://127.0.0.1:80'
      username: 'admin'
      password: 'password'
      validate_certs: true


- name: Update an existing provider named 'EngLab' (defaults to 'Prometheus' metrics)
  community.general.manageiq_provider:
    name: 'EngLab'
    type: 'Openshift'
    state: 'present'
    provider:
      auth_key: 'topSecret'
      hostname: 'next.example.com'
      port: 8443
      validate_certs: true
      security_protocol: 'ssl-with-validation-custom-ca'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    metrics:
      auth_key: 'topSecret'
      hostname: 'next.example.com'
      port: 443
      validate_certs: true
      security_protocol: 'ssl-with-validation-custom-ca'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    manageiq_connection:
      url: 'https://127.0.0.1'
      username: 'admin'
      password: 'password'
      validate_certs: true


- name: Delete a provider in ManageIQ
  community.general.manageiq_provider:
    name: 'EngLab'
    type: 'Openshift'
    state: 'absent'
    manageiq_connection:
      url: 'https://127.0.0.1'
      username: 'admin'
      password: 'password'
      validate_certs: true


- name: Create a new Amazon provider in ManageIQ using token authentication
  community.general.manageiq_provider:
    name: 'EngAmazon'
    type: 'Amazon'
    state: 'present'
    provider:
      hostname: 'amazon.example.com'
      userid: 'hello'
      password: 'world'
    manageiq_connection:
      url: 'https://127.0.0.1'
      token: 'VeryLongToken'
      validate_certs: true


- name: Create a new oVirt provider in ManageIQ
  community.general.manageiq_provider:
    name: 'RHEV'
    type: 'oVirt'
    state: 'present'
    provider:
      hostname: 'rhev01.example.com'
      userid: 'admin@internal'
      password: 'password'
      validate_certs: true
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    metrics:
      hostname: 'metrics.example.com'
      path: 'ovirt_engine_history'
      userid: 'user_id_metrics'
      password: 'password_metrics'
      validate_certs: true
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    manageiq_connection:
      url: 'https://127.0.0.1'
      username: 'admin'
      password: 'password'
      validate_certs: true

- name: Create a new VMware provider in ManageIQ
  community.general.manageiq_provider:
    name: 'EngVMware'
    type: 'VMware'
    state: 'present'
    provider:
      hostname: 'vcenter.example.com'
      host_default_vnc_port_start: 5800
      host_default_vnc_port_end: 5801
      userid: 'root'
      password: 'password'
    manageiq_connection:
      url: 'https://127.0.0.1'
      token: 'VeryLongToken'
      validate_certs: true

- name: Create a new Azure provider in ManageIQ
  community.general.manageiq_provider:
    name: 'EngAzure'
    type: 'Azure'
    provider_region: 'northeurope'
    subscription: 'e272bd74-f661-484f-b223-88dd128a4049'
    azure_tenant_id: 'e272bd74-f661-484f-b223-88dd128a4048'
    state: 'present'
    provider:
      hostname: 'azure.example.com'
      userid: 'e272bd74-f661-484f-b223-88dd128a4049'
      password: 'password'
    manageiq_connection:
      url: 'https://cf-6af0.rhpds.opentlc.com'
      username: 'admin'
      password: 'password'
      validate_certs: true

- name: Create a new OpenStack Director provider in ManageIQ with rsa keypair
  community.general.manageiq_provider:
    name: 'EngDirector'
    type: 'Director'
    api_version: 'v3'
    state: 'present'
    provider:
      hostname: 'director.example.com'
      userid: 'admin'
      password: 'password'
      security_protocol: 'ssl-with-validation'
      validate_certs: 'true'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    ssh_keypair:
      hostname: director.example.com
      userid: heat-admin
      auth_key: 'SecretSSHPrivateKey'

- name: Create a new OpenStack provider in ManageIQ with amqp metrics
  community.general.manageiq_provider:
    name: 'EngOpenStack'
    type: 'OpenStack'
    api_version: 'v3'
    state: 'present'
    provider_region: 'europe'
    tenant_mapping_enabled: 'False'
    keystone_v3_domain_id: 'mydomain'
    provider:
      hostname: 'openstack.example.com'
      userid: 'admin'
      password: 'password'
      security_protocol: 'ssl-with-validation'
      validate_certs: 'true'
      certificate_authority: |
        -----BEGIN CERTIFICATE-----
        FAKECERTsdKgAwI...
        -----END CERTIFICATE-----
    metrics:
      role: amqp
      hostname: 'amqp.example.com'
      security_protocol: 'non-ssl'
      port: 5666
      userid: admin
      password: password


- name: Create a new GCE provider in ManageIQ
  community.general.manageiq_provider:
    name: 'EngGoogle'
    type: 'GCE'
    provider_region: 'europe-west1'
    project: 'project1'
    state: 'present'
    provider:
      hostname: 'gce.example.com'
      auth_key: 'google_json_key'
      validate_certs: 'false'

作者

  • Daniel Korn (@dkorn)