cisco.intersight.intersight_kvm_policy module – Virtual KVM Policy configuration for Cisco Intersight

Note

This module is part of the cisco.intersight collection (version 2.3.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cisco.intersight.

To use it in a playbook, specify: cisco.intersight.intersight_kvm_policy.

Synopsis

  • Manages Virtual KVM Policy configuration on Cisco Intersight.

  • A policy to configure virtual KVM settings on Cisco Intersight managed servers.

  • When enabled, configures session limits, port settings, encryption, and tunneling options.

  • When disabled, only the enabled state is configured while other settings are ignored.

  • For more information see Cisco Intersight.

Parameters

Parameter

Comments

api_key_id

string / required

Public API Key ID associated with the private key.

If not set, the value of the INTERSIGHT_API_KEY_ID environment variable is used.

api_private_key

path / required

Filename (absolute path) or string of PEM formatted private key data to be used for Intersight API authentication.

If a string is used, Ansible vault should be used to encrypt string data.

Ex. ansible-vault encrypt_string –vault-id tme@/Users/dsoper/Documents/vault_password_file ‘—–BEGIN EC PRIVATE KEY—–

<your private key data>

—–END EC PRIVATE KEY—–’

If not set, the value of the INTERSIGHT_API_PRIVATE_KEY environment variable is used.

api_uri

string

URI used to access the Intersight API.

If not set, the value of the INTERSIGHT_API_URI environment variable is used.

Default: "https://intersight.com/api/v1"

description

aliases: descr

string

The user-defined description for the KVM Policy.

Description can contain letters(a-z, A-Z), numbers(0-9), hyphen(-), period(.), colon(:), or an underscore(_).

enable_local_server_video

boolean

If enabled, displays KVM session on any monitor attached to the server.

This parameter is ignored when enabled is false.

Choices:

  • false

  • true ← (default)

enable_video_encryption

boolean

If enabled, encrypts all video information sent through KVM.

Please note that this can no longer be disabled for servers running versions 4.2 and above.

This parameter is ignored when enabled is false.

Choices:

  • false

  • true ← (default)

enabled

boolean

State of the vKVM service on the endpoint.

When set to false, all other configuration parameters are ignored and only the enabled state is configured.

When set to true, all other configuration parameters take effect.

Choices:

  • false

  • true ← (default)

maximum_sessions

integer

The maximum number of concurrent KVM sessions allowed.

Valid range is 1-4 sessions.

This parameter is ignored when enabled is false.

Default: 4

name

string / required

The name assigned to the KVM Policy.

The name must be between 1 and 62 alphanumeric characters, allowing special characters :-_.

organization

string

The name of the Organization this resource is assigned to.

Profiles, Policies, and Pools that are created within a Custom Organization are applicable only to devices in the same Organization.

Default: "default"

remote_port

integer

The port used for KVM communication.

Valid range is 1024-65535.

This parameter is ignored when enabled is false.

Default: 2068

state

string

If present, will verify the resource is present and will create if needed.

If absent, will verify the resource is absent and will delete if needed.

Choices:

  • "present" ← (default)

  • "absent"

tags

list / elements=dictionary

List of tags in Key:<user-defined key> Value:<user-defined value> format.

tunneled_kvm_enabled

boolean

Enables Tunneled vKVM on the endpoint.

Applicable only for Device Connectors that support Tunneled vKVM.

This parameter is ignored when enabled is false.

Choices:

  • false ← (default)

  • true

use_proxy

boolean

If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

Boolean control for verifying the api_uri TLS certificate

Choices:

  • false

  • true ← (default)

Examples

- name: Create an enabled KVM Policy with default settings
  cisco.intersight.intersight_kvm_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "Default-KVM-Policy"
    description: "KVM policy with standard settings"
    enabled: true
    tags:
      - Key: "Environment"
        Value: "Production"

- name: Create a KVM Policy with custom settings
  cisco.intersight.intersight_kvm_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "Custom-KVM-Policy"
    description: "KVM policy with custom port and session limits"
    enabled: true
    maximum_sessions: 2
    remote_port: 3000
    enable_video_encryption: true
    enable_local_server_video: false
    tunneled_kvm_enabled: true
    tags:
      - Key: "Owner"
        Value: "DevOps"

- name: Create a disabled KVM Policy
  cisco.intersight.intersight_kvm_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "Disabled-KVM-Policy"
    description: "Disabled KVM policy for security compliance"
    enabled: false
    tags:
      - Key: "Security"
        Value: "Disabled"

- name: Delete a KVM Policy
  cisco.intersight.intersight_kvm_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: "Old-KVM-Policy"
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

api_response

dictionary

The API response output returned by the specified resource.

Returned: always

Sample: {"api_response": {"EnableLocalServerVideo": false, "EnableVideoEncryption": true, "Enabled": true, "MaximumSessions": 2, "Name": "Custom-KVM-Policy", "ObjectType": "kvm.Policy", "RemotePort": 3000, "Tags": [{"Key": "Owner", "Value": "DevOps"}], "TunneledKvmEnabled": true}}

Authors

  • Ron Gershburg (@rgershbu)