solace.pubsub_plus.solace_cloud_service (1.12.2) — module

manage Solace Cloud services

Authors: Ricardo Gomez-Ulmke (@rjgu)

preview | supported by community

Install collection

Install with ansible-galaxy collection install solace.pubsub_plus:==1.12.2


Add to requirements.yml

  collections:
    - name: solace.pubsub_plus
      version: 1.12.2

Description

Create & delete Solace Cloud services.

Note that you can't change a service once it has been created. Only option: delete & re-create.

Note that a service name must be unique in the global Solace Cloud namespace. Creating a service using an existing name (regardless in which account) will fail.

Creating a service in Solace Cloud is a long-running process. In case creation fails, module will delete the service and try again, up to 3 times.

The module operates at a Solace Cloud Account level, therefor, you don't necessarily require an inventory file. Using `hosts: localhost` as a host and passing the Solace Cloud Api Token as an environment variable works as well.

Inputs

    
name:
    description:
    - The name of the service to manage. Mandatory for state='present'.
    - 'Note: The name must be a key, it is used as a YAML / JSON key. Use only ASCII,
      ''-'', or ''_''. No whitespaces.'
    required: false
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description: Target state.
    required: false
    type: str

timeout:
    default: 60
    description: Connection timeout in seconds for the http request or overall call interaction
      timeout for Solace Cloud API.
    required: false
    type: int

validate_certs:
    default: true
    description: Flag to switch validation of client certificates on/off when using a
      secure connection.
    required: false
    type: bool

solace_cloud_home:
    choices:
    - us
    - au
    - US
    - AU
    - ''
    description: The Solace Cloud home region.
    required: false
    type: str

wait_timeout_minutes:
    default: 30
    description:
    - Minutes to wait until service is created. Module polls every 30 seconds to check
      on service state.
    - wait_timeout_minutes == 0 ==> no waiting, module returns immediately.
    - wait_timeout_minutes > 0 ==> waits, polls every 30 seconds until service request
      completed.
    required: false
    type: int

solace_cloud_settings:
    aliases:
    - settings
    description:
    - Additional settings for state=present. See Reference documentation output of M(solace_cloud_get_service)
      for details.
    - 'Note: For state=present, provide at least: msgVpnName, datacenterId, serviceTypeId,
      serviceClassId.'
    required: false
    type: dict

solace_cloud_api_token:
    aliases:
    - api_token
    description:
    - The API Token.
    - Generate using Solace Cloud console with the appropriate permissions for the operations
      you want to enable.
    required: true
    type: str

solace_cloud_service_id:
    aliases:
    - service_id
    description:
    - The service id of a service in Solace Cloud.
    - Allowed option for state='absent'
    required: false
    type: str

Outputs

msg:
  description: error message if not ok
  returned: error
  type: str
rc:
  description: Return code. rc=0 on success, rc=1 on error.
  returned: always
  sample:
    error:
      rc: 1
    success:
      rc: 0
  type: int
response:
  description: response from the Api call. contains the service info.
  returned: success
  sample:
    accountingLimits:
    - id: NetworkUsage
      thresholds:
      - type: warning
        value: '75'
    adminState: completed
    attributes:
      Clients: '250'
      High Availability: HA Group
      Message Broker Tenancy: Dedicated
      Network Speed: 450 Mbps
      Network Usage: 50 GB per month
      Queues: '250'
      Storage: 25 GB
      certificateAuthorities: []
      clientProfiles: []
      created: 1608128117689
      creationState: pending
      customizedMessagingPorts: {}
      customizedResourceNames: {}
      datacenterId: aws-eu-west-2a
      locked: false
      messagingStorage: 25
      monitoring: {}
      msgVpnAttributes: {}
      msgVpnName: as_test_broker
      name: ansible_solace_test_broker
      serviceClassDisplayedAttributes: null
      serviceClassId: enterprise-250-nano
      serviceId: 1a2o94jfedl9
      servicePackageId: DH-V13.0
      serviceStage: generalavailability
      serviceTypeId: enterprise
      timestamp: 0
      type: service
      userId: xxx
  type: dict

See also