- NAME
-
- gcloud beta topic flags-file - --flags-file=YAML_FILE supplementary help
- DESCRIPTION
-
(BETA)The--flags-file=YAML-FILEflag, available to allgcloudcommands, supports complex flag values in any command interpreter.Complex flag values that contain command interpreter special characters may be difficult to specify on the command line. The combined list of
specialcharacters across commonly used command interpreters (shell, cmd.exe, PowerShell) is surprisingly large. Among them are", ', `, *, ?, [, ], (, ), $, %, #, ^, &, |, {, }, ;, \, <, >,space,tab,newline. Add to that the separator characters forlistanddictvalued flags, and it becomes all but impossible to construct portable command lines.The
--flags-file=YAML-FILEflag solves this problem by allowing command line flags to be specified in a YAML/JSON file. String, numeric, list and dict flag values are specified using YAML/JSON notation and quoting rules.Flag specification uses dictionary notation. Use a list of dictionaries for flags that must be specified multiple times.
For example, this YAML file defines values for Boolean, integer, floating point, string, dictionary and list valued flags:
--boolean: --integer: 123 --float: 456.789 --string: A string value. --dictionary: a=b: c,d e,f: g=h i: none j=k=l: m=$n,o=%p "y:": ":z" meta: - key: foo value: bar - key: abc value: xyz --list: - a,b,c - x,y,z
If the file is named
my-flags.yamlthen the command line flag--flags-file=my-flags.yamlwill set the specified flags on any system using any command interpreter.--flags-filemay be specified in a YAML file, and its value can be a YAML list to reference multiple files.This example specifies the
--metadataflag multiple times:- --metadata: abc --integer: 123 - --metadata: xyz
Each
--flags-filearg is replaced by its contents, so normal flag precedence applies. For example, givenflags-1.yaml:--zone: us-east2-a
flags-2.yaml:--verbosity: info --zone: us-central1-a
and command line:
gcloud compute instances describe \ --flags-file=flags-1.yaml my-instance --flags-file=flags-2.yaml
the effective command line is:
gcloud compute instances describe \ --zone=us-east2-a my-instance --verbosity=info --zone=us-central1-a
using zone
us-central1-a(notus-east2-a, becauseflags-2.yaml, to the right offlags-1.yaml, has higher precedence). - NOTES
-
This command is currently in beta and might change without notice. These
variants are also available:
gcloud topic flags-filegcloud alpha topic flags-file
gcloud beta topic flags-file
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-22 UTC.