# 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="DESC")],
        filters=oci.data_catalog.models.FacetedSearchFilterRequest(
            search_date_filters=[
                oci.data_catalog.models.FacetedSearchDateFilterRequest(
                    field_name="EXAMPLE-fieldName-Value",
                    time_after=datetime.strptime(
                        "2037-03-08T07:08:06.553Z",
                        "%Y-%m-%dT%H:%M:%S.%fZ"),
                    time_before=datetime.strptime(
                        "2028-04-06T08:06:13.262Z",
                        "%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="UPDATING",
    timeout="EXAMPLE-timeout-Value",
    sort_by="DISPLAYNAME",
    sort_order="ASC",
    limit=731,
    page="EXAMPLE-page-Value",
    opc_request_id="T4GW9Q3M3FPKXFQKD0SO<unique_ID>")

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