github.com/kubeshop/testkube@v1.17.23/pkg/crd/templates/testsuite.tmpl (about)

     1  apiVersion: tests.testkube.io/v3
     2  kind: TestSuite
     3  metadata:
     4    name: {{ .Name }}
     5    namespace: {{ .Namespace }}
     6    {{- if ne (len .Labels) 0 }}
     7    labels:
     8    {{- range $key, $value := .Labels }}
     9      {{ $key }}: {{ $value }}
    10    {{- end }}
    11    {{- end }}
    12  spec:
    13    {{- if .Description }}
    14    description: {{ .Description }}
    15    {{- end }}
    16    {{- if ne (len .Before) 0 }}
    17    before:
    18    {{- range .Before }}
    19    - stopOnFailure: {{ .StopOnFailure }}
    20      {{- if .DownloadArtifacts }}
    21      downloadArtifacts:
    22        allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }}
    23        {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }}
    24        previousStepNumbers:
    25        {{- range .DownloadArtifacts.PreviousStepNumbers }}
    26        - {{ . }}
    27        {{- end }}
    28        {{- end }}
    29        {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }}
    30        previousTestNames:
    31        {{- range .DownloadArtifacts.PreviousTestNames }}
    32        - {{ . }}
    33        {{- end }}
    34        {{- end }}      
    35      {{- end }}
    36      {{- if ne (len .Execute) 0 }}
    37      execute:
    38      {{- range .Execute }}
    39        {{- if .Test }}
    40      - test: {{ .Test }}
    41        {{- if .ExecutionRequest }}
    42        {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}}
    43        executionRequest:
    44          {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }}
    45          executionLabels:
    46          {{- range $key, $value := .ExecutionRequest.ExecutionLabels }}
    47            {{ $key }}: {{ $value }}
    48          {{- end }}
    49          {{- end }}
    50          {{- if ne (len .ExecutionRequest.Variables) 0 }}
    51          variables:
    52            {{- range $key, $value := .ExecutionRequest.Variables }}
    53            {{ $key }}:
    54              name: {{ $key }}
    55              {{- if $value.Value }}
    56              value: {{ $value.Value }}
    57              {{- end }}
    58              {{- if $value.Type_ }}
    59              type: {{ $value.Type_ }}
    60              {{- end }}
    61              {{- if $value.SecretRef }}
    62              valueFrom:
    63                secretKeyRef:
    64                  {{- if $value.SecretRef.Name }}
    65                  name: {{ $value.SecretRef.Name }}
    66                  {{- end }}
    67                  {{- if $value.SecretRef.Key }}
    68                  key: {{ $value.SecretRef.Key }}
    69                 {{- end }}
    70              {{- end }}
    71              {{- if $value.ConfigMapRef }}
    72              valueFrom:
    73                configMapKeyRef:
    74                  {{- if $value.ConfigMapRef.Name }}
    75                  name: {{ $value.ConfigMapRef.Name }}
    76                  {{- end }}
    77                  {{- if $value.ConfigMapRef.Key }}
    78                  key: {{ $value.ConfigMapRef.Key }}
    79                  {{- end }}
    80              {{- end }}
    81            {{- end }}
    82            {{- end }}
    83          {{- if ne (len .ExecutionRequest.Args) 0 }}
    84          args:
    85          {{- range .ExecutionRequest.Args }}
    86            - {{ . }}
    87          {{- end }}
    88          {{- end }}
    89          {{- if .ExecutionRequest.ArgsMode }}
    90          argsMode: {{ .ExecutionRequest.ArgsMode }}
    91          {{- end }}
    92          {{- if gt (len .ExecutionRequest.Command) 0 }}
    93          command:
    94          {{- range $cmd := .ExecutionRequest.Command }}
    95          - {{ $cmd -}}
    96          {{- end }}
    97          {{- end -}}
    98          {{- if .ExecutionRequest.Sync }}
    99          sync: {{ .ExecutionRequest.Sync }}
   100          {{- end }}
   101          {{- if .ExecutionRequest.HttpProxy }}
   102          httpProxy: {{ .ExecutionRequest.HttpProxy }}
   103          {{- end }}
   104          {{- if .ExecutionRequest.HttpsProxy }}
   105          httpsProxy: {{ .ExecutionRequest.HttpsProxy }}
   106          {{- end }}
   107          {{- if .ExecutionRequest.NegativeTest }}
   108          negativeTest: {{ .ExecutionRequest.NegativeTest }}
   109          {{- end }}
   110          {{- if .ExecutionRequest.JobTemplate }}
   111          jobTemplate: {{ .ExecutionRequest.JobTemplate }}
   112          {{- end }}
   113          {{- if .ExecutionRequest.JobTemplateReference }}
   114          jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }}
   115          {{- end }}
   116          {{- if .ExecutionRequest.CronJobTemplate }}
   117          cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }}
   118          {{- end }}
   119          {{- if .ExecutionRequest.CronJobTemplateReference }}
   120          cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }}
   121          {{- end }}
   122          {{- if .ExecutionRequest.ScraperTemplate }}
   123          scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }}
   124          {{- end }}
   125          {{- if .ExecutionRequest.ScraperTemplateReference }}
   126          scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }}
   127          {{- end }}
   128          {{- if .ExecutionRequest.PvcTemplate }}
   129          pvcTemplate: {{ .ExecutionRequest.PvcTemplate }}
   130          {{- end }}
   131          {{- if .ExecutionRequest.PvcTemplateReference }}
   132          pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }}
   133          {{- end }}
   134          {{- if .ExecutionRequest.RunningContext }}
   135          runningContext: {{ .ExecutionRequest.RunningContext }}
   136          {{- end }}
   137        {{- end }}
   138        {{- end }}
   139        {{- end }}
   140        {{- if .Delay }}
   141      - delay: {{ .Delay }}
   142        {{- end }}
   143      {{- end }}
   144      {{- end }}
   145    {{- end }}
   146    {{- end }}
   147    {{- if ne (len .Steps) 0 }}
   148    steps:
   149    {{- range .Steps }}
   150    - stopOnFailure: {{ .StopOnFailure }}
   151      {{- if .DownloadArtifacts }}
   152      downloadArtifacts:
   153        allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }}
   154        {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }}
   155        previousStepNumbers:
   156        {{- range .DownloadArtifacts.PreviousStepNumbers }}
   157        - {{ . }}
   158        {{- end }}
   159        {{- end }}
   160        {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }}
   161        previousTestNames:
   162        {{- range .DownloadArtifacts.PreviousTestNames }}
   163        - {{ . }}
   164        {{- end }}
   165        {{- end }}      
   166      {{- end }}
   167      {{- if ne (len .Execute) 0 }}
   168      execute:
   169      {{- range .Execute }}
   170        {{- if .Test }}
   171      - test: {{ .Test }}
   172        {{- if .ExecutionRequest }}
   173        {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}}
   174        executionRequest:
   175          {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }}
   176          executionLabels:
   177          {{- range $key, $value := .ExecutionRequest.ExecutionLabels }}
   178            {{ $key }}: {{ $value }}
   179          {{- end }}
   180          {{- end }}
   181          {{- if ne (len .ExecutionRequest.Variables) 0 }}
   182          variables:
   183            {{- range $key, $value := .ExecutionRequest.Variables }}
   184            {{ $key }}:
   185              name: {{ $key }}
   186              {{- if $value.Value }}
   187              value: {{ $value.Value }}
   188              {{- end }}
   189              {{- if $value.Type_ }}
   190              type: {{ $value.Type_ }}
   191              {{- end }}
   192              {{- if $value.SecretRef }}
   193              valueFrom:
   194                secretKeyRef:
   195                  {{- if $value.SecretRef.Name }}
   196                  name: {{ $value.SecretRef.Name }}
   197                  {{- end }}
   198                  {{- if $value.SecretRef.Key }}
   199                  key: {{ $value.SecretRef.Key }}
   200                 {{- end }}
   201              {{- end }}
   202              {{- if $value.ConfigMapRef }}
   203              valueFrom:
   204                configMapKeyRef:
   205                  {{- if $value.ConfigMapRef.Name }}
   206                  name: {{ $value.ConfigMapRef.Name }}
   207                  {{- end }}
   208                  {{- if $value.ConfigMapRef.Key }}
   209                  key: {{ $value.ConfigMapRef.Key }}
   210                  {{- end }}
   211              {{- end }}
   212            {{- end }}
   213            {{- end }}
   214          {{- if ne (len .ExecutionRequest.Args) 0 }}
   215          args:
   216          {{- range .ExecutionRequest.Args }}
   217            - {{ . }}
   218          {{- end }}
   219          {{- end }}
   220          {{- if .ExecutionRequest.ArgsMode }}
   221          argsMode: {{ .ExecutionRequest.ArgsMode }}
   222          {{- end }}
   223          {{- if gt (len .ExecutionRequest.Command) 0 }}
   224          command:
   225          {{- range $cmd := .ExecutionRequest.Command }}
   226          - {{ $cmd -}}
   227          {{- end }}
   228          {{- end -}}
   229          {{- if .ExecutionRequest.Sync }}
   230          sync: {{ .ExecutionRequest.Sync }}
   231          {{- end }}
   232          {{- if .ExecutionRequest.HttpProxy }}
   233          httpProxy: {{ .ExecutionRequest.HttpProxy }}
   234          {{- end }}
   235          {{- if .ExecutionRequest.HttpsProxy }}
   236          httpsProxy: {{ .ExecutionRequest.HttpsProxy }}
   237          {{- end }}
   238          {{- if .ExecutionRequest.NegativeTest }}
   239          negativeTest: {{ .ExecutionRequest.NegativeTest }}
   240          {{- end }}
   241          {{- if .ExecutionRequest.JobTemplate }}
   242          jobTemplate: {{ .ExecutionRequest.JobTemplate }}
   243          {{- end }}
   244          {{- if .ExecutionRequest.JobTemplateReference }}
   245          jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }}
   246          {{- end }}
   247          {{- if .ExecutionRequest.CronJobTemplate }}
   248          cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }}
   249          {{- end }}
   250          {{- if .ExecutionRequest.CronJobTemplateReference }}
   251          cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }}
   252          {{- end }}
   253          {{- if .ExecutionRequest.ScraperTemplate }}
   254          scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }}
   255          {{- end }}
   256          {{- if .ExecutionRequest.ScraperTemplateReference }}
   257          scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }}
   258          {{- end }}
   259          {{- if .ExecutionRequest.PvcTemplate }}
   260          pvcTemplate: {{ .ExecutionRequest.PvcTemplate }}
   261          {{- end }}
   262          {{- if .ExecutionRequest.PvcTemplateReference }}
   263          pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }}
   264          {{- end }}
   265          {{- if .ExecutionRequest.RunningContext }}
   266          runningContext: {{ .ExecutionRequest.RunningContext }}
   267          {{- end }}
   268        {{- end }}
   269        {{- end }}
   270        {{- end }}
   271        {{- if .Delay }}
   272      - delay: {{ .Delay }}
   273        {{- end }}
   274      {{- end }}
   275      {{- end }}
   276    {{- end }}
   277    {{- end }}
   278    {{- if ne (len .After) 0 }}
   279    after:
   280    {{- range .After }}
   281    - stopOnFailure: {{ .StopOnFailure }}
   282      {{- if .DownloadArtifacts }}
   283      downloadArtifacts:
   284        allPreviousSteps: {{ .DownloadArtifacts.AllPreviousSteps }}
   285        {{- if ne (len .DownloadArtifacts.PreviousStepNumbers) 0 }}
   286        previousStepNumbers:
   287        {{- range .DownloadArtifacts.PreviousStepNumbers }}
   288        - {{ . }}
   289        {{- end }}
   290        {{- end }}
   291        {{- if ne (len .DownloadArtifacts.PreviousTestNames) 0 }}
   292        previousTestNames:
   293        {{- range .DownloadArtifacts.PreviousTestNames }}
   294        - {{ . }}
   295        {{- end }}
   296        {{- end }}
   297      {{- end }}
   298      {{- if ne (len .Execute) 0 }}
   299      execute:
   300      {{- range .Execute }}
   301        {{- if .Test }}
   302      - test: {{ .Test }}
   303        {{- if .ExecutionRequest }}
   304        {{- if or (ne (len .ExecutionRequest.ExecutionLabels) 0) (ne (len .ExecutionRequest.Variables) 0) (ne (len .ExecutionRequest.Args) 0) (.ExecutionRequest.ArgsMode) (ne (len .ExecutionRequest.Command) 0) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference) (.ExecutionRequest.RunningContext)}}
   305        executionRequest:
   306          {{- if ne (len .ExecutionRequest.ExecutionLabels) 0 }}
   307          executionLabels:
   308          {{- range $key, $value := .ExecutionRequest.ExecutionLabels }}
   309            {{ $key }}: {{ $value }}
   310          {{- end }}
   311          {{- end }}
   312          {{- if ne (len .ExecutionRequest.Variables) 0 }}
   313          variables:
   314            {{- range $key, $value := .ExecutionRequest.Variables }}
   315            {{ $key }}:
   316              name: {{ $key }}
   317              {{- if $value.Value }}
   318              value: {{ $value.Value }}
   319              {{- end }}
   320              {{- if $value.Type_ }}
   321              type: {{ $value.Type_ }}
   322              {{- end }}
   323              {{- if $value.SecretRef }}
   324              valueFrom:
   325                secretKeyRef:
   326                  {{- if $value.SecretRef.Name }}
   327                  name: {{ $value.SecretRef.Name }}
   328                  {{- end }}
   329                  {{- if $value.SecretRef.Key }}
   330                  key: {{ $value.SecretRef.Key }}
   331                 {{- end }}
   332              {{- end }}
   333              {{- if $value.ConfigMapRef }}
   334              valueFrom:
   335                configMapKeyRef:
   336                  {{- if $value.ConfigMapRef.Name }}
   337                  name: {{ $value.ConfigMapRef.Name }}
   338                  {{- end }}
   339                  {{- if $value.ConfigMapRef.Key }}
   340                  key: {{ $value.ConfigMapRef.Key }}
   341                  {{- end }}
   342              {{- end }}
   343            {{- end }}
   344            {{- end }}
   345          {{- if ne (len .ExecutionRequest.Args) 0 }}
   346          args:
   347          {{- range .ExecutionRequest.Args }}
   348            - {{ . }}
   349          {{- end }}
   350          {{- end }}
   351          {{- if .ExecutionRequest.ArgsMode }}
   352          argsMode: {{ .ExecutionRequest.ArgsMode }}
   353          {{- end }}
   354          {{- if gt (len .ExecutionRequest.Command) 0 }}
   355          command:
   356          {{- range $cmd := .ExecutionRequest.Command }}
   357          - {{ $cmd -}}
   358          {{- end }}
   359          {{- end -}}
   360          {{- if .ExecutionRequest.Sync }}
   361          sync: {{ .ExecutionRequest.Sync }}
   362          {{- end }}
   363          {{- if .ExecutionRequest.HttpProxy }}
   364          httpProxy: {{ .ExecutionRequest.HttpProxy }}
   365          {{- end }}
   366          {{- if .ExecutionRequest.HttpsProxy }}
   367          httpsProxy: {{ .ExecutionRequest.HttpsProxy }}
   368          {{- end }}
   369          {{- if .ExecutionRequest.NegativeTest }}
   370          negativeTest: {{ .ExecutionRequest.NegativeTest }}
   371          {{- end }}
   372          {{- if .ExecutionRequest.JobTemplate }}
   373          jobTemplate: {{ .ExecutionRequest.JobTemplate }}
   374          {{- end }}
   375          {{- if .ExecutionRequest.JobTemplateReference }}
   376          jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }}
   377          {{- end }}
   378          {{- if .ExecutionRequest.CronJobTemplate }}
   379          cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }}
   380          {{- end }}
   381          {{- if .ExecutionRequest.CronJobTemplateReference }}
   382          cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }}
   383          {{- end }}
   384          {{- if .ExecutionRequest.ScraperTemplate }}
   385          scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }}
   386          {{- end }}
   387          {{- if .ExecutionRequest.ScraperTemplateReference }}
   388          scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }}
   389          {{- end }}
   390          {{- if .ExecutionRequest.PvcTemplate }}
   391          pvcTemplate: {{ .ExecutionRequest.PvcTemplate }}
   392          {{- end }}
   393          {{- if .ExecutionRequest.PvcTemplateReference }}
   394          pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }}
   395          {{- end }}
   396          {{- if .ExecutionRequest.RunningContext }}
   397          runningContext: {{ .ExecutionRequest.RunningContext }}
   398          {{- end }}
   399        {{- end }}
   400        {{- end }}
   401        {{- end }}
   402        {{- if .Delay }}
   403      - delay: {{ .Delay }}
   404        {{- end }}      
   405      {{- end }}
   406      {{- end }}
   407    {{- end }}
   408    {{- end }}
   409    {{- if .Schedule }}
   410    schedule: {{ .Schedule }}
   411    {{- end }}
   412    {{- if .Repeats }}
   413    repeats: {{ .Repeats }}
   414    {{- end }}
   415    {{- if .ExecutionRequest }}
   416    {{- if or (.ExecutionRequest.Name) (.ExecutionRequest.HttpProxy) (.ExecutionRequest.HttpsProxy) (ne (len .ExecutionRequest.Variables) 0) (ne .ExecutionRequest.Timeout 0) (.ExecutionRequest.JobTemplate) (.ExecutionRequest.JobTemplateReference) (.ExecutionRequest.CronJobTemplate) (.ExecutionRequest.CronJobTemplateReference) (.ExecutionRequest.ScraperTemplate) (.ExecutionRequest.ScraperTemplateReference) (.ExecutionRequest.PvcTemplate) (.ExecutionRequest.PvcTemplateReference)}}
   417    executionRequest:
   418      {{- if .ExecutionRequest.Name }}
   419      name: {{ .ExecutionRequest.Name }}
   420      {{- end }}
   421      {{- if ne (len .ExecutionRequest.Variables) 0 }}
   422      variables:
   423      {{- range $key, $value := .ExecutionRequest.Variables }}
   424        {{ $key }}:
   425          name: {{ $key }}
   426          {{- if $value.Value }}
   427          value: {{ $value.Value }}
   428          {{- end }}
   429          {{- if $value.Type_ }}
   430          type: {{ $value.Type_ }}
   431          {{- end }}
   432          {{- if $value.SecretRef }}
   433          valueFrom:
   434            secretKeyRef:
   435              {{- if $value.SecretRef.Name }}
   436              name: {{ $value.SecretRef.Name }}
   437              {{- end }}
   438              {{- if $value.SecretRef.Key }}
   439              key: {{ $value.SecretRef.Key }}
   440              {{- end }}
   441          {{- end }}
   442          {{- if $value.ConfigMapRef }}
   443          valueFrom:
   444            configMapKeyRef:
   445              {{- if $value.ConfigMapRef.Name }}
   446              name: {{ $value.ConfigMapRef.Name }}
   447              {{- end }}
   448              {{- if $value.ConfigMapRef.Key }}
   449              key: {{ $value.ConfigMapRef.Key }}
   450              {{- end }}
   451          {{- end }}
   452      {{- end }}
   453      {{- end }}
   454      {{- if .ExecutionRequest.HttpProxy }}
   455      httpProxy: {{ .ExecutionRequest.HttpProxy }}
   456      {{- end }}
   457      {{- if .ExecutionRequest.HttpsProxy }}
   458      httpsProxy: {{ .ExecutionRequest.HttpsProxy }}
   459      {{- end}}
   460      {{- if ne .ExecutionRequest.Timeout 0 }}
   461      timeout: {{ .ExecutionRequest.Timeout }}
   462      {{- end}}
   463      {{- if .ExecutionRequest.JobTemplate }}
   464      jobTemplate: {{ .ExecutionRequest.JobTemplate }}
   465      {{- end}}
   466       {{- if .ExecutionRequest.JobTemplateReference }}
   467      jobTemplateReference: {{ .ExecutionRequest.JobTemplateReference }}
   468      {{- end}}
   469      {{- if .ExecutionRequest.CronJobTemplate }}
   470      cronJobTemplate: {{ .ExecutionRequest.CronJobTemplate }}
   471      {{- end}}
   472       {{- if .ExecutionRequest.CronJobTemplateReference }}
   473      cronJobTemplateReference: {{ .ExecutionRequest.CronJobTemplateReference }}
   474      {{- end}}
   475      {{- if .ExecutionRequest.ScraperTemplate }}
   476      scraperTemplate: {{ .ExecutionRequest.ScraperTemplate }}
   477      {{- end }}
   478      {{- if .ExecutionRequest.ScraperTemplateReference }}
   479      scraperTemplateReference: {{ .ExecutionRequest.ScraperTemplateReference }}
   480      {{- end }}
   481      {{- if .ExecutionRequest.PvcTemplate }}
   482      pvcTemplate: {{ .ExecutionRequest.PvcTemplate }}
   483      {{- end }}
   484      {{- if .ExecutionRequest.PvcTemplateReference }}
   485      pvcTemplateReference: {{ .ExecutionRequest.PvcTemplateReference }}
   486      {{- end }}
   487    {{- end }}
   488    {{- end }}
   489  {{- if .Status }}
   490  status:
   491    {{- if .Status.LatestExecution }}
   492    latestExecution:
   493      {{- if .Status.LatestExecution.Id }}
   494      id: {{ .Status.LatestExecution.Id }}
   495      {{- end }}
   496      {{- if not .Status.LatestExecution.StartTime.IsZero }}
   497      startTime: {{ .Status.LatestExecution.StartTime.Format "2006-01-02T15:04:05Z" }}
   498      {{- end }}
   499      {{- if not .Status.LatestExecution.EndTime.IsZero }}
   500      endTime: {{ .Status.LatestExecution.EndTime.Format "2006-01-02T15:04:05Z" }}
   501      {{- end }}
   502      {{- if .Status.LatestExecution.Status }}
   503      status: {{ .Status.LatestExecution.Status }}
   504      {{- end }}
   505    {{- end }}
   506  {{- end }}