# 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
dif_client = oci.dif.StackClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
add_service_response = dif_client.add_service(
    stack_id="ocid1.test.oc1..<unique_ID>EXAMPLE-stackId-Value",
    add_service_details=oci.dif.models.AddServiceDetails(
        stack_templates=["DATAPIPELINE"],
        services=["DATAFLOW"],
        adb=[
            oci.dif.models.AdbDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                db_workload="DW",
                ecpu=373,
                data_storage_size_in_tbs=607,
                admin_password_id="ocid1.test.oc1..<unique_ID>EXAMPLE-adminPasswordId-Value",
                db_version="EXAMPLE-dbVersion-Value",
                is_mtls_connection_required=False,
                subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                tools_public_access="EXAMPLE-toolsPublicAccess-Value",
                is_public=False)],
        ggcs=[
            oci.dif.models.GgcsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                ocpu=687,
                subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                password_secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-passwordSecretId-Value",
                public_subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-publicSubnetId-Value",
                ogg_version="EXAMPLE-oggVersion-Value",
                connections=[
                            oci.dif.models.GgcsConnectionDetails(
                                connection_name="EXAMPLE-connectionName-Value",
                                dif_dependencies=[
                                    oci.dif.models.DifDependencyDetails(
                                        service_type="EXAMPLE-serviceType-Value",
                                        service_instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-serviceInstanceId-Value")],
                                gg_admin_secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-ggAdminSecretId-Value",
                                connection_id="ocid1.test.oc1..<unique_ID>EXAMPLE-connectionId-Value")])],
        dataflow=[
            oci.dif.models.DataflowDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                spark_version="EXAMPLE-sparkVersion-Value",
                driver_shape="EXAMPLE-driverShape-Value",
                executor_shape="EXAMPLE-executorShape-Value",
                num_executors=934,
                log_bucket_instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-logBucketInstanceId-Value",
                driver_shape_config=oci.dif.models.ShapeConfig(
                    memory_in_gbs=416,
                    ocpus=268),
                executor_shape_config=oci.dif.models.ShapeConfig(
                    memory_in_gbs=734,
                    ocpus=665),
                private_endpoint_id="ocid1.test.oc1..<unique_ID>EXAMPLE-privateEndpointId-Value",
                connections=oci.dif.models.DataflowConnections(
                    subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                    connection_details=oci.dif.models.DataflowConnectionDetails(
                        dif_dependencies=[
                            oci.dif.models.DifDependencyDetails(
                                service_type="EXAMPLE-serviceType-Value",
                                service_instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-serviceInstanceId-Value")],
                        domain_names=["EXAMPLE--Value"])),
                warehouse_bucket_instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-warehouseBucketInstanceId-Value")],
        objectstorage=[
            oci.dif.models.ObjectStorageDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                object_versioning="ENABLED",
                storage_tier="STANDARD",
                auto_tiering="DISABLED")],
        genai=[
            oci.dif.models.GenAiDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                cluster_type="HOSTING",
                base_model="EXAMPLE-baseModel-Value",
                oci_region="EXAMPLE-ociRegion-Value",
                unit_count=439,
                endpoints=[
                    oci.dif.models.EndpointDetails(
                        endpoint_name="EXAMPLE-endpointName-Value",
                        is_content_moderation_enabled=True)])],
        aidataplatform=[
            oci.dif.models.AiDataPlatformDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                default_workspace_name="EXAMPLE-defaultWorkspaceName-Value")],
        omk=[
            oci.dif.models.OmkDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                cluster_namespace_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clusterNamespaceId-Value",
                cluster_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clusterId-Value",
                namespace_name="EXAMPLE-namespaceName-Value")],
        oke=[
            oci.dif.models.OkeDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                cluster_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clusterId-Value",
                namespace_name="EXAMPLE-namespaceName-Value")]),
    if_match="EXAMPLE-ifMatch-Value",
    opc_request_id="ENOIGUDSWEWKAK3T8YQZ<unique_ID>")

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