{
   "components": {
     "comp-custom-training-job": {
       "executorLabel": "exec-custom-training-job",
       "inputDefinitions": {
         "parameters": {
           "base_output_directory": {
             "defaultValue": "",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "display_name": {
             "parameterType": "STRING"
           },
           "enable_web_access": {
             "defaultValue": false,
             "isOptional": true,
             "parameterType": "BOOLEAN"
           },
           "encryption_spec_key_name": {
             "defaultValue": "",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "labels": {
             "defaultValue": {},
             "isOptional": true,
             "parameterType": "STRUCT"
           },
           "location": {
             "defaultValue": "us-central1",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "network": {
             "defaultValue": "",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "project": {
             "parameterType": "STRING"
           },
           "reserved_ip_ranges": {
             "defaultValue": [],
             "isOptional": true,
             "parameterType": "LIST"
           },
           "restart_job_on_worker_restart": {
             "defaultValue": false,
             "isOptional": true,
             "parameterType": "BOOLEAN"
           },
           "service_account": {
             "defaultValue": "",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "tensorboard": {
             "defaultValue": "",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "timeout": {
             "defaultValue": "604800s",
             "isOptional": true,
             "parameterType": "STRING"
           },
           "worker_pool_specs": {
             "defaultValue": [],
             "isOptional": true,
             "parameterType": "LIST"
           }
         }
       },
       "outputDefinitions": {
         "parameters": {
           "gcp_resources": {
             "parameterType": "STRING"
           }
         }
       }
     }
   },
   "deploymentSpec": {
     "executors": {
       "exec-custom-training-job": {
         "container": {
           "args": [
             "--type",
             "CustomJob",
             "--payload",
             "{\"Concat\": [\"{\", \"\\\"display_name\\\": \\\"\", \"{{$.inputs.parameters['display_name']}}\", \"\\\"\", \", \\\"job_spec\\\": {\", \"\\\"worker_pool_specs\\\": \", \"{{$.inputs.parameters['worker_pool_specs']}}\", \", \\\"scheduling\\\": {\", \"\\\"timeout\\\": \\\"\", \"{{$.inputs.parameters['timeout']}}\", \"\\\"\", \", \\\"restart_job_on_worker_restart\\\": \\\"\", \"{{$.inputs.parameters['restart_job_on_worker_restart']}}\", \"\\\"\", \"}\", \", \\\"service_account\\\": \\\"\", \"{{$.inputs.parameters['service_account']}}\", \"\\\"\", \", \\\"tensorboard\\\": \\\"\", \"{{$.inputs.parameters['tensorboard']}}\", \"\\\"\", \", \\\"enable_web_access\\\": \\\"\", \"{{$.inputs.parameters['enable_web_access']}}\", \"\\\"\", \", \\\"network\\\": \\\"\", \"{{$.inputs.parameters['network']}}\", \"\\\"\", \", \\\"reserved_ip_ranges\\\": \", \"{{$.inputs.parameters['reserved_ip_ranges']}}\", \", \\\"base_output_directory\\\": {\", \"\\\"output_uri_prefix\\\": \\\"\", \"{{$.inputs.parameters['base_output_directory']}}\", \"\\\"\", \"}\", \"}\", \", \\\"labels\\\": \", \"{{$.inputs.parameters['labels']}}\", \", \\\"encryption_spec\\\": {\\\"kms_key_name\\\":\\\"\", \"{{$.inputs.parameters['encryption_spec_key_name']}}\", \"\\\"}\", \"}\"]}",
             "--project",
             "{{$.inputs.parameters['project']}}",
             "--location",
             "{{$.inputs.parameters['location']}}",
             "--gcp_resources",
             "{{$.outputs.parameters['gcp_resources'].output_file}}"
           ],
           "command": [
             "python3",
             "-u",
             "-m",
             "google_cloud_pipeline_components.container.v1.custom_job.launcher"
           ],
           "image": "gcr.io/ml-pipeline/google-cloud-pipeline-components:2.0.0b1"
         }
       }
     }
   },
   "pipelineInfo": {
     "name": "training-test"
   },
   "root": {
     "dag": {
       "tasks": {
         "custom-training-job": {
           "cachingOptions": {
             "enableCache": true
           },
           "componentRef": {
             "name": "comp-custom-training-job"
           },
           "inputs": {
             "parameters": {
               "display_name": {
                 "runtimeValue": {
                   "constant": "fake_job"
                 }
               },
               "labels": {
                 "runtimeValue": {
                   "constant": {
                     "key1": "val1"
                   }
                 }
               },
               "location": {
                 "runtimeValue": {
                   "constant": "us-central1"
                 }
               },
               "project": {
                 "runtimeValue": {
                   "constant": "test_project"
                 }
               },
               "reserved_ip_ranges": {
                 "runtimeValue": {
                   "constant": [
                     "1.0.0.0"
                   ]
                 }
               },
               "service_account": {
                 "runtimeValue": {
                   "constant": "fake_sa"
                 }
               },
               "worker_pool_specs": {
                 "runtimeValue": {
                   "constant": [
                     {
                       "container_spec": {
                         "image_uri": "gcr.io/project_id/test"
                       },
                       "machine_spec": {
                         "accelerator_count": 1.0,
                         "accelerator_type": "NVIDIA_TESLA_T4",
                         "machine_type": "n1-standard-4"
                       },
                       "replica_count": 1.0
                     }
                   ]
                 }
               }
             }
           },
           "taskInfo": {
             "name": "custom-training-job"
           }
         }
       }
     }
   }
 }