oracle.oci.oci_loadbalancer_path_route_set (5.0.0) — module

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

For I(state=present), adds a path route set to a load balancer. For more information, see L(Managing Request Routing,https://docs.cloud.oracle.com/Content/Balance/Tasks/managingrequest.htm).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create path_route_set
  oci_loadbalancer_path_route_set:
    # required
    path_routes:
    - # required
      path: path_example
      path_match_type:
        # required
        match_type: EXACT_MATCH
      backend_set_name: backend_set_name_example
    load_balancer_id: "ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx"
    name: name_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update path_route_set
  oci_loadbalancer_path_route_set:
    # required
    path_routes:
    - # required
      path: path_example
      path_match_type:
        # required
        match_type: EXACT_MATCH
      backend_set_name: backend_set_name_example
    load_balancer_id: "ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx"
    name: name_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete path_route_set
  oci_loadbalancer_path_route_set:
    # required
    load_balancer_id: "ocid1.loadbalancer.oc1..xxxxxxEXAMPLExxxxxx"
    name: name_example
    state: absent

Inputs

    
name:
    description:
    - The name for this set of path route rules. It must be unique and it cannot be changed.
      Avoid entering confidential information.
    - 'Example: `example_path_route_set`'
    required: true
    type: str

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

path_routes:
    description:
    - The set of path route rules.
    - Required for create using I(state=present), update using I(state=present) with name
      present.
    elements: dict
    suboptions:
      backend_set_name:
        description:
        - The name of the target backend set for requests where the incoming URI matches
          the specified path.
        - 'Example: `example_backend_set`'
        required: true
        type: str
      path:
        description:
        - The path string to match against the incoming URI path.
        - '*  Path strings are case-insensitive.'
        - '*  Asterisk (*) wildcards are not supported.'
        - '*  Regular expressions are not supported.'
        - 'Example: `/example/video/123`'
        required: true
        type: str
      path_match_type:
        description:
        - The type of matching to apply to incoming URIs.
        required: true
        suboptions:
          match_type:
            choices:
            - EXACT_MATCH
            - FORCE_LONGEST_PREFIX_MATCH
            - PREFIX_MATCH
            - SUFFIX_MATCH
            description:
            - Specifies how the load balancing service compares a L(PathRoute,https://docs.cloud.oracle.com/en-
              us/iaas/api/#/en/loadbalancer/20170115/requests/PathRoute) object's `path`
              string against the incoming URI.
            - '*  **EXACT_MATCH** - Looks for a `path` string that exactly matches the
              incoming URI path.'
            - '*  **FORCE_LONGEST_PREFIX_MATCH** - Looks for the `path` string with the
              best, longest match of the beginning portion of the incoming URI path.'
            - '*  **PREFIX_MATCH** - Looks for a `path` string that matches the beginning
              portion of the incoming URI path.'
            - '*  **SUFFIX_MATCH** - Looks for a `path` string that matches the ending
              portion of the incoming URI path.'
            - For a full description of how the system handles `matchType` in a path route
              set containing multiple rules, see L(Managing Request Routing,https://docs.cloud.oracle.com/Content/Balance/Tasks/managingrequest.htm).
            required: true
            type: str
        type: dict
    type: list

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

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

load_balancer_id:
    aliases:
    - id
    description:
    - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
      of the load balancer to add the path route set to.
    required: true
    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

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

path_route_set:
  contains:
    name:
      description:
      - The unique name for this set of path route rules. Avoid entering confidential
        information.
      - 'Example: `example_path_route_set`'
      returned: on success
      sample: name_example
      type: str
    path_routes:
      contains:
        backend_set_name:
          description:
          - The name of the target backend set for requests where the incoming URI
            matches the specified path.
          - 'Example: `example_backend_set`'
          returned: on success
          sample: backend_set_name_example
          type: str
        path:
          description:
          - The path string to match against the incoming URI path.
          - '*  Path strings are case-insensitive.'
          - '*  Asterisk (*) wildcards are not supported.'
          - '*  Regular expressions are not supported.'
          - 'Example: `/example/video/123`'
          returned: on success
          sample: path_example
          type: str
        path_match_type:
          contains:
            match_type:
              description:
              - Specifies how the load balancing service compares a L(PathRoute,https://docs.cloud.oracle.com/en-
                us/iaas/api/#/en/loadbalancer/20170115/requests/PathRoute) object's
                `path` string against the incoming URI.
              - '*  **EXACT_MATCH** - Looks for a `path` string that exactly matches
                the incoming URI path.'
              - '*  **FORCE_LONGEST_PREFIX_MATCH** - Looks for the `path` string with
                the best, longest match of the beginning portion of the incoming URI
                path.'
              - '*  **PREFIX_MATCH** - Looks for a `path` string that matches the
                beginning portion of the incoming URI path.'
              - '*  **SUFFIX_MATCH** - Looks for a `path` string that matches the
                ending portion of the incoming URI path.'
              - For a full description of how the system handles `matchType` in a
                path route set containing multiple rules, see L(Managing Request Routing,https://docs.cloud.oracle.com/Content/Balance/Tasks/managingrequest.htm).
              returned: on success
              sample: EXACT_MATCH
              type: str
          description:
          - The type of matching to apply to incoming URIs.
          returned: on success
          type: complex
      description:
      - The set of path route rules.
      returned: on success
      type: complex
  description:
  - Details of the PathRouteSet resource acted upon by the current operation
  returned: on success
  sample:
    name: name_example
    path_routes:
    - backend_set_name: backend_set_name_example
      path: path_example
      path_match_type:
        match_type: EXACT_MATCH
  type: complex