ansible.builtin.clc_server (v2.9.27) — module

Create, Delete, Start and Stop servers in CenturyLink Cloud.

| "added in version" 2.0 of ansible.builtin"

Authors: CLC Runner (@clc-runner)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

An Ansible module to Create, Delete, Start and Stop servers in CenturyLink Cloud.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples

- name: Provision a single Ubuntu Server
  clc_server:
    name: test
    template: ubuntu-14-64
    count: 1
    group: Default Group
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Ensure 'Default Group' has exactly 5 servers
  clc_server:
    name: test
    template: ubuntu-14-64
    exact_count: 5
    count_group: Default Group
    group: Default Group
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Stop a Server
  clc_server:
    server_ids:
      - UC1ACCT-TEST01
    state: stopped
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Start a Server
  clc_server:
    server_ids:
      - UC1ACCT-TEST01
    state: started
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a Server
  clc_server:
    server_ids:
      - UC1ACCT-TEST01
    state: absent

Inputs

    
cpu:
    default: 1
    description:
    - How many CPUs to provision on the server

ttl:
    description:
    - The time to live for the server in seconds.  The server will be deleted when this
      time expires.

name:
    description:
    - A 1 to 6 character identifier to use for the server. This is required when state
      is 'present'

type:
    choices:
    - standard
    - hyperscale
    - bareMetal
    default: standard
    description:
    - The type of server to create.

wait:
    default: 'yes'
    description:
    - Whether to wait for the provisioning tasks to finish before returning.
    type: bool

alias:
    description:
    - The account alias to provision the servers under.

count:
    default: 1
    description:
    - The number of servers to build (mutually exclusive with exact_count)

group:
    default: Default Group
    description:
    - The Server Group to create servers under.

state:
    choices:
    - present
    - absent
    - started
    - stopped
    default: present
    description:
    - The state to insure that the provided resources are in.

memory:
    default: 1
    description:
    - Memory in GB.

os_type:
    choices:
    - redHat6_64Bit
    - centOS6_64Bit
    - windows2012R2Standard_64Bit
    - ubuntu14_64Bit
    description:
    - Only required for bare metal servers. Specifies the OS to provision with the bare
      metal server.

location:
    description:
    - The Datacenter to create servers in.

packages:
    default: []
    description:
    - The list of blue print packages to run on the server after its created.

password:
    description:
    - Password for the administrator / root user

template:
    description:
    - The template to use for server creation.  Will search for a template if a partial
      string is provided. This is required when state is 'present'

ip_address:
    description:
    - The IP Address for the server. One is assigned if not provided.

managed_os:
    default: 'no'
    description:
    - Whether to create the server as 'Managed' or not.
    required: false
    type: bool

network_id:
    description:
    - The network UUID on which to create servers.

server_ids:
    default: []
    description:
    - Required for started, stopped, and absent states. A list of server Ids to insure
      are started, stopped, or absent.

count_group:
    description:
    - Required when exact_count is specified.  The Server Group use to determine how many
      servers to deploy.

description:
    description:
    - The description to set for the server.

exact_count:
    description:
    - Run in idempotent mode.  Will insure that this exact number of servers are running
      in the provided group, creating and deleting them to reach that count.  Requires
      count_group to be set.

primary_dns:
    description:
    - Primary DNS used by the server.

storage_type:
    choices:
    - standard
    - hyperscale
    default: standard
    description:
    - The type of storage to attach to the server.

add_public_ip:
    default: 'no'
    description:
    - Whether to add a public ip to the server
    type: bool

custom_fields:
    default: []
    description:
    - The list of custom fields to set on the server.

secondary_dns:
    description:
    - Secondary DNS used by the server.

alert_policy_id:
    description:
    - The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_name'.

public_ip_ports:
    default: []
    description:
    - A list of ports to allow on the firewall to the servers public ip, if add_public_ip
      is set to True.

additional_disks:
    default: []
    description:
    - The list of additional disks for the server

configuration_id:
    description:
    - Only required for bare metal servers. Specifies the identifier for the specific
      configuration type of bare metal server to deploy.

alert_policy_name:
    description:
    - The alert policy to assign to the server. This is mutually exclusive with 'alert_policy_id'.

public_ip_protocol:
    choices:
    - TCP
    - UDP
    - ICMP
    default: TCP
    description:
    - The protocol to use for the public ip if add_public_ip is set to True.

source_server_password:
    description:
    - The password for the source server if a clone is specified.

anti_affinity_policy_id:
    description:
    - The anti-affinity policy to assign to the server. This is mutually exclusive with
      'anti_affinity_policy_name'.

cpu_autoscale_policy_id:
    description:
    - The autoscale policy to assign to the server.

anti_affinity_policy_name:
    description:
    - The anti-affinity policy to assign to the server. This is mutually exclusive with
      'anti_affinity_policy_id'.

Outputs

partially_created_server_ids:
  description: The list of server ids that are partially created
  returned: success
  sample:
  - UC1TEST-SVR01
  - UC1TEST-SVR02
  type: list
server_ids:
  description: The list of server ids that are created
  returned: success
  sample:
  - UC1TEST-SVR01
  - UC1TEST-SVR02
  type: list
servers:
  description: The list of server objects returned from CLC
  returned: success
  sample:
  - changeInfo:
      createdBy: service.wfad
      createdDate: 1438196820
      modifiedBy: service.wfad
      modifiedDate: 1438196820
    description: test-server
    details:
      alertPolicies: []
      cpu: 1
      customFields: []
      diskCount: 3
      disks:
      - id: 0:0
        partitionPaths: []
        sizeGB: 1
      - id: 0:1
        partitionPaths: []
        sizeGB: 2
      - id: 0:2
        partitionPaths: []
        sizeGB: 14
      hostName: ''
      inMaintenanceMode: false
      ipAddresses:
      - internal: 10.1.1.1
      memoryGB: 1
      memoryMB: 1024
      partitions: []
      powerState: started
      snapshots: []
      storageGB: 17
    groupId: 086ac1dfe0b6411989e8d1b77c4065f0
    id: test-server
    ipaddress: 10.120.45.23
    isTemplate: false
    links:
    - href: /v2/servers/wfad/test-server
      id: test-server
      rel: self
      verbs:
      - GET
      - PATCH
      - DELETE
    - href: /v2/groups/wfad/086ac1dfe0b6411989e8d1b77c4065f0
      id: 086ac1dfe0b6411989e8d1b77c4065f0
      rel: group
    - href: /v2/accounts/wfad
      id: wfad
      rel: account
    - href: /v2/billing/wfad/serverPricing/test-server
      rel: billing
    - href: /v2/servers/wfad/test-server/publicIPAddresses
      rel: publicIPAddresses
      verbs:
      - POST
    - href: /v2/servers/wfad/test-server/credentials
      rel: credentials
    - href: /v2/servers/wfad/test-server/statistics
      rel: statistics
    - href: /v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/upcomingScheduledActivities
      rel: upcomingScheduledActivities
    - href: /v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/scheduledActivities
      rel: scheduledActivities
      verbs:
      - GET
      - POST
    - href: /v2/servers/wfad/test-server/capabilities
      rel: capabilities
    - href: /v2/servers/wfad/test-server/alertPolicies
      rel: alertPolicyMappings
      verbs:
      - POST
    - href: /v2/servers/wfad/test-server/antiAffinityPolicy
      rel: antiAffinityPolicyMapping
      verbs:
      - PUT
      - DELETE
    - href: /v2/servers/wfad/test-server/cpuAutoscalePolicy
      rel: cpuAutoscalePolicyMapping
      verbs:
      - PUT
      - DELETE
    locationId: UC1
    name: test-server
    os: ubuntu14_64Bit
    osType: Ubuntu 14 64-bit
    status: active
    storageType: standard
    type: standard
  type: list