# 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).

from datetime import datetime
import oci

# 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.config.from_file()


# Initialize service client with default config file
data_catalog_client = oci.data_catalog.DataCatalogClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
search_criteria_response = data_catalog_client.search_criteria(
    catalog_id="ocid1.test.oc1..<unique_ID>EXAMPLE-catalogId-Value",
    search_criteria_details=oci.data_catalog.models.SearchCriteria(
        query="EXAMPLE-query-Value",
        faceted_query="EXAMPLE-facetedQuery-Value",
        dimensions=["EXAMPLE--Value"],
        sort=[
            oci.data_catalog.models.FacetedSearchSortRequest(
                sort_by="EXAMPLE-sortBy-Value",
                sort_order="ASC")],
        filters=oci.data_catalog.models.FacetedSearchFilterRequest(
            search_date_filters=[
                oci.data_catalog.models.FacetedSearchDateFilterRequest(
                    field_name="EXAMPLE-fieldName-Value",
                    time_after=datetime.strptime(
                        "2006-04-27T08:23:00.999Z",
                        "%Y-%m-%dT%H:%M:%S.%fZ"),
                    time_before=datetime.strptime(
                        "2026-07-28T22:27:06.067Z",
                        "%Y-%m-%dT%H:%M:%S.%fZ"))],
            search_string_filters=[
                oci.data_catalog.models.FacetedSearchStringFilterRequest(
                    field="EXAMPLE-field-Value",
                    values=["EXAMPLE--Value"])])),
    display_name="EXAMPLE-displayName-Value",
    name="EXAMPLE-name-Value",
    lifecycle_state="CREATING",
    timeout="EXAMPLE-timeout-Value",
    sort_by="DISPLAYNAME",
    sort_order="DESC",
    limit=103,
    page="EXAMPLE-page-Value",
    opc_request_id="N1JW76QUU70T2ITBSETR<unique_ID>")

# Get the data from response
print(search_criteria_response.data)