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

字典

警报端点连接信息。

auth_key

字符串

提供程序的 API 端点身份验证承载令牌。默认为 None。

certificate_authority

字符串

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

hostname

字符串 / 必填

提供程序的 API 主机名。

password

字符串

提供程序的 API 端点身份验证密码。默认为 None。

path

字符串

待补充文档。

port

整数

提供程序的 API 端口。

project

字符串

待补充文档。

角色

字符串

待补充文档。

security_protocol

字符串

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

选项

  • "ssl-with-validation"

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

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

待补充文档。

uid_ems

字符串

待补充文档。

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 端点身份验证承载令牌。默认为 None。

certificate_authority

字符串

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

hostname

字符串 / 必填

提供程序的 API 主机名。

password

字符串

提供程序的 API 端点身份验证密码。默认为 None。

path

字符串

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

port

整数

提供程序的 API 端口。

project

字符串

待补充文档。

角色

字符串

待补充文档。

security_protocol

字符串

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

选项

  • "ssl-with-validation"

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

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

待补充文档。

uid_ems

字符串

待补充文档。

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 端点身份验证承载令牌。默认为 None。

certificate_authority

字符串

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

hostname

字符串 / 必填

提供程序的 API 主机名。

password

字符串

提供程序的 API 端点身份验证密码。默认为 None。

path

字符串

待补充文档。

port

整数

提供程序的 API 端口。

project

字符串

待补充文档。

角色

字符串

待补充文档。

security_protocol

字符串

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

选项

  • "ssl-with-validation"

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

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

待补充文档。

uid_ems

字符串

待补充文档。

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

字符串

待补充文档。

hostname

字符串 / 必填

Director 主机名。

password

字符串

待补充文档。

path

字符串

待补充文档。

port

整数

待补充文档。

project

字符串

待补充文档。

角色

字符串

待补充文档。

security_protocol

字符串

待补充文档。

选项

  • "ssl-with-validation"

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

  • "ssl-without-validation"

  • "non-ssl"

subscription

字符串

待补充文档。

uid_ems

字符串

待补充文档。

userid

字符串

SSH 用户名。

validate_certs

别名:verify_ssl

布尔值

是否应验证连接的证书。

选项

  • false

  • true ← (默认)

state

字符串

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

选项

  • "absent"

  • "present" ← (默认)

  • "refresh"

subscription

字符串

Microsoft Azure 订阅 ID。默认为 None。

tenant_mapping_enabled

布尔值

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

选项

  • false ← (默认)

  • true

type

字符串

提供商的类型。

选项

  • "Openshift"

  • "Amazon"

  • "oVirt"

  • "VMware"

  • "Azure"

  • "Director"

  • "OpenStack"

  • "GCE"

zone

字符串

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

默认值: "default"

属性

属性

支持

描述

check_mode

支持:不支持

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

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在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)