oracle.oci.oci_compute_capacity_reservation (5.0.0) — module

Manage a ComputeCapacityReservation 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 a ComputeCapacityReservation resource in Oracle Cloud Infrastructure

For I(state=present), creates a new compute capacity reservation in the specified compartment and availability domain. Compute capacity reservations let you reserve instances in a compartment. When you launch an instance using this reservation, you are assured that you have enough space for your instance, and you won't get out of capacity errors. For more information, see L(Reserved Capacity,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm).

This resource has the following action operations in the M(oracle.oci.oci_compute_capacity_reservation_actions) module: change_compartment.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create compute_capacity_reservation
  oci_compute_capacity_reservation:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    availability_domain: Uocm:PHX-AD-1

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    is_default_reservation: true
    instance_reservation_configs:
    - # required
      instance_shape: instance_shape_example
      reserved_count: 56

      # optional
      instance_shape_config:
        # optional
        ocpus: 3.4
        memory_in_gbs: 3.4
      fault_domain: FAULT-DOMAIN-1
      cluster_config:
        # required
        hpc_island_id: "ocid1.hpcisland.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        network_block_ids: [ "network_block_ids_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update compute_capacity_reservation
  oci_compute_capacity_reservation:
    # required
    capacity_reservation_id: "ocid1.capacityreservation.oc1..xxxxxxEXAMPLExxxxxx"

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    display_name: display_name_example
    freeform_tags: {'Department': 'Finance'}
    is_default_reservation: true
    instance_reservation_configs:
    - # required
      instance_shape: instance_shape_example
      reserved_count: 56

      # optional
      instance_shape_config:
        # optional
        ocpus: 3.4
        memory_in_gbs: 3.4
      fault_domain: FAULT-DOMAIN-1
      cluster_config:
        # required
        hpc_island_id: "ocid1.hpcisland.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        network_block_ids: [ "network_block_ids_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update compute_capacity_reservation using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_compute_capacity_reservation:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example

    # optional
    defined_tags: {'Operations': {'CostCenter': 'US'}}
    freeform_tags: {'Department': 'Finance'}
    is_default_reservation: true
    instance_reservation_configs:
    - # required
      instance_shape: instance_shape_example
      reserved_count: 56

      # optional
      instance_shape_config:
        # optional
        ocpus: 3.4
        memory_in_gbs: 3.4
      fault_domain: FAULT-DOMAIN-1
      cluster_config:
        # required
        hpc_island_id: "ocid1.hpcisland.oc1..xxxxxxEXAMPLExxxxxx"

        # optional
        network_block_ids: [ "network_block_ids_example" ]
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete compute_capacity_reservation
  oci_compute_capacity_reservation:
    # required
    capacity_reservation_id: "ocid1.capacityreservation.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete compute_capacity_reservation using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_compute_capacity_reservation:
    # required
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    display_name: display_name_example
    state: absent

Inputs

    
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 ComputeCapacityReservation.
    - Use I(state=present) to create or update a ComputeCapacityReservation.
    - Use I(state=absent) to delete a ComputeCapacityReservation.
    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 capacity reservation.
    - 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

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

availability_domain:
    description:
    - The availability domain of this compute capacity reservation.
    - 'Example: `Uocm:PHX-AD-1`'
    - Required for create using I(state=present).
    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

is_default_reservation:
    description:
    - Whether this capacity reservation is the default. For more information, see L(Capacity
      Reservations,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default).
    - This parameter is updatable.
    type: bool

capacity_reservation_id:
    aliases:
    - id
    description:
    - The OCID of the compute capacity reservation.
    - 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_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

instance_reservation_configs:
    description:
    - The capacity configurations for the capacity reservation.
    - To use the reservation for the desired shape, specify the shape, count, and optionally
      the fault domain where you want this configuration.
    - This parameter is updatable.
    elements: dict
    suboptions:
      cluster_config:
        description:
        - ''
        suboptions:
          hpc_island_id:
            description:
            - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
              of the HPC island.
            required: true
            type: str
          network_block_ids:
            description:
            - The list of OCIDs of the network blocks.
            elements: str
            type: list
        type: dict
      fault_domain:
        description:
        - The fault domain to use for instances created using this capacity configuration.
          For more information, see L(Fault Domains,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm#fault).
          If you do not specify the fault domain, the capacity is available for an instance
          that does not specify a fault domain. To change the fault domain for a reservation,
          delete the reservation and create a new one in the preferred fault domain.
        - To retrieve a list of fault domains, use the `ListFaultDomains` operation in
          the L(Identity and Access Management Service API,https://docs.cloud.oracle.com/iaas/api/#/en/identity/20160918/).
        - 'Example: `FAULT-DOMAIN-1`'
        type: str
      instance_shape:
        description:
        - The shape requested when launching instances using reserved capacity. The shape
          determines the number of CPUs, amount of memory, and other resources allocated
          to the instance. You can list all available shapes by calling L(ListComputeCapacityReservationInstanceShapes,https://docs.cloud.oracle.com/en-
          us/iaas/api/#/en/iaas/computeCapacityReservationInstanceShapes/ListComputeCapacityReservationInstanceShapes).
        required: true
        type: str
      instance_shape_config:
        description:
        - ''
        suboptions:
          memory_in_gbs:
            description:
            - The total amount of memory available to the instance, in gigabytes.
            type: float
          ocpus:
            description:
            - The total number of OCPUs available to the instance.
            type: float
        type: dict
      reserved_count:
        description:
        - The total number of instances that can be launched from the capacity configuration.
        required: true
        type: int
    type: list

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

compute_capacity_reservation:
  contains:
    availability_domain:
      description:
      - The availability domain of the compute capacity reservation.
      - 'Example: `Uocm:PHX-AD-1`'
      returned: on success
      sample: Uocm:PHX-AD-1
      type: str
    compartment_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
        of the compartment containing the compute capacity reservation.
      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 compute capacity reservation.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    instance_reservation_configs:
      contains:
        cluster_config:
          contains:
            hpc_island_id:
              description:
              - The L(OCID,https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
                of the HPC island.
              returned: on success
              sample: ocid1.hpcisland.oc1..xxxxxxEXAMPLExxxxxx
              type: str
            network_block_ids:
              description:
              - The list of OCIDs of the network blocks.
              returned: on success
              sample: []
              type: list
          description:
          - ''
          returned: on success
          type: complex
        fault_domain:
          description:
          - The fault domain of this capacity configuration. If a value is not supplied,
            this capacity configuration is applicable to all fault domains in the
            specified availability domain. For more information, see L(Capacity Reservations,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm).
          returned: on success
          sample: FAULT-DOMAIN-1
          type: str
        instance_shape:
          description:
          - The shape to use when launching instances using compute capacity reservations.
            The shape determines the number of CPUs, the amount of memory, and other
            resources allocated to the instance. You can list all available shapes
            by calling L(ListComputeCapacityReservationInstanceShapes,https://docs.cloud.oracle.com/en-
            us/iaas/api/#/en/iaas/computeCapacityReservationInstanceShapes/ListComputeCapacityReservationInstanceShapes).
          returned: on success
          sample: instance_shape_example
          type: str
        instance_shape_config:
          contains:
            memory_in_gbs:
              description:
              - The total amount of memory available to the instance, in gigabytes.
              returned: on success
              sample: 3.4
              type: float
            ocpus:
              description:
              - The total number of OCPUs available to the instance.
              returned: on success
              sample: 3.4
              type: float
          description:
          - ''
          returned: on success
          type: complex
        reserved_count:
          description:
          - The total number of instances that can be launched from the capacity configuration.
          returned: on success
          sample: 56
          type: int
        used_count:
          description:
          - The amount of capacity in use out of the total capacity reserved in this
            capacity configuration.
          returned: on success
          sample: 56
          type: int
      description:
      - The capacity configurations for the capacity reservation.
      - To use the reservation for the desired shape, specify the shape, count, and
        optionally the fault domain where you want this configuration.
      returned: on success
      type: complex
    is_default_reservation:
      description:
      - Whether this capacity reservation is the default. For more information, see
        L(Capacity Reservations,https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default).
      returned: on success
      sample: true
      type: bool
    lifecycle_state:
      description:
      - The current state of the compute capacity reservation.
      returned: on success
      sample: ACTIVE
      type: str
    reserved_instance_count:
      description:
      - The number of instances for which capacity will be held with this compute
        capacity reservation. This number is the sum of the values of the `reservedCount`
        fields for all of the instance capacity configurations under this reservation.
        The purpose of this field is to calculate the percentage usage of the reservation.
      returned: on success
      sample: 56
      type: int
    time_created:
      description:
      - The date and time the compute capacity reservation 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
    time_updated:
      description:
      - The date and time the compute capacity reservation was updated, 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
    used_instance_count:
      description:
      - The total number of instances currently consuming space in this compute capacity
        reservation. This number is the sum of the values of the `usedCount` fields
        for all of the instance capacity configurations under this reservation. The
        purpose of this field is to calculate the percentage usage of the reservation.
      returned: on success
      sample: 56
      type: int
  description:
  - Details of the ComputeCapacityReservation resource acted upon by the current operation
  returned: on success
  sample:
    availability_domain: Uocm:PHX-AD-1
    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_reservation_configs:
    - cluster_config:
        hpc_island_id: ocid1.hpcisland.oc1..xxxxxxEXAMPLExxxxxx
        network_block_ids: []
      fault_domain: FAULT-DOMAIN-1
      instance_shape: instance_shape_example
      instance_shape_config:
        memory_in_gbs: 3.4
        ocpus: 3.4
      reserved_count: 56
      used_count: 56
    is_default_reservation: true
    lifecycle_state: ACTIVE
    reserved_instance_count: 56
    time_created: '2013-10-20T19:20:30+01:00'
    time_updated: '2013-10-20T19:20:30+01:00'
    used_instance_count: 56
  type: complex