# 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
data_integration_client = oci.data_integration.DataIntegrationClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_user_defined_function_response = data_integration_client.create_user_defined_function(
    workspace_id="ocid1.test.oc1..<unique_ID>EXAMPLE-workspaceId-Value",
    create_user_defined_function_details=oci.data_integration.models.CreateUserDefinedFunctionDetails(
        name="EXAMPLE-name-Value",
        identifier="EXAMPLE-identifier-Value",
        registry_metadata=oci.data_integration.models.RegistryMetadata(
            aggregator_key="EXAMPLE-aggregatorKey-Value",
            labels=["EXAMPLE--Value"],
            registry_version=802,
            key="EXAMPLE-key-Value",
            is_favorite=True),
        key="EXAMPLE-key-Value",
        model_version="EXAMPLE-modelVersion-Value",
        parent_ref=oci.data_integration.models.ParentReference(
            parent="EXAMPLE-parent-Value",
            root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
        signatures=[
            oci.data_integration.models.FunctionSignature(
                key="EXAMPLE-key-Value",
                model_type="DIS_FUNCTION_SIGNATURE",
                model_version="EXAMPLE-modelVersion-Value",
                parent_ref=oci.data_integration.models.ParentReference(
                    parent="EXAMPLE-parent-Value",
                    root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
                name="EXAMPLE-name-Value",
                ret_type=oci.data_integration.models.ConfiguredType(
                    model_type="CONFIGURED_TYPE",
                    key="EXAMPLE-key-Value",
                    model_version="EXAMPLE-modelVersion-Value",
                    parent_ref=oci.data_integration.models.ParentReference(
                        parent="EXAMPLE-parent-Value",
                        root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
                    name="EXAMPLE-name-Value",
                    object_status=370,
                    description="EXAMPLE-description-Value",
                    wrapped_type="EXAMPLE-wrappedType-Value",
                    config_values=oci.data_integration.models.ConfigValues(
                        config_param_values={
                            'EXAMPLE_KEY_YZDx4': {
                                'stringValue': 'EXAMPLE-stringValue-Value',
                                'intValue': 846,
                                'objectValue': 'EXAMPLE-objectValue-Value',
                                'refValue': 'EXAMPLE-refValue-Value',
                                'parameterValue': 'EXAMPLE-parameterValue-Value',
                                'rootObjectValue': 'EXAMPLE-rootObjectValue-Value'}},
                        parent_ref=oci.data_integration.models.ParentReference(
                            parent="EXAMPLE-parent-Value",
                            root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value")),
                    config_definition=oci.data_integration.models.ConfigDefinition(
                        key="EXAMPLE-key-Value",
                        model_type="EXAMPLE-modelType-Value",
                        model_version="EXAMPLE-modelVersion-Value",
                        parent_ref=oci.data_integration.models.ParentReference(
                            parent="EXAMPLE-parent-Value",
                            root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
                        name="EXAMPLE-name-Value",
                        is_contained=False,
                        object_status=945,
                        config_parameter_definitions={
                            'EXAMPLE_KEY_Hm8gg': {
                                'parameterType': {
                                    'modelType': 'COMPOSITE_TYPE',
                                    'key': 'EXAMPLE-key-Value',
                                    'modelVersion': 'EXAMPLE-modelVersion-Value',
                                    'parentRef': {
                                        'parent': 'EXAMPLE-parent-Value',
                                        'rootDocId': 'ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value'},
                                    'name': 'EXAMPLE-name-Value',
                                            'objectStatus': 491,
                                            'description': 'EXAMPLE-description-Value',
                                            'elements': [
                                                {
                                                    'modelType': 'FIELD',
                                                    'key': 'EXAMPLE-key-Value',
                                                    'modelVersion': 'EXAMPLE-modelVersion-Value',
                                                    'parentRef': {
                                                        'parent': 'EXAMPLE-parent-Value',
                                                        'rootDocId': 'ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value'},
                                                    'configValues': {
                                                        'configParamValues': {
                                                            'EXAMPLE_KEY_n3upk': {
                                                                'stringValue': 'EXAMPLE-stringValue-Value',
                                                                'intValue': 296,
                                                                'objectValue': 'EXAMPLE-objectValue-Value',
                                                                'refValue': 'EXAMPLE-refValue-Value',
                                                                'parameterValue': 'EXAMPLE-parameterValue-Value',
                                                                'rootObjectValue': 'EXAMPLE-rootObjectValue-Value'}},
                                                        'parentRef': {
                                                            'parent': 'EXAMPLE-parent-Value',
                                                            'rootDocId': 'ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value'}},
                                                    'objectStatus': 771,
                                                    'name': 'EXAMPLE-name-Value',
                                                    'description': 'EXAMPLE-description-Value'}]},
                                'parameterName': 'EXAMPLE-parameterName-Value',
                                'description': 'EXAMPLE-description-Value',
                                'defaultValue': 'EXAMPLE-defaultValue-Value',
                                            'classFieldName': 'EXAMPLE-classFieldName-Value',
                                'isStatic': True,
                                'isClassFieldValue': True}})),
                arguments=[
                    oci.data_integration.models.Parameter(
                        model_type="PARAMETER",
                        key="EXAMPLE-key-Value",
                        model_version="EXAMPLE-modelVersion-Value",
                        parent_ref=oci.data_integration.models.ParentReference(
                            parent="EXAMPLE-parent-Value",
                            root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
                        config_values=oci.data_integration.models.ConfigValues(
                            config_param_values={
                                'EXAMPLE_KEY_T0x6e': {
                                    'stringValue': 'EXAMPLE-stringValue-Value',
                                    'intValue': 616,
                                    'objectValue': 'EXAMPLE-objectValue-Value',
                                    'refValue': 'EXAMPLE-refValue-Value',
                                    'parameterValue': 'EXAMPLE-parameterValue-Value',
                                    'rootObjectValue': 'EXAMPLE-rootObjectValue-Value'}},
                            parent_ref=oci.data_integration.models.ParentReference(
                                parent="EXAMPLE-parent-Value",
                                root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value")),
                        object_status=823,
                        name="EXAMPLE-name-Value",
                        description="EXAMPLE-description-Value",
                        type="EXAMPLE-type-Value",
                        default_value="EXAMPLE-defaultValue-Value",
                        root_object_default_value="EXAMPLE-rootObjectDefaultValue-Value",
                        is_input=True,
                        is_output=True,
                        output_aggregation_type="MAX",
                        type_name="EXAMPLE-typeName-Value",
                        used_for="EXAMPLE-usedFor-Value")],
                description="EXAMPLE-description-Value",
                object_status=255)],
        expr=oci.data_integration.models.Expression(
            key="EXAMPLE-key-Value",
            model_type="EXAMPLE-modelType-Value",
            model_version="EXAMPLE-modelVersion-Value",
            parent_ref=oci.data_integration.models.ParentReference(
                parent="EXAMPLE-parent-Value",
                root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value"),
            expr_string="EXAMPLE-exprString-Value",
            config_values=oci.data_integration.models.ConfigValues(
                config_param_values={
                    'EXAMPLE_KEY_zc958': {
                        'stringValue': 'EXAMPLE-stringValue-Value',
                        'intValue': 913,
                        'objectValue': 'EXAMPLE-objectValue-Value',
                        'refValue': 'EXAMPLE-refValue-Value',
                        'parameterValue': 'EXAMPLE-parameterValue-Value',
                        'rootObjectValue': 'EXAMPLE-rootObjectValue-Value'}},
                parent_ref=oci.data_integration.models.ParentReference(
                    parent="EXAMPLE-parent-Value",
                    root_doc_id="ocid1.test.oc1..<unique_ID>EXAMPLE-rootDocId-Value")),
            object_status=529),
        description="EXAMPLE-description-Value",
        object_status=657),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="7RJ6X1THJH8WQ2SLZUO3<unique_ID>")

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