# 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
deploy_artifacts_response = dif_client.deploy_artifacts(
    stack_id="ocid1.test.oc1..<unique_ID>EXAMPLE-stackId-Value",
    deploy_artifacts_details=oci.dif.models.DeployArtifactsDetails(
        stack_templates=["DATALAKE"],
        services=["GENAI"],
        subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
        adb=[
            oci.dif.models.AdbArtifactsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                artifact_object_storage_path="EXAMPLE-artifactObjectStoragePath-Value",
                db_credentials=[
                    oci.dif.models.DbCredentialsDetail(
                        user_name="EXAMPLE-userName-Value",
                        secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value",
                        user_type="EXAMPLE-userType-Value")])],
        ggcs=[
            oci.dif.models.GgcsArtifactsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                artifact_object_storage_path="EXAMPLE-artifactObjectStoragePath-Value",
                users=[
                    oci.dif.models.GgcsUserDetail(
                        user_name="EXAMPLE-userName-Value",
                        secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value",
                        user_type="EXAMPLE-userType-Value",
                        action="UPDATE")],
                sources=[
                    oci.dif.models.GgcsSourceDetail(
                        source_id="ocid1.test.oc1..<unique_ID>EXAMPLE-sourceId-Value",
                        action="UPDATE",
                        should_start_source_operations=True,
                        target_uri="EXAMPLE-targetUri-Value",
                        target_connection_name="EXAMPLE-targetConnectionName-Value")],
                targets=[
                    oci.dif.models.GgcsTargetDetail(
                        target_id="ocid1.test.oc1..<unique_ID>EXAMPLE-targetId-Value",
                        action="UPDATE",
                        should_start_target_operations=True,
                        source_uri="EXAMPLE-sourceUri-Value",
                        source_connection_name="EXAMPLE-sourceConnectionName-Value")])],
        dataflow=[
            oci.dif.models.DataflowArtifactsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                execute="EXAMPLE-execute-Value",
                archive_uri="EXAMPLE-archiveUri-Value")],
        omk=[
            oci.dif.models.OmkArtifactsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                secrets=[
                    oci.dif.models.SecretDetail(
                        secret_name="EXAMPLE-secretName-Value",
                        secret_data=[
                            oci.dif.models.SecretData(
                                key="EXAMPLE-key-Value",
                                secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value")],
                        template_object_storage_path="EXAMPLE-templateObjectStoragePath-Value")],
                manifest_object_storage_path="EXAMPLE-manifestObjectStoragePath-Value",
                component_value_overrides=[
                    oci.dif.models.ComponentValueOverride(
                        component_name="EXAMPLE-componentName-Value",
                        value_overrides={
                            'EXAMPLE_KEY_3tgtF': 'EXAMPLE_VALUE_UkjfVa7xJkuoKDmu3HwY'})])],
        oke=[
            oci.dif.models.OkeArtifactsDetail(
                instance_id="ocid1.test.oc1..<unique_ID>EXAMPLE-instanceId-Value",
                secrets=[
                    oci.dif.models.SecretDetail(
                        secret_name="EXAMPLE-secretName-Value",
                        secret_data=[
                            oci.dif.models.SecretData(
                                key="EXAMPLE-key-Value",
                                secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value")],
                        template_object_storage_path="EXAMPLE-templateObjectStoragePath-Value")],
                manifest_object_storage_path="EXAMPLE-manifestObjectStoragePath-Value",
                component_value_overrides=[
                    oci.dif.models.ComponentValueOverride(
                        component_name="EXAMPLE-componentName-Value",
                        value_overrides={
                            'EXAMPLE_KEY_Lyvw0': 'EXAMPLE_VALUE_dbMuUtxbTb1IqKyhbF2k'})])]),
    if_match="EXAMPLE-ifMatch-Value",
    opc_request_id="XK2AYPMLOCSN5AAPTV3A<unique_ID>",
    opc_retry_token="EXAMPLE-opcRetryToken-Value")

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