nttmcp.mcp.vip_node (1.0.9) — module

Create, Update and Delete VIP Nodes

| "added in version" 2.10.0 of nttmcp.mcp"

Authors: Ken Sinfield (@kensinfield)

preview | supported by NTT Ltd.

Install collection

Install with ansible-galaxy collection install nttmcp.mcp:==1.0.9


Add to requirements.yml

  collections:
    - name: nttmcp.mcp
      version: 1.0.9

Description

Create, Update and Delete VIP Nodes


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: 127.0.0.1
  connection: local
  collections:
    - nttmcp.mcp
  tasks:

  - name: Create a VIP Node
    vip_node:
      region: na
      datacenter: NA9
      network_domain: "my_network_domain"
      name: "My_Node"
      description: "My Node"
      ip_address: "10.0.0.10"
      health_monitor: "CCDEFAULT.Icmp"
      connection_limit: 50000
      connection_rate_limit: 2000
      state: present

  - name: Update a VIP Node - Disable the node and remove all health monitoring profiles
    vip_node:
      region: na
      datacenter: NA9
      network_domain: "my_network_domain"
      name: "My_Node"
      description: "My Node"
      no_health_monitor: True
      status: DISABLED
      state: present

  - name: Delete a VIP Node
    vip_node:
      region: na
      datacenter: NA9
      network_domain: "my_network_domain"
      name: "My_Node"
      state: absent

Inputs

    
id:
    description:
    - The UUID of the node
    required: false
    type: str

auth:
    description:
    - Optional dictionary containing the authentication and API information for Cloud
      Control
    required: false
    suboptions:
      api:
        description:
        - The Cloud Control API endpoint e.g. api-na.mcp-services.net
        required: false
        type: str
      api_version:
        description:
        - The Cloud Control API version e.g. 2.11
        required: false
        type: str
      password:
        description:
        - The Cloud Control API user password
        required: false
        type: str
      username:
        description:
        - The Cloud Control API username
        required: false
        type: str
    type: dict

name:
    description:
    - The name of the VIP Node
    required: false
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - The action to be performed
    required: false
    type: str

region:
    default: na
    description:
    - The geographical region
    required: false
    type: str

status:
    choices:
    - ENABLED
    - DISABLED
    - FORCED_OFFLINE
    default: ENABLED
    description:
    - The status of the node
    required: false
    type: str

datacenter:
    description:
    - The datacenter name
    required: true
    type: str

ip_address:
    description:
    - The IPv4 or IPv6 address of the VIP node
    required: false
    type: str

description:
    description:
    - The description of the Cloud Network Domain
    required: false
    type: str

health_monitor:
    default: null
    description:
    - The procedure that the load balancer uses to verify that the Node is considered
      healthy and available for load balancing
    - https://docs.mcp-services.net/x/RgIu
    required: false
    type: str

network_domain:
    description:
    - The name of a Cloud Network Domain
    required: true
    type: str

connection_limit:
    default: 100000
    description:
    - The maximum number of simultaneous connections permitted on the Node. Should be
      an integer between 1 and 100,000
    required: false
    type: int

no_health_monitor:
    default: false
    description:
    - Remove a health monitor from a VIP pool
    required: false
    type: bool

connection_rate_limit:
    default: 4000
    description:
    - The amount of new connections permitted every second. Should be an integer between
      1 and 4,000.
    required: false
    type: int

Outputs

data:
  contains:
    connectionLimit:
      description: The maximum number of simultaneous connections permitted on the
        Node. Should be an integer between 1 and 100,000
      sample: 100000
      type: int
    connectionRateLimit:
      description: The amount of new connections permitted every second. Should be
        an integer between 1 and 4,000.
      sample: 4000
      type: int
    createTime:
      description: The creation date of the image
      sample: '2019-01-14T11:12:31.000Z'
      type: str
    datacenterId:
      description: The MCP ID
      sample: NA9
      type: str
    description:
      description: Node description
      sample: My Node
      type: str
    healthMonitor:
      contains:
        id:
          description: The UUID of the Health Monitor
          sample: b2fbd7e6-ddbb-4eb6-a2dd-ad048bc5b9ae
          type: str
        name:
          description: The Health Monitor display name
          sample: CCDEFAULT.Icmp
          type: str
      description: The procedure that the load balancer uses to verify that the Node
        is considered healthy and available for load balancing
      type: complex
    id:
      description: The UUID of the node
      sample: b2fbd7e6-ddbb-4eb6-a2dd-ad048bc5b9ae
      type: str
    ipv4Address:
      description: The IPv4 address of the Node
      returned: When the node has been created as an IPv4 node
      sample: 10.0.0.10
      type: str
    ipv6Address:
      description: The IPv6 address of the Node
      returned: When the node has been created as an IPv6 node
      sample: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0001
      type: str
    name:
      description: The node display name
      sample: my_node
      type: str
    networkDomainId:
      description: The UUID of the Cloud Network Domain
      sample: b2fbd7e6-ddbb-4eb6-a2dd-ad048bc5b9ae
      type: str
    state:
      description: Operational state of the node configuration
      sample: NORMAL
      type: str
    status:
      description: The status of the node
      sample: ENABLED
      type: str
  description: Server objects
  returned: success
  type: complex
msg:
  description: A useful message
  returned: when state == absent
  type: str