avi_sslkeyandcertificate – Module for setup of SSLKeyAndCertificate Avi RESTful Object — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# avi_sslkeyandcertificate – Module for setup of SSLKeyAndCertificate Avi RESTful Object

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- This module is used to configure SSLKeyAndCertificate object
- more examples at https://github.com/avinetworks/devops

## Requirements

The below requirements are needed on the host that executes this module.

- avisdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
api_context dictionary added in 2.5 |  | Avi API context that includes current session ID and CSRF Token. This allows user to perform single login and re-use the session.
api_version string | Default: "16.4.4" | Avi API version of to use for Avi API and objects.
avi_api_patch_op - added in 2.5 | Choices: add replace delete | Patch operation to use when using avi_api_update_method as patch.
avi_api_update_method - added in 2.5 | Choices: put ← patch | Default method for object update is HTTP PUT. Setting to patch will override that behavior to use HTTP PATCH.
avi_credentials dictionary added in 2.5 |  | Avi Credentials dictionary which can be used in lieu of enumerating Avi Controller login details.
| api_version - | Default: "16.4.4" | Avi controller version
| controller - |  | Avi controller IP or SQDN
| csrftoken - |  | Avi controller API csrftoken to reuse existing session with session id
| password - |  | Avi controller password
| port - |  | Avi controller port
| session_id - |  | Avi controller API session id to reuse existing session with csrftoken
| tenant - | Default: "admin" | Avi controller tenant
| tenant_uuid - |  | Avi controller tenant UUID
| timeout - | Default: 300 | Avi controller request timeout
| token - |  | Avi controller API token
| username - |  | Avi controller username
avi_disable_session_cache_as_fact boolean added in 2.6 | Choices: no yes | It disables avi session information to be cached as a fact.
ca_certs - |  | Ca certificates in certificate chain.
certificate - / required |  | Sslcertificate settings for sslkeyandcertificate.
certificate_base64 boolean added in 2.9 | Choices: no yes | States if the certificate is base64 encoded. Field introduced in 18.1.2, 18.2.1. Default value when not specified in API or module is interpreted by Avi Controller as False.
certificate_management_profile_ref - |  | It is a reference to an object of type certificatemanagementprofile.
controller string | Default: "" | IP address or hostname of the controller. The default value is the environment variable `AVI_CONTROLLER`.
created_by - |  | Creator name.
dynamic_params - |  | Dynamic parameters needed for certificate management profile.
enckey_base64 - |  | Encrypted private key corresponding to the private key (e.g. Those generated by an hsm such as thales nshield).
enckey_name - |  | Name of the encrypted private key (e.g. Those generated by an hsm such as thales nshield).
format - added in 2.9 |  | Format of the key/certificate file. Enum options - SSL_PEM, SSL_PKCS12. Field introduced in 18.1.2, 18.2.1. Default value when not specified in API or module is interpreted by Avi Controller as SSL_PEM.
hardwaresecuritymodulegroup_ref - |  | It is a reference to an object of type hardwaresecuritymodulegroup.
key - |  | Private key.
key_base64 boolean added in 2.9 | Choices: no yes | States if the private key is base64 encoded. Field introduced in 18.1.2, 18.2.1. Default value when not specified in API or module is interpreted by Avi Controller as False.
key_params - |  | Sslkeyparams settings for sslkeyandcertificate.
key_passphrase - added in 2.9 |  | Passphrase used to encrypt the private key. Field introduced in 18.1.2, 18.2.1.
name - / required |  | Name of the object.
password string | Default: "" | Password of Avi user in Avi controller. The default value is the environment variable `AVI_PASSWORD`.
state - | Choices: absent present ← | The state that should be applied on the entity.
status - |  | Enum options - ssl_certificate_finished, ssl_certificate_pending. Default value when not specified in API or module is interpreted by Avi Controller as SSL_CERTIFICATE_FINISHED.
tenant string | Default: "admin" | Name of tenant used for all Avi API calls and context of object.
tenant_ref - |  | It is a reference to an object of type tenant.
tenant_uuid string | Default: "" | UUID of tenant used for all Avi API calls and context of object.
type - |  | Enum options - ssl_certificate_type_virtualservice, ssl_certificate_type_system, ssl_certificate_type_ca.
url - |  | Avi controller URL of the object.
username string | Default: "" | Username used for accessing Avi controller. The default value is the environment variable `AVI_USERNAME`.
uuid - |  | Unique object identifier of the object.

## Notes

Note

- For more information on using Ansible to manage Avi Network devices see https://www.ansible.com/ansible-avi-networks.

## Examples

    - name: Create a SSL Key and Certificate
      avi_sslkeyandcertificate:
        controller: 10.10.27.90
        username: admin
        password: AviNetworks123!
        key: |
            -----BEGIN PRIVATE KEY-----
            ....
            -----END PRIVATE KEY-----
        certificate:
            self_signed: true
            certificate: |
              -----BEGIN CERTIFICATE-----
              ....
              -----END CERTIFICATE-----
        type: SSL_CERTIFICATE_TYPE_VIRTUALSERVICE
        name: MyTestCert

## Return Values

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

Key | Returned | Description
--- | --- | ---
obj dictionary | success, changed | SSLKeyAndCertificate (api/sslkeyandcertificate) object

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>

Hint

If you notice any issues in this documentation, you can edit this document to improve it.