oracle.oci.oci_database_management_job (5.0.0) — module

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

For I(state=present), creates a job to be executed on a Managed Database or Managed Database Group. Only one of the parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in CreateJobDetails resource in request body.

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create job with job_type = SQL
  oci_database_management_job:
    # required
    name: name_example
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    schedule_type: schedule_type_example
    operation_type: operation_type_example
    job_type: SQL

    # optional
    managed_database_group_id: "ocid1.manageddatabasegroup.oc1..xxxxxxEXAMPLExxxxxx"
    managed_database_id: "ocid1.manageddatabase.oc1..xxxxxxEXAMPLExxxxxx"
    database_sub_type: CDB
    description: description_example
    timeout: timeout_example
    result_location:
      # required
      type: OBJECT_STORAGE

      # optional
      namespace_name: namespace_name_example
      bucket_name: bucket_name_example
    schedule_details:
      # optional
      start_time: start_time_example
      end_time: end_time_example
      interval_type: DAILY
      interval_value: interval_value_example
    sql_text: sql_text_example
    sql_type: sql_type_example
    user_name: user_name_example
    password: example-password
    secret_id: "ocid1.secret.oc1..xxxxxxEXAMPLExxxxxx"
    role: role_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update job with job_type = SQL
  oci_database_management_job:
    # required
    job_type: SQL

    # optional
    description: description_example
    timeout: timeout_example
    result_location:
      # required
      type: OBJECT_STORAGE

      # optional
      namespace_name: namespace_name_example
      bucket_name: bucket_name_example
    schedule_details:
      # optional
      start_time: start_time_example
      end_time: end_time_example
      interval_type: DAILY
      interval_value: interval_value_example
    sql_text: sql_text_example
    sql_type: sql_type_example
    user_name: user_name_example
    password: example-password
    secret_id: "ocid1.secret.oc1..xxxxxxEXAMPLExxxxxx"
    role: role_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update job using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set) with job_type = SQL
  oci_database_management_job:
    # required
    name: name_example
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    job_type: SQL

    # optional
    description: description_example
    timeout: timeout_example
    result_location:
      # required
      type: OBJECT_STORAGE

      # optional
      namespace_name: namespace_name_example
      bucket_name: bucket_name_example
    schedule_details:
      # optional
      start_time: start_time_example
      end_time: end_time_example
      interval_type: DAILY
      interval_value: interval_value_example
    sql_text: sql_text_example
    sql_type: sql_type_example
    user_name: user_name_example
    password: example-password
    secret_id: "ocid1.secret.oc1..xxxxxxEXAMPLExxxxxx"
    role: role_example
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete job
  oci_database_management_job:
    # required
    job_id: "ocid1.job.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete job using name (when environment variable OCI_USE_NAME_AS_IDENTIFIER is set)
  oci_database_management_job:
    # required
    name: name_example
    compartment_id: "ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx"
    state: absent

Inputs

    
name:
    description:
    - The name of the job. Valid characters are uppercase or lowercase letters, numbers,
      and "_". The name of the job cannot be modified. It must be unique in the compartment
      and must begin with an alphabetic character.
    - Required for create using I(state=present).
    - Required for update, delete when environment variable C(OCI_USE_NAME_AS_IDENTIFIER)
      is set.
    type: str

role:
    description:
    - The role of the database user. Indicates whether the database user is a normal user
      or sysdba.
    - This parameter is updatable.
    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 Job.
    - Use I(state=present) to create or update a Job.
    - Use I(state=absent) to delete a Job.
    required: false
    type: str

job_id:
    aliases:
    - id
    description:
    - The identifier of the job.
    - 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

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

timeout:
    description:
    - The job timeout duration, which is expressed like "1h 10m 15s".
    - This parameter is updatable.
    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

job_type:
    choices:
    - SQL
    description:
    - The type of job.
    - Required for create using I(state=present), update using I(state=present) with job_id
      present.
    - Applicable when job_type is 'SQL'
    type: str

password:
    description:
    - The password for the database user name used to execute the SQL job.
    - This parameter is updatable.
    type: str

sql_text:
    description:
    - The SQL text to be executed as part of the job.
    - This parameter is updatable.
    type: str

sql_type:
    description:
    - ''
    - This parameter is updatable.
    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

secret_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
      of the secret containing the user password.
    - This parameter is updatable.
    type: str

user_name:
    description:
    - The database user name used to execute the SQL job. If the job is being executed
      on a Managed Database Group, then the user name should exist on all the databases
      in the group with the same password.
    - This parameter is updatable.
    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

description:
    description:
    - The description of the job.
    - This parameter is updatable.
    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

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

schedule_type:
    description:
    - The schedule type of the job.
    - Required for create using I(state=present).
    type: str

compartment_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
      of the compartment in which the job resides.
    - 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

operation_type:
    description:
    - The SQL operation type.
    - Required for create using I(state=present).
    type: str

result_location:
    description:
    - ''
    - This parameter is updatable.
    suboptions:
      bucket_name:
        description:
        - The name of the bucket used for job execution result storage.
        type: str
      namespace_name:
        description:
        - The Object Storage namespace used for job execution result storage.
        type: str
      type:
        choices:
        - OBJECT_STORAGE
        description:
        - The type of the job execution result location.
        required: true
        type: str
    type: dict

schedule_details:
    description:
    - ''
    - This parameter is updatable.
    suboptions:
      end_time:
        description:
        - The end time of the scheduled job in UTC in ISO-8601 format, which is "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
        type: str
      interval_type:
        choices:
        - DAILY
        - HOURLY
        - WEEKLY
        - MONTHLY
        - NEVER
        description:
        - The interval type for a recurring scheduled job. For a non-recurring (one time)
          job, NEVER must be specified as the interval type.
        type: str
      interval_value:
        description:
        - The value for the interval period for a recurring scheduled job.
        type: str
      start_time:
        description:
        - The start time of the scheduled job in UTC in ISO-8601 format, which is "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
        type: str
    type: dict

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

database_sub_type:
    choices:
    - CDB
    - PDB
    - NON_CDB
    - ACD
    - ADB
    description:
    - The subtype of the Oracle Database where the job has to be executed. Only applicable
      when managedDatabaseGroupId is 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

managed_database_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
      of the Managed Database where the job has to be executed.
    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

managed_database_group_id:
    description:
    - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
      of the Managed Database Group where the job has to be executed.
    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

job:
  contains:
    compartment_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
        of the compartment in which the job resides.
      returned: on success
      sample: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    database_sub_type:
      description:
      - The subtype of the Oracle Database where the job has to be executed. Applicable
        only when managedDatabaseGroupId is provided.
      returned: on success
      sample: CDB
      type: str
    description:
      description:
      - The description of the job.
      returned: on success
      sample: description_example
      type: str
    id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
        of the job.
      returned: on success
      sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    job_type:
      description:
      - The type of job.
      returned: on success
      sample: SQL
      type: str
    lifecycle_state:
      description:
      - The lifecycle state of the job.
      returned: on success
      sample: ACTIVE
      type: str
    managed_database_group_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
        of the Managed Database Group where the job has to be executed.
      returned: on success
      sample: ocid1.manageddatabasegroup.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    managed_database_id:
      description:
      - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
        of the Managed Database where the job has to be executed.
      returned: on success
      sample: ocid1.manageddatabase.oc1..xxxxxxEXAMPLExxxxxx
      type: str
    managed_databases_details:
      contains:
        database_sub_type:
          description:
          - The subtype of the Oracle Database. Indicates whether the database is
            a Container Database, Pluggable Database, or a Non-container Database.
          returned: on success
          sample: CDB
          type: str
        database_type:
          description:
          - The type of Oracle Database installation.
          returned: on success
          sample: EXTERNAL_SIDB
          type: str
        deployment_type:
          description:
          - A list of the supported infrastructure that can be used to deploy the
            database.
          returned: on success
          sample: ONPREMISE
          type: str
        id:
          description:
          - The L(OCID,https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
            of the Managed Database.
          returned: on success
          sample: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
          type: str
        is_cluster:
          description:
          - Indicates whether the Oracle Database is part of a cluster.
          returned: on success
          sample: true
          type: bool
        name:
          description:
          - The name of the Managed Database.
          returned: on success
          sample: name_example
          type: str
        workload_type:
          description:
          - The workload type of the Autonomous Database.
          returned: on success
          sample: OLTP
          type: str
      description:
      - The details of the Managed Databases where the job has to be executed.
      returned: on success
      type: complex
    name:
      description:
      - The display name of the job.
      returned: on success
      sample: name_example
      type: str
    operation_type:
      description:
      - The SQL operation type.
      returned: on success
      sample: EXECUTE_SQL
      type: str
    result_location:
      contains:
        bucket_name:
          description:
          - The name of the bucket used for job execution result storage.
          returned: on success
          sample: bucket_name_example
          type: str
        namespace_name:
          description:
          - The Object Storage namespace used for job execution result storage.
          returned: on success
          sample: namespace_name_example
          type: str
        type:
          description:
          - The type of the job execution result location.
          returned: on success
          sample: OBJECT_STORAGE
          type: str
      description:
      - ''
      returned: on success
      type: complex
    role:
      description:
      - The role of the database user. Indicates whether the database user is a normal
        user or sysdba.
      returned: on success
      sample: NORMAL
      type: str
    schedule_details:
      contains:
        end_time:
          description:
          - The end time of the scheduled job in UTC in ISO-8601 format, which is
            "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
          returned: on success
          sample: end_time_example
          type: str
        interval_type:
          description:
          - The interval type for a recurring scheduled job. For a non-recurring (one
            time) job, NEVER must be specified as the interval type.
          returned: on success
          sample: DAILY
          type: str
        interval_value:
          description:
          - The value for the interval period for a recurring scheduled job.
          returned: on success
          sample: interval_value_example
          type: str
        start_time:
          description:
          - The start time of the scheduled job in UTC in ISO-8601 format, which is
            "yyyy-MM-dd'T'hh:mm:ss.sss'Z'".
          returned: on success
          sample: start_time_example
          type: str
      description:
      - ''
      returned: on success
      type: complex
    schedule_type:
      description:
      - The schedule type of the job.
      returned: on success
      sample: IMMEDIATE
      type: str
    sql_text:
      description:
      - The SQL text to be executed in the job. This is a mandatory field for the
        EXECUTE_SQL operationType.
      returned: on success
      sample: sql_text_example
      type: str
    sql_type:
      description:
      - The type of SQL. This is a mandatory field for the EXECUTE_SQL operationType.
      returned: on success
      sample: QUERY
      type: str
    submission_error_message:
      description:
      - The error message that is returned if the job submission fails. Null is returned
        in all other scenarios.
      returned: on success
      sample: submission_error_message_example
      type: str
    time_created:
      description:
      - The date and time when the job was created.
      returned: on success
      sample: '2013-10-20T19:20:30+01:00'
      type: str
    time_updated:
      description:
      - The date and time when the job was last updated.
      returned: on success
      sample: '2013-10-20T19:20:30+01:00'
      type: str
    timeout:
      description:
      - The job timeout duration, which is expressed like "1h 10m 15s".
      returned: on success
      sample: timeout_example
      type: str
    user_name:
      description:
      - The database user name used to execute the SQL job. If the job is being executed
        on a Managed Database Group, then the user name should exist on all the databases
        in the group with the same password.
      returned: on success
      sample: user_name_example
      type: str
  description:
  - Details of the Job resource acted upon by the current operation
  returned: on success
  sample:
    compartment_id: ocid1.compartment.oc1..xxxxxxEXAMPLExxxxxx
    database_sub_type: CDB
    description: description_example
    id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
    job_type: SQL
    lifecycle_state: ACTIVE
    managed_database_group_id: ocid1.manageddatabasegroup.oc1..xxxxxxEXAMPLExxxxxx
    managed_database_id: ocid1.manageddatabase.oc1..xxxxxxEXAMPLExxxxxx
    managed_databases_details:
    - database_sub_type: CDB
      database_type: EXTERNAL_SIDB
      deployment_type: ONPREMISE
      id: ocid1.resource.oc1..xxxxxxEXAMPLExxxxxx
      is_cluster: true
      name: name_example
      workload_type: OLTP
    name: name_example
    operation_type: EXECUTE_SQL
    result_location:
      bucket_name: bucket_name_example
      namespace_name: namespace_name_example
      type: OBJECT_STORAGE
    role: NORMAL
    schedule_details:
      end_time: end_time_example
      interval_type: DAILY
      interval_value: interval_value_example
      start_time: start_time_example
    schedule_type: IMMEDIATE
    sql_text: sql_text_example
    sql_type: QUERY
    submission_error_message: submission_error_message_example
    time_created: '2013-10-20T19:20:30+01:00'
    time_updated: '2013-10-20T19:20:30+01:00'
    timeout: timeout_example
    user_name: user_name_example
  type: complex