opentelekomcloud.cloud.as_group (0.6.0) — module

Create/Remove AutoScaling group from the OTC

| "added in version" 0.2.0 of opentelekomcloud.cloud"

Authors: Polina Gubina (@Polina-Gubina)

Install collection

Install with ansible-galaxy collection install opentelekomcloud.cloud:==0.6.0


Add to requirements.yml

  collections:
    - name: opentelekomcloud.cloud
      version: 0.6.0

Description

Create/Remove AutoScaling group from the OTC.


Requirements

Inputs

    
auth:
    description:
    - Dictionary containing auth information as needed by the cloud's auth plugin strategy.
      For the default I(password) plugin, this would contain I(auth_url), I(username),
      I(password), I(project_name) and any information about domains (for example, I(os_user_domain_name)
      or I(os_project_domain_name)) if the cloud supports them. For other plugins, this
      param will need to contain whatever parameters that auth plugin requires. This parameter
      is not needed if a named cloud is provided or OpenStack OS_* environment variables
      are present.
    type: dict

wait:
    default: true
    description:
    - Should ansible wait until the requested resource is complete.
    type: bool

cloud:
    description:
    - Named cloud or cloud config to operate against. If I(cloud) is a string, it references
      a named cloud config as defined in an OpenStack clouds.yaml file. Provides default
      values for I(auth) and I(auth_type). This parameter is not needed if I(auth) is
      provided or if OpenStack OS_* environment variables are present. If I(cloud) is
      a dict, it contains a complete cloud configuration like would be in a section of
      clouds.yaml.
    type: raw

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Whether resource should be present or absent.
    type: str

router:
    description:
    - The router ID or name.
    - Mandatory for creating resource.
    type: str

ca_cert:
    aliases:
    - cacert
    description:
    - A path to a CA Cert bundle that can be used as part of verifying SSL API requests.
    type: str

timeout:
    default: 180
    description:
    - How long should ansible wait for the requested resource.
    type: int

networks:
    description:
    - Specifies network information. The system supports up to five subnets. The first
      subnet transferred       serves as the primary NIC of the ECS by default.
    - Mandatory for creation of autoscaling group.
    elements: dict
    suboptions:
      id:
        description:
        - Specifies the network ID.
        - Mandatory.
        required: true
        type: str
    type: list

auth_type:
    description:
    - Name of the auth plugin to use. If the cloud uses something other than password
      authentication, the name of the plugin should be indicated here and the contents
      of the I(auth) parameter should be updated accordingly.
    type: str

interface:
    aliases:
    - endpoint_type
    choices:
    - admin
    - internal
    - public
    default: public
    description:
    - Endpoint URL type to fetch from the service catalog.
    type: str

client_key:
    aliases:
    - key
    description:
    - A path to a client key to use as part of the SSL transaction.
    type: str

api_timeout:
    description:
    - How long should the socket layer wait before timing out for API calls. If this is
      omitted, nothing will be passed to the requests library.
    type: int

client_cert:
    aliases:
    - cert
    description:
    - A path to a client certificate to use as part of the SSL transaction.
    type: str

lb_listener:
    description:
    - Specifies ID or name of a classic load balancer listener. The system supports the
      binding of up       to six load balancer listeners, the IDs of which are separated
      using a comma (,).
    - Mandatory when 'lbaas_listeners' is not specified.
    type: str

region_name:
    description:
    - Name of the region.
    type: str

delete_volume:
    description:
    - Specifies whether to delete the data disks attached to the ECS when deleting the
      ECS.
    type: bool

notifications:
    description:
    - Specifies the notification mode.
    elements: str
    type: list

cool_down_time:
    description:
    - Specifies the cooldown period (in seconds). The value ranges from 0 to 86400 and
      is 300 by default.
    - After a scaling action is triggered, the system starts the cooldown period. During
      the cooldown period,       scaling actions triggered by alarms will be denied. Scheduled,
      periodic,        and manual scaling actions are not affected.
    - Default is 300.
    type: int

validate_certs:
    aliases:
    - verify
    default: false
    description:
    - Whether or not SSL API requests should be verified.
    - Before Ansible 2.3 this defaulted to C(yes).
    type: bool

available_zones:
    description:
    - Specifies the AZ information. The ECS associated with a scaling action will be created
      in a specified AZ.       If you do not specify an AZ, the system automatically specifies
      one.
    elements: str
    type: list

delete_publicip:
    description:
    - Specifies whether to delete the EIP bound to the ECS when deleting the ECS.
    type: bool

lbaas_listeners:
    description:
    - Specifies information about an enhanced load balancer.
    - Mandatory when 'lb_listener' is not specified.
    elements: dict
    suboptions:
      pool_id:
        description:
        - Specifies the backend ECS group ID.
        - Mandatory.
        required: true
        type: str
      protocol_port:
        description:
        - Specifies the backend protocol ID, which is the port on which            a backend
          ECS listens for traffic. The port ID ranges from 1 to 65535.
        - Mandatory.
        required: true
        type: int
      weight:
        description:
        - Specifies the weight, which determines the portion        of requests a backend
          ECS processes when being compared to other         backend ECSs added to the
          same listener.
        - Mandatory.
        required: true
        type: int
    type: list

security_groups:
    description:
    - Specifies the security group. If the security group is specified both in the AS
      configuration and AS group,       the security group specified in the AS configuration
      prevails.
    - If the security group is not specified in either of them, the default security group
      is used.
    elements: dict
    suboptions:
      id:
        description:
        - Specifies the security group ID.
        - Mandatory.
        required: true
        type: str
    type: list

scaling_group_id:
    description:
    - ID the AS group.
    type: str

scaling_group_name:
    description:
    - Name of the AS group.
    - Mandatory for creating autoscaling group.
    type: str

max_instance_number:
    description:
    - Specifies the maximum number of instances. The default value is 0.
    - Default is 0.
    type: int

min_instance_number:
    description:
    - Specifies the minimum number of instances. The default value is 0.
    - Default is 0.
    type: int

enterprise_project_id:
    description:
    - Specifies the enterprise project ID, which is used to specify the enterprise project       to
      which the AS group belongs.
    - If the value is 0 or left blank, the AS group belongs to the default enterprise
      project.
    - If the value is a UUID, the AS group belongs to the enterprise project corresponding
      to the UUID.
    type: str

scaling_configuration:
    description:
    - The AS configuration ID or name.
    type: str

desire_instance_number:
    description:
    - Specifies the expected number of instances. The default value is the minimum number
      of instances.
    type: int

multi_az_priority_policy:
    choices:
    - equilibrium_distribute
    - pick_first
    description:
    - Specifies the priority policy used to select target AZs when adjusting the number
      of instances in an AS group.
    - EQUILIBRIUM_DISTRIBUTE (default). When adjusting the number of instances, ensure
      that instances in each AZ in       the available_zones list is evenly distributed.
      If instances cannot be added in the target AZ, select another AZ       based on
      the PICK_FIRST policy.
    - PICK_FIRST. When adjusting the number of instances, target AZs are determined in
      the order       in the available_zones list.
    type: str

instance_terminate_policy:
    choices:
    - old_config_old_instance
    - old_config_new_instance
    - old_instance
    - new_instance
    description:
    - Specifies the instance removal policy.
    - OLD_CONFIG_OLD_INSTANCE (default). The earlier-created instances based on the earlier-created       AS
      configurations are removed first.
    - OLD_CONFIG_NEW_INSTANCE. The later-created instances based on the earlier-created       AS
      configurations are removed first.
    - OLD_INSTANCE. The earlier-created instances are removed first.
    - NEW_INSTANCE. The later-created instances are removed first.
    type: str

health_periodic_audit_time:
    description:
    - Specifies the instance health check period.  The value can be 1, 5, 15, 60, or 180
      in the unit of minutes.
    - If this parameter is not specified, the default value is 5.
    - If the value is set to 0, health check is performed every 10 seconds.
    - Default is 5.
    type: int

health_periodic_audit_method:
    choices:
    - elb_audit
    - nova_audit
    description:
    - Specifies the health check method for instances in the AS group. When load balancing
      is configured for       an AS group, the default value is ELB_AUDIT. Otherwise,
      the default value is NOVA_AUDIT.
    - ELB_AUDIT indicates the ELB health check, which takes effect in an AS group with
      a listener.
    - NOVA_AUDIT indicates the ECS health check, which is the health check method delivered
      with AS.
    type: str

health_periodic_audit_grace_period:
    description:
    - Specifies the grace period for instance health check. The unit is second and value
      range is 0-86400.       The default value is 600. The health check grace period
      starts after an instance is added        to an AS group and is enabled.        The
      AS group will start checking the instance status only after the grace period ends.
    - This parameter is valid only when the instance health check method of the AS group
      is ELB_AUDIT.
    - Default is 600.
    type: int

Outputs

as_group:
  contains:
    scaling_group_id:
      description: Specifies the AS group ID.
      sample: 39007a7e-ee4f-4d13-8283-b4da2e037c69
      type: str
  description: AS groups object.
  returned: On Success.
  type: complex