تخطَّ إلى المحتوى

Action Reference

هذا المحتوى غير متوفر بلغتك بعد.

The Action resolves manifests, installs a verified xcsh executable, invokes one deterministic operation, and publishes a stable aggregate report. Every identifier in this page is tested against action.yml to prevent documentation drift.

OperationManifest or identity requirementBehavior
applyfiles or manifestCreates missing resources, updates changed resources, and preserves identical resources
createfiles or manifestCreates resources and fails when a target already exists
updatefiles or manifestUpdates resources and fails when a target does not exist
getManifests, or resource-kind with optional resource-nameReads one resource or lists a resource kind
deleteManifests, or resource-kind and resource-nameDeletes resources without an interactive confirmation
difffiles or manifestCompares desired and live resources without mutation
exportresource-kind, or all: trueWrites reusable manifests from live resources
validatefiles or manifestValidates locally without XC credentials
InputDefaultDescription
operationapplyOne of apply, create, update, get, delete, diff, export, or validate
filesNewline-delimited manifest files, directories, or include globs
manifestInline JSON or YAML manifest content
recursivefalseRecursively read manifest directories
namespaceOverride the namespace in every manifest and set XCSH_NAMESPACE
dry-runnoneUse client to calculate a supported mutation without changing a resource
outputautoauto, json, yaml, table, or wide; auto uses YAML for export and table otherwise
result-fileCopy the aggregate JSON report to this path under working-directory
export-fileWrite exported manifests to this path under working-directory
resource-kindResource kind for a file-free get, delete, or export
resource-nameResource name for a targeted get, delete, or export
allfalseExport every supported resource kind
working-directory.Base directory used to resolve relative paths
xcsh-versionlockedLocked release or an exact version such as v20.4.0
api-urlF5 Distributed Cloud API base URL; sets XCSH_API_URL
api-tokenF5 Distributed Cloud API token; masked and passed as XCSH_API_TOKEN
github-tokenGitHub token used only to resolve digests for an xcsh version override

All numeric outputs are serialized as strings by GitHub Actions.

OutputDescription
resultCompact aggregate xcsh report JSON
result-fileAbsolute path to the aggregate report JSON file
totalTotal result count
succeededSuccessful result count
failedFailed result count
changedtrue when a mutation occurred or diff detected a difference
createdCreated resource count
updatedUpdated resource count
unchangedUnchanged resource count
deletedDeleted resource count
dry-runDry-run resource count
newNew resource count reported by diff
differentDifferent resource count reported by diff
identicalIdentical resource count reported by diff
validValid manifest count
foundFound resource count
listedListed resource result count
exportedExported manifest count
errorError result count
skippedSkipped result count
xcsh-versionExact installed xcsh version
xcsh-pathAbsolute path to the verified xcsh executable
ConditionResult
A manifest operation has no resolved manifestThe step fails before xcsh starts
Manifest files are combined with resource-kind or resource-nameThe step fails because selector forms are mutually exclusive
File-free get has no resource-kindThe step fails
File-free delete omits either identity valueThe step fails
export combines all with resource-kindThe step fails because exactly one selector is required
export receives manifestsThe step fails
A non-export operation receives all or export-fileThe step fails
An unsupported operation receives dry-run: clientThe step fails
Export selects table or wide outputThe step fails because export requires JSON or YAML

The input contract maps directly to xcsh environment variables:

Action inputxcsh environment variable
api-urlXCSH_API_URL
api-tokenXCSH_API_TOKEN
namespaceXCSH_NAMESPACE plus the -n command option

The same environment variables may be set on the Action step instead. No AI provider credential, kubeconfig, console user name, or console password is used.

  • JSON objects, JSON arrays, YAML documents, and multi-document YAML are supported.
  • Each files line may be a file, directory, or include glob.
  • recursive: true traverses nested directories.
  • Inline manifest content is written to a temporary file.
  • Duplicate matches are de-duplicated.
  • The complete batch is parsed and validated before a network operation.
  • File URLs and the standard-input marker - are intentionally unsupported.