# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Copy training checkpoint data
description: |
  A Kubeflow Pipeline component to copy training checkpoint data from one bucket
  to another
metadata:
  labels:
    add-pod-env: 'true'
inputs:
  - name: data_dir
    description: '...'
    type: GCSPath
  - name: checkpoint_dir
    description: '...'
    type: GCSPath
  - name: model_dir
    description: '...'
    type: GCSPath
  - name: action
    description: '...'
    type: String
outputs:
  - name: copy_output_path
    description: '...'
    type: GCSPath
implementation:
  container:
    image: gcr.io/google-samples/ml-pipeline-t2ttrain:v3ap
    args: [
      --data-dir, {inputValue: data_dir},
      --checkpoint-dir, {inputValue: checkpoint_dir},
      --action, {inputValue: action},
      --model-dir, {inputValue: model_dir},
      --copy-output-path, {outputPath: copy_output_path}
    ]
    env:
      KFP_POD_NAME: "{{pod.name}}"
