# netscaler_ssl_certkey – Manage ssl certificate keys

New in version 2.4.0.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Manage ssl certificate keys.

## Requirements

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

- nitro python sdk

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
cert - |  | Name of and, optionally, path to the X509 certificate file that is used to form the certificate-key pair. The certificate file should be present on the appliance's hard-disk drive or solid-state drive. Storing a certificate in any location other than the default might cause inconsistency in a high availability setup. /nsconfig/ssl/ is the default path. Minimum length = 1

certkey
-

Name for the certificate and private-key pair. Must begin with an ASCII alphanumeric or underscore `_` character, and must contain only ASCII alphanumeric, underscore `_`, hash `#`, period `.`, space `` , colon `:`, at `@`, equals `=`, and hyphen `-` characters. Cannot be changed after the certificate-key pair is created.
The following requirement applies only to the NetScaler CLI:
If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cert" or 'my cert').
Minimum length = 1

expirymonitor
-

Choices:
- enabled
- disabled

Issue an alert when the certificate is about to expire.

inform
-

Choices:
- DER
- PEM
- PFX

Input format of the certificate and the private-key files. The three formats supported by the appliance are:
PEM - Privacy Enhanced Mail
DER - Distinguished Encoding Rule
PFX - Personal Information Exchange.

key - |  | Name of and, optionally, path to the private-key file that is used to form the certificate-key pair. The certificate file should be present on the appliance's hard-disk drive or solid-state drive. Storing a certificate in any location other than the default might cause inconsistency in a high availability setup. /nsconfig/ssl/ is the default path. Minimum length = 1
nitro_pass string / required |  | The password with which to authenticate to the netscaler node.

nitro_protocol
string

Choices:
- http ←
- https

Which protocol to use when accessing the nitro API objects.

nitro_timeout float | Default: 310 | Time in seconds until a timeout error is thrown when establishing a new session with Netscaler
nitro_user string / required |  | The username with which to authenticate to the netscaler node.
notificationperiod - |  | Time, in number of days, before certificate expiration, at which to generate an alert that the certificate is about to expire. Minimum value = `10` Maximum value = `100`
nsip string / required |  | The ip address of the netscaler appliance where the nitro API calls will be made. The port can be specified with the colon (:). E.g. 192.168.1.1:555.
passplain - |  | Pass phrase used to encrypt the private-key. Required when adding an encrypted private-key in PEM format. Minimum length = 1
password - |  | Passphrase that was used to encrypt the private-key. Use this option to load encrypted private-keys in PEM format.

save_config
boolean

Choices:
- no
- yes ←

If `yes` the module will save the configuration on the netscaler node if it makes any changes.
The module will not save the configuration on the netscaler node if it made no changes.

state
string

Choices:
- absent
- present ←

The state of the resource being configured by the module on the netscaler node.
When present the resource will be created if needed and configured according to the module's parameters.
When absent the resource will be deleted from the netscaler node.

validate_certs
boolean

Choices:
- no
- yes ←

If `no`, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

## Notes

Note

- For more information on using Ansible to manage Citrix NetScaler Network devices see https://www.ansible.com/ansible-netscaler.

## Examples

    - name: Setup ssl certkey
      delegate_to: localhost
      netscaler_ssl_certkey:
        nitro_user: nsroot
        nitro_pass: nsroot
        nsip: 172.18.0.2

        certkey: certirificate_1
        cert: server.crt
        key: server.key
        expirymonitor: enabled
        notificationperiod: 30
        inform: PEM
        password: False
        passplain: somesecret

## Return Values

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

Key | Returned | Description
--- | --- | ---
diff dictionary | failure | List of differences between the actual configured object and the configuration specified in the module Sample: { 'targetlbvserver': 'difference. ours: (str) server1 other: (str) server2' }
loglines list | always | list of logged messages by the module Sample: ['message 1', 'message 2']
msg string | failure | Message detailing the failure reason Sample: Action does not exist

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- George Nikolopoulos (@giorgos-nikolopoulos)

Hint

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