# This is an automatically generated code sample.
# To make this code sample work in your Oracle Cloud tenancy,
# please replace the values for any parameters whose current values do not fit
# your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
# boolean, number, and enum parameters with values not fitting your use case).

require 'oci'
require 'date'

# Create a default config using DEFAULT profile in default location
# Refer to https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File for more info
config = OCI::ConfigFileLoader.load_config

# Initialize service client with default config file
opsi_client = OCI::Opsi::OperationsInsightsClient.new(config: config)

# Send the request to service, some parameters are not required, see API doc for more info
query_opsi_data_object_data_response =
  opsi_client.query_opsi_data_object_data(
    'ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value',
    OCI::Opsi::Models::QueryOpsiDataObjectDataDetails.new(
      query:
        OCI::Opsi::Models::DataObjectStandardQuery.new(
          query_type: 'STANDARD_QUERY',
          bind_params: [
            OCI::Opsi::Models::DataObjectBindParameter.new(
              name: 'EXAMPLE-name-Value',
              value: 'EXAMPLE-value-Value',
              data_type: 'EXAMPLE-dataType-Value'
            )
          ],
          query_execution_timeout_in_seconds: 5133.8784,
          statement: 'EXAMPLE-statement-Value',
          time_filters:
            OCI::Opsi::Models::DataObjectQueryTimeFilters.new(
              time_period: 'EXAMPLE-timePeriod-Value',
              time_start: DateTime.parse('2024-04-15T11:46:16.785Z'),
              time_end: DateTime.parse('2036-01-30T17:05:43.414Z')
            )
        ),
      data_object_identifier: 'EXAMPLE-dataObjectIdentifier-Value',
      data_objects: [
        OCI::Opsi::Models::IndividualOpsiDataObjectDetailsInQuery.new(
          data_object_details_target: 'INDIVIDUAL_OPSIDATAOBJECT',
          data_object_identifier: 'EXAMPLE-dataObjectIdentifier-Value',
          query_params: [
            { 'name': 'EXAMPLE-name-Value', 'value': 'EXAMPLE-value-Value' }
          ]
        )
      ],
      resource_filters:
        OCI::Opsi::Models::ResourceFilters.new(
          defined_tag_equals: %w[EXAMPLE--Value],
          freeform_tag_equals: %w[EXAMPLE--Value],
          defined_tag_exists: %w[EXAMPLE--Value],
          freeform_tag_exists: %w[EXAMPLE--Value],
          compartment_id_in_subtree: true
        )
    )
  )

# Get the data from response
puts "#{query_opsi_data_object_data_response.data}"