oracle.oci.oci_compute_management_instance_pool (5.0.0) — module

Manage an InstancePool resource in Oracle Cloud Infrastructure

| "added in version" 2.9.0 of oracle.oci"

Authors: Oracle (@oracle)

preview | supported by community

Install collection

Install with ansible-galaxy collection install oracle.oci:==5.0.0


Add to requirements.yml

  collections:
    - name: oracle.oci
      version: 5.0.0

Description

This module allows the user to create, update and delete an InstancePool resource in Oracle Cloud Infrastructure

For I(state=present), creates an instance pool.

To determine whether capacity is available for a specific shape before you create an instance pool, use the L(CreateComputeCapacityReport,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/iaas/latest/ComputeCapacityReport/CreateComputeCapacityReport) operation.

This resource has the following action operations in the M(oracle.oci.oci_compute_management_instance_pool_actions) module: attach_load_balancer, change_compartment, detach_load_balancer, reset, softreset, softstop, start, stop.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create instance_pool
  oci_compute_management_instance_pool:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    instance_configuration_id: "ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx"
    placement_configurations:
    - # required
      availability_domain: Uocm:PHX-AD-1
      primary_subnet_id: "ocid1.primarysubnet.oc1..xxxxxxEXAMPLExxxxxx"

      # optional
      fault_domains: [ "fault_domains_example" ]
      secondary_vnic_subnets:
      - # required
        subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        display_name: display_name_example
    size: 56

    # optional
    load_balancers:
    - # required
      load_balancer_id: "ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx"
      backend_set_name: backend_set_name_example
      port: 56
      vnic_selection: vnic_selection_example
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    instance_display_name_formatter: instance_display_name_formatter_example
    instance_hostname_formatter: instance_hostname_formatter_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update instance_pool
  oci_compute_management_instance_pool:
    # required
    instance_pool_id: "ocid1.instancepool.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    instance_configuration_id: "ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx"
    placement_configurations:
    - # required
      availability_domain: Uocm:PHX-AD-1
      primary_subnet_id: "ocid1.primarysubnet.oc1..xxxxxxEXAMPLExxxxxx"

      # optional
      fault_domains: [ "fault_domains_example" ]
      secondary_vnic_subnets:
      - # required
        subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        display_name: display_name_example
    size: 56
    instance_display_name_formatter: instance_display_name_formatter_example
    instance_hostname_formatter: instance_hostname_formatter_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update instance_pool using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_compute_management_instance_pool:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    freeform_tags: {'Department': 'Finance'}
    instance_configuration_id: "ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx"
    placement_configurations:
    - # required
      availability_domain: Uocm:PHX-AD-1
      primary_subnet_id: "ocid1.primarysubnet.oc1..xxxxxxEXAMPLExxxxxx"

      # optional
      fault_domains: [ "fault_domains_example" ]
      secondary_vnic_subnets:
      - # required
        subnet_id: "ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        display_name: display_name_example
    size: 56
    instance_display_name_formatter: instance_display_name_formatter_example
    instance_hostname_formatter: instance_hostname_formatter_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete instance_pool
  oci_compute_management_instance_pool:
    # required
    instance_pool_id: "ocid1.instancepool.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete instance_pool using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_compute_management_instance_pool:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    state: absent

Inputs

    
size:
    description:
    - The number of instances that should be in the instance pool.
    - Required for create using I(state=present).
    - This parameter is updatable.
    type: int

wait:
    default: true
    description: Whether to wait for create or delete operation to complete.
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - The state of the InstancePool.
    - Use I(state=present) to create or update an InstancePool.
    - Use I(state=absent) to delete an InstancePool.
    required: false
    type: str

key_by:
    description: The list of attributes of this resource which should be used to uniquely
      identify an instance of the resource. By default, all the attributes of a resource
      are used to uniquely identify a resource.
    elements: str
    type: list

region:
    description:
    - The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set,
      then the value of the OCI_REGION variable, if any, is used. This option is required
      if the region is not specified through a configuration file (See C(config_file_location)).
      Please refer to U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm)
      for more information on OCI regions.
    type: str

tenancy:
    description:
    - OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if
      any, is used. This option is required if the tenancy OCID is not specified through
      a configuration file (See C(config_file_location)). To get the tenancy OCID, please
      refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
    type: str

api_user:
    description:
    - The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the
      value of the OCI_USER_ID environment variable, if any, is used. This option is required
      if the user is not specified through a configuration file (See C(config_file_location)).
      To get the user's OCID, please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
    type: str

auth_type:
    choices:
    - api_key
    - instance_principal
    - instance_obo_user
    - resource_principal
    - security_token
    default: api_key
    description:
    - The type of authentication to use for making API requests. By default C(auth_type="api_key")
      based authentication is performed and the API key (see I(api_user_key_file)) in
      your config file will be used. If this 'auth_type' module option is not specified,
      the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use C(auth_type="instance_principal")
      to use instance principal based authentication when running ansible playbooks within
      an OCI compute instance.
    type: str

cert_bundle:
    description:
    - The full path to a CA certificate bundle to be used for SSL verification. This will
      override the default CA certificate bundle. If not set, then the value of the OCI_ANSIBLE_CERT_BUNDLE
      variable, if any, is used.
    type: str

auth_purpose:
    choices:
    - service_principal
    description:
    - The auth purpose which can be used in conjunction with 'auth_type=instance_principal'.
      The default auth_purpose for instance_principal is None.
    type: str

defined_tags:
    description:
    - Defined tags for this resource. Each key is predefined and scoped to a namespace.
      For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
    - 'Example: `{"Operations": {"CostCenter": "42"}}`'
    - This parameter is updatable.
    type: dict

display_name:
    aliases:
    - name
    description:
    - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering
      confidential information.
    - Required for create, update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is set.
    - This parameter is updatable when C(OCI_USE_NAME_AS_IDENTIFIER) is not set.
    type: str

force_create:
    default: false
    description: Whether to attempt non-idempotent creation of a resource. By default,
      create resource is an idempotent operation, and doesn't create the resource if it
      already exists. Setting this option to true, forcefully creates a copy of the resource,
      even if it already exists.This option is mutually exclusive with I(key_by).
    type: bool

wait_timeout:
    description: Time, in seconds, to wait when I(wait=yes). Defaults to 1200 for most
      of the services but some services might have a longer wait timeout.
    type: int

freeform_tags:
    description:
    - Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
      name, type, or namespace. For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
    - 'Example: `{"Department": "Finance"}`'
    - This parameter is updatable.
    type: dict

compartment_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the compartment containing the instance pool.
    - Required for create using I(state=present).
    - Required for update when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set.
    - Required for delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER) is set.
    type: str

load_balancers:
    description:
    - The load balancers to attach to the instance pool.
    elements: dict
    suboptions:
      backend_set_name:
        description:
        - The name of the backend set on the load balancer to add instances to.
        required: true
        type: str
      load_balancer_id:
        description:
        - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
          of the load balancer to attach to the instance pool.
        required: true
        type: str
      port:
        description:
        - The port value to use when creating the backend set.
        required: true
        type: int
      vnic_selection:
        description:
        - Indicates which VNIC on each instance in the pool should be used to associate
          with the load balancer. Possible values are "PrimaryVnic" or the displayName
          of one of the secondary VNICs on the instance configuration that is associated
          with the instance pool.
        required: true
        type: str
    type: list

instance_pool_id:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the instance pool.
    - Required for update using I(state=present) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is not set.
    - Required for delete using I(state=absent) when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is not set.
    type: str

api_user_key_file:
    description:
    - Full path and filename of the private key (in PEM format). If not set, then the
      value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required
      if the private key is not specified through a configuration file (See C(config_file_location)).
      If the key is encrypted with a pass-phrase, the C(api_user_key_pass_phrase) option
      must also be provided.
    type: str

config_profile_name:
    description:
    - The profile to load from the config file referenced by C(config_file_location).
      If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any,
      is used. Otherwise, defaults to the "DEFAULT" profile in C(config_file_location).
    type: str

api_user_fingerprint:
    description:
    - Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT
      environment variable, if any, is used. This option is required if the key fingerprint
      is not specified through a configuration file (See C(config_file_location)). To
      get the key pair's fingerprint value please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
    type: str

config_file_location:
    description:
    - Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment
      variable, if any, is used. Otherwise, defaults to ~/.oci/config.
    type: str

api_user_key_pass_phrase:
    description:
    - Passphrase used by the key referenced in C(api_user_key_file), if it is encrypted.
      If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is
      used. This option is required if the key passphrase is not specified through a configuration
      file (See C(config_file_location)).
    type: str

placement_configurations:
    description:
    - The placement configurations for the instance pool. Provide one placement configuration
      for each availability domain.
    - To use the instance pool with a regional subnet, provide a placement configuration
      for each availability domain, and include the regional subnet in each placement
      configuration.
    - Required for create using I(state=present).
    - This parameter is updatable.
    elements: dict
    suboptions:
      availability_domain:
        description:
        - The availability domain to place instances.
        - 'Example: `Uocm:PHX-AD-1`'
        - This parameter is updatable.
        required: true
        type: str
      fault_domains:
        description:
        - The fault domains to place instances.
        - If you don't provide any values, the system makes a best effort to distribute
          instances across all fault domains based on capacity.
        - To distribute the instances evenly across selected fault domains, provide a
          set of fault domains. For example, you might want instances to be evenly distributed
          if your applications require high availability.
        - To get a list of fault domains, use the L(ListFaultDomains,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/identity/20160918/FaultDomain/ListFaultDomains)
          operation in the Identity and Access Management Service API.
        - 'Example: `[FAULT-DOMAIN-1, FAULT-DOMAIN-2, FAULT-DOMAIN-3]`'
        - This parameter is updatable.
        elements: str
        type: list
      primary_subnet_id:
        description:
        - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
          of the primary subnet in which to place instances.
        - This parameter is updatable.
        required: true
        type: str
      secondary_vnic_subnets:
        description:
        - The set of secondary VNIC data for instances in the pool.
        elements: dict
        suboptions:
          display_name:
            aliases:
            - name
            description:
            - The display name of the VNIC. This is also used to match against the instance
              configuration defined secondary VNIC.
            type: str
          subnet_id:
            description:
            - The subnet L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
              for the secondary VNIC.
            required: true
            type: str
        type: list
    type: list

instance_configuration_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
      of the instance configuration associated with the instance pool.
    - Required for create using I(state=present).
    - This parameter is updatable.
    type: str

instance_hostname_formatter:
    description:
    - A user-friendly formatter for the instance pool's instances. Instance hostnames
      follow the format. The formatter does not retroactively change instance's hostnames,
      only instance hostnames in the future follow the format
    - This parameter is updatable.
    type: str

instance_display_name_formatter:
    description:
    - A user-friendly formatter for the instance pool's instances. Instance displaynames
      follow the format. The formatter does not retroactively change instance's displaynames,
      only instance displaynames in the future follow the format
    - This parameter is updatable.
    type: str

realm_specific_endpoint_template_enabled:
    description:
    - Enable/Disable realm specific endpoint template for service client. By Default,
      realm specific endpoint template is disabled. If not set, then the value of the
      OCI_REALM_SPECIFIC_SERVICE_ENDPOINT_TEMPLATE_ENABLED variable, if any, is used.
    type: bool

Outputs

instance_pool:
  contains:
    compartment_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the compartment containing the instance pool.
      returned: on success
      sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    defined_tags:
      description:
      - Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see L(Resource Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Operations": {"CostCenter": "42"}}`'
      returned: on success
      sample:
        Operations:
          CostCenter: US
      type: dict
    display_name:
      description:
      - A user-friendly name. Does not have to be unique, and it's changeable. Avoid
        entering confidential information.
      returned: on success
      sample: display_name_example
      type: str
    freeform_tags:
      description:
      - Free-form tags for this resource. Each tag is a simple key-value pair with
        no predefined name, type, or namespace. For more information, see L(Resource
        Tags,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
      - 'Example: `{"Department": "Finance"}`'
      returned: on success
      sample:
        Department: Finance
      type: dict
    id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the instance pool.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    instance_configuration_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the instance configuration associated with the instance pool.
      returned: on success
      sample: ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    instance_display_name_formatter:
      description:
      - A user-friendly formatter for the instance pool's instances. Instance displaynames
        follow the format. The formatter does not retroactively change instance's
        displaynames, only instance displaynames in the future follow the format
      returned: on success
      sample: instance_display_name_formatter_example
      type: str
    instance_hostname_formatter:
      description:
      - A user-friendly formatter for the instance pool's instances. Instance hostnames
        follow the format. The formatter does not retroactively change instance's
        hostnames, only instance hostnames in the future follow the format
      returned: on success
      sample: instance_hostname_formatter_example
      type: str
    lifecycle_state:
      description:
      - The current state of the instance pool.
      returned: on success
      sample: PROVISIONING
      type: str
    load_balancers:
      contains:
        backend_set_name:
          description:
          - The name of the backend set on the load balancer.
          returned: on success
          sample: backend_set_name_example
          type: str
        id:
          description:
          - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
            of the load balancer attachment.
          returned: on success
          sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        instance_pool_id:
          description:
          - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
            of the instance pool of the load balancer attachment.
          returned: on success
          sample: ocid1.instancepool.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        lifecycle_state:
          description:
          - The status of the interaction between the instance pool and the load balancer.
          returned: on success
          sample: ATTACHING
          type: str
        load_balancer_id:
          description:
          - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
            of the load balancer attached to the instance pool.
          returned: on success
          sample: ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        port:
          description:
          - The port value used for the backends.
          returned: on success
          sample: 56
          type: int
        vnic_selection:
          description:
          - Indicates which VNIC on each instance in the instance pool should be used
            to associate with the load balancer. Possible values are "PrimaryVnic"
            or the displayName of one of the secondary VNICs on the instance configuration
            that is associated with the instance pool.
          returned: on success
          sample: vnic_selection_example
          type: str
      description:
      - The load balancers attached to the instance pool.
      returned: on success
      type: complex
    placement_configurations:
      contains:
        availability_domain:
          description:
          - The availability domain to place instances.
          - 'Example: `Uocm:PHX-AD-1`'
          returned: on success
          sample: Uocm:PHX-AD-1
          type: str
        fault_domains:
          description:
          - The fault domains to place instances.
          - If you don't provide any values, the system makes a best effort to distribute
            instances across all fault domains based on capacity.
          - To distribute the instances evenly across selected fault domains, provide
            a set of fault domains. For example, you might want instances to be evenly
            distributed if your applications require high availability.
          - To get a list of fault domains, use the L(ListFaultDomains,https://docs.cloud.oracle.com/en-us/iaas/api/#/en/identity/20160918/FaultDomain/ListFaultDomains)
            operation in the Identity and Access Management Service API.
          - 'Example: `[FAULT-DOMAIN-1, FAULT-DOMAIN-2, FAULT-DOMAIN-3]`'
          returned: on success
          sample: []
          type: list
        primary_subnet_id:
          description:
          - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
            of the primary subnet in which to place instances.
          returned: on success
          sample: ocid1.primarysubnet.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        secondary_vnic_subnets:
          contains:
            display_name:
              description:
              - The display name of the VNIC. This is also used to match against the
                instance configuration defined secondary VNIC.
              returned: on success
              sample: display_name_example
              type: str
            subnet_id:
              description:
              - The subnet L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
                for the secondary VNIC.
              returned: on success
              sample: ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx
              type: str
          description:
          - The set of secondary VNIC data for instances in the pool.
          returned: on success
          type: complex
      description:
      - The placement configurations for the instance pool.
      returned: on success
      type: complex
    size:
      description:
      - The number of instances that should be in the instance pool.
      returned: on success
      sample: 56
      type: int
    time_created:
      description:
      - 'The date and time the instance pool was created, in the format defined by
        L(RFC3339,https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z`'
      returned: on success
      sample: '2013-10-20T19:20:30+01:00'
      type: str
  description:
  - Details of the InstancePool resource acted upon by the current operation
  returned: on success
  sample:
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    defined_tags:
      Operations:
        CostCenter: US
    display_name: display_name_example
    freeform_tags:
      Department: Finance
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    instance_configuration_id: ocid1.instanceconfiguration.oc1..xxxxxxEXAMPLExxxxxx
    instance_display_name_formatter: instance_display_name_formatter_example
    instance_hostname_formatter: instance_hostname_formatter_example
    lifecycle_state: PROVISIONING
    load_balancers:
    - backend_set_name: backend_set_name_example
      id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      instance_pool_id: ocid1.instancepool.oc1..xxxxxxEXAMPLExxxxxx
      lifecycle_state: ATTACHING
      load_balancer_id: ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx
      port: 56
      vnic_selection: vnic_selection_example
    placement_configurations:
    - availability_domain: Uocm:PHX-AD-1
      fault_domains: []
      primary_subnet_id: ocid1.primarysubnet.oc1..xxxxxxEXAMPLExxxxxx
      secondary_vnic_subnets:
      - display_name: display_name_example
        subnet_id: ocid1.subnet.oc1..xxxxxxEXAMPLExxxxxx
    size: 56
    time_created: '2013-10-20T19:20:30+01:00'
  type: complex