Files
nomad/ui/app/templates/jobs/job/variables.hbs
Aimee Ukasick a30cb2f137 Update UI, code comment, and README links to docs, tutorials (#26429)
* Update UI, code comment, and README links to docs, tutorials

* fix typo in ephemeral disks learn more link url

* feedback on typo

Co-authored-by: Tim Gross <tgross@hashicorp.com>

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-08-06 09:40:23 -05:00

81 lines
3.9 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
~}}
{{page-title "Job " @model.job.name " variables"}}
<JobSubnav @job={{@model.job}} />
<section class="section">
<header class="job-variables-intro">
<Hds::Alert @type="inline" @color="highlight" as |A|>
<A.Title>Automatic Access to Variables</A.Title>
<A.Description>
<p>Tasks in this job can have <Hds::Link::Inline @href="https://developer.hashicorp.com/nomad/docs/concepts/variables#task-access-to-variables" target="_blank" rel="noopener noreferrer">automatic access to Nomad Variables</Hds::Link::Inline>.</p>
<ul>
<li data-test-variables-intro-all-jobs>Use
<code>
<EditableVariableLink @path="nomad/jobs" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} />
</code>
for access in all tasks in all jobs</li>
<li data-test-variables-intro-job>
Use
<code>
<EditableVariableLink @path="nomad/jobs/{{this.model.job.name}}" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} />
</code>
for access from all tasks in this job
</li>
<li data-test-variables-intro-groups>
Use
{{#if (gt this.firstFewTaskGroupNames.length 1)}}
{{#each this.firstFewTaskGroupNames as |name|}}
<code><EditableVariableLink @path="nomad/jobs/{{this.model.job.name}}/{{name}}" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} /></code>,
{{/each}}
etc. for access from all tasks in a specific task group
{{else}}
<code>
<EditableVariableLink @path="nomad/jobs/{{this.model.job.name}}/{{object-at 0 this.firstFewTaskGroupNames}}" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} />
</code>
for access from all tasks in a specific task group
{{/if}}
</li>
<li data-test-variables-intro-tasks>
Use
{{#if (gt this.firstFewTaskNames.length 1)}}
{{#each this.firstFewTaskNames as |name|}}
<code><EditableVariableLink @path="nomad/jobs/{{this.model.job.name}}/{{name}}" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} /></code>,
{{/each}}
etc. for access from a specific task
{{else}}
<code>
<EditableVariableLink @path="nomad/jobs/{{this.model.job.name}}/{{object-at 0 this.firstFewTaskNames}}" @existingPaths={{this.jobRelevantVariables.files}} @namespace={{this.model.job.namespace.name}} />
</code> for access from a specific task
{{/if}}
</li>
</ul>
</A.Description>
<A.LinkStandalone @color="secondary" @icon="arrow-right" @iconPosition="trailing" @text="Learn more about Nomad Variables" @href="https://developer.hashicorp.com/nomad/docs/job-declare/nomad-variables" />
</Hds::Alert>
</header>
{{#if this.jobRelevantVariables.files.length}}
<VariablePaths
@branch={{this.jobRelevantVariables}}
/>
{{else}}
<section class="job-variables-message">
<p data-test-no-auto-vars-message>
Job <strong>{{this.model.job.name}}</strong> does not have automatic access to any variables, but may have access by virtue of policies associated with this job's tasks' workload identities. See <a href="https://developer.hashicorp.com/nomad/docs/concepts/workload-identity#workload-associated-acl-policies" target="_blank" rel="noopener noreferrer">Workload-Associated ACL Policies</a> for more information.
</p>
{{#if (can "write variable")}}
<Hds::Button data-test-create-variable-button @text="Create a Variable" @size="large" @route="variables.new" @query={{hash path=(concat "nomad/jobs/" this.model.job.name)}} />
{{/if}}
</section>
{{/if}}
</section>