# Code generated by KubeVela templates. DO NOT EDIT. Please edit the original cue file.
# Definition source cue file: vela-templates/definitions/internal/deploy.cue
apiVersion: core.oam.dev/v1beta1
kind: WorkflowStepDefinition
metadata:
  annotations:
    custom.definition.oam.dev/category: Application Delivery
    definition.oam.dev/description: A powerful and unified deploy step for components multi-cluster delivery with policies.
  labels:
    custom.definition.oam.dev/scope: Application
  name: deploy
  namespace: {{ include "systemDefinitionNamespace" . }}
spec:
  schematic:
    cue:
      template: |
        import (
        	"vela/op"
        )

        if parameter.auto == false {
        	suspend: op.#Suspend & {message: "Waiting approval to the deploy step \"\(context.stepName)\""}
        }
        deploy: op.#Deploy & {
        	policies:                 parameter.policies
        	parallelism:              parameter.parallelism
        	ignoreTerraformComponent: parameter.ignoreTerraformComponent
        }
        parameter: {
        	//+usage=If set to false, the workflow will suspend automatically before this step, default to be true.
        	auto: *true | bool
        	//+usage=Declare the policies that used for this deployment. If not specified, the components will be deployed to the hub cluster.
        	policies: *[] | [...string]
        	//+usage=Maximum number of concurrent delivered components.
        	parallelism: *5 | int
        	//+usage=If set false, this step will apply the components with the terraform workload.
        	ignoreTerraformComponent: *true | bool
        }

