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

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
logging_client = oci.logging.LoggingManagementClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
update_unified_agent_configuration_response = logging_client.update_unified_agent_configuration(
    unified_agent_configuration_id="ocid1.test.oc1..<unique_ID>EXAMPLE-unifiedAgentConfigurationId-Value",
    update_unified_agent_configuration_details=oci.logging.models.UpdateUnifiedAgentConfigurationDetails(
        display_name="EXAMPLE-displayName-Value",
        is_enabled=True,
        service_configuration=oci.logging.models.UnifiedAgentLoggingConfiguration(
            configuration_type="LOGGING",
            sources=[
                oci.logging.models.UnifiedAgentWindowsEventSource(
                    source_type="WINDOWS_EVENT_LOG",
                    name="EXAMPLE-name-Value",
                    channels=["EXAMPLE--Value"])],
            destination=oci.logging.models.UnifiedAgentLoggingDestination(
                log_object_id="ocid1.test.oc1..<unique_ID>EXAMPLE-logObjectId-Value",
                operational_metrics_configuration=oci.logging.models.OperationalMetricsConfiguration(
                    source=oci.logging.models.OperationalMetricsSource(
                        type="UMA_METRICS",
                        record_input=oci.logging.models.OperationalMetricsRecordInput(
                            namespace="EXAMPLE-namespace-Value",
                            resource_group="EXAMPLE-resourceGroup-Value"),
                        metrics=["EXAMPLE--Value"]),
                    destination=oci.logging.models.OperationalMetricsDestination(
                        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value"))),
            filter=[
                oci.logging.models.UnifiedAgentLoggingRecordTransformerFilter(
                    filter_type="RECORD_TRANSFORMER_FILTER",
                    name="EXAMPLE-name-Value",
                    record_list=[
                        oci.logging.models.RecordTransformerPair(
                            key="EXAMPLE-key-Value",
                            value="EXAMPLE-value-Value")],
                    is_ruby_enabled=True,
                    is_auto_typecast_enabled=False,
                    is_renew_record_enabled=False,
                    renew_time_key="EXAMPLE-renewTimeKey-Value",
                    keep_keys=["EXAMPLE--Value"],
                    remove_keys=["EXAMPLE--Value"])]),
        defined_tags={
            'EXAMPLE_KEY_7CEiF': {
                'EXAMPLE_KEY_BYtQH': 'EXAMPLE--Value'}},
        freeform_tags={
            'EXAMPLE_KEY_TAqOy': 'EXAMPLE_VALUE_OXOTRqXPxLOk0dItGosH'},
        description="EXAMPLE-description-Value",
        group_association=oci.logging.models.GroupAssociationDetails(
            group_list=["EXAMPLE--Value"])),
    if_match="EXAMPLE-ifMatch-Value",
    opc_request_id="EZA4DSPEPYCTE1ELMOS8<unique_ID>")

# Get the data from response
print(update_unified_agent_configuration_response.headers)