File: //snap/google-cloud-cli/396/help/man/man1/gcloud_alpha_compute_instances_add-metadata.1
.TH "GCLOUD_ALPHA_COMPUTE_INSTANCES_ADD\-METADATA" 1
.SH "NAME"
.HP
gcloud alpha compute instances add\-metadata \- add or update instance metadata
.SH "SYNOPSIS"
.HP
\f5gcloud alpha compute instances add\-metadata\fR \fIINSTANCE_NAME\fR [\fB\-\-metadata\fR=\fIKEY\fR=\fIVALUE\fR,[\fIKEY\fR=\fIVALUE\fR,...]] [\fB\-\-metadata\-from\-file\fR=\fIKEY\fR=\fILOCAL_FILE_PATH\fR,[...]] [\fB\-\-zone\fR=\fIZONE\fR] [\fIGCLOUD_WIDE_FLAG\ ...\fR]
.SH "DESCRIPTION"
\fB(ALPHA)\fR gcloud alpha compute instances add\-metadata can be used to add or
update the metadata of a virtual machine instance. Every instance has access to
a metadata server that can be used to query metadata that has been set through
this tool. For information on metadata, see
https://cloud.google.com/compute/docs/metadata
Only metadata keys that are provided are mutated. Existing metadata entries will
remain unaffected.
In order to retrieve custom metadata, run:
.RS 2m
$ gcloud compute instances describe example\-instance \-\-zone
us\-central1\-a \-\-format="value(metadata)"
.RE
where example\-instance is the name of the virtual machine instance you're
querying custom metadata from. For more information about querying custom
instance or project metadata through the Cloud Platform Console or the API, see
https://cloud.google.com/compute/docs/storing\-retrieving\-metadata#querying_custom_metadata.
If you are using this command to manage SSH keys for your project, please note
the risks
(https://cloud.google.com/compute/docs/instances/adding\-removing\-ssh\-keys#risks)
of manual SSH key management as well as the required format for SSH key
metadata, available at
https://cloud.google.com/compute/docs/instances/adding\-removing\-ssh\-keys.
.SH "EXAMPLES"
To add metadata under key \f5\fIimportant\-data\fR\fR to an instance named
\f5\fItest\-instance\fR\fR, run:
.RS 2m
$ gcloud alpha compute instances add\-metadata test\-instance \e
\-\-metadata=important\-data="2 plus 2 equals 4"
.RE
To add multiple key\-value pairs at once, separate them with commas:
.RS 2m
$ gcloud alpha compute instances add\-metadata test\-instance \e
\-\-metadata=important\-data="2 plus 2 equals \e
4",unimportant\-data=zero
.RE
.SH "POSITIONAL ARGUMENTS"
.RS 2m
.TP 2m
\fIINSTANCE_NAME\fR
Name of the instance to set metadata on. For details on valid instance names,
refer to the criteria documented under the field 'name' at:
https://cloud.google.com/compute/docs/reference/rest/v1/instances
.RE
.sp
.SH "FLAGS"
.RS 2m
.TP 2m
\fB\-\-metadata\fR=\fIKEY\fR=\fIVALUE\fR,[\fIKEY\fR=\fIVALUE\fR,...]
Metadata to be made available to the guest operating system running on the
instances. Each metadata entry is a key/value pair separated by an equals sign.
Each metadata key must be unique and have a max of 128 bytes in length. Each
value must have a max of 256 KB in length. Multiple arguments can be passed to
this flag, e.g., \f5\fI\-\-metadata
key\-1=value\-1,key\-2=value\-2,key\-3=value\-3\fR\fR. The combined total size
for all metadata entries is 512 KB.
In images that have Compute Engine tools installed on them, such as the official
images (https://cloud.google.com/compute/docs/images), the following metadata
keys have special meanings:
.RS 2m
.TP 2m
\fBstartup\-script\fR
Specifies a script that will be executed by the instances once they start
running. For convenience, \f5\fI\-\-metadata\-from\-file\fR\fR can be used to
pull the value from a file.
.TP 2m
\fBstartup\-script\-url\fR
Same as \f5\fIstartup\-script\fR\fR except that the script contents are pulled
from a publicly\-accessible location on the web.
For startup scripts on Windows instances, the following metadata keys have
special meanings: \f5\fIwindows\-startup\-script\-url\fR\fR,
\f5\fIwindows\-startup\-script\-cmd\fR\fR,
\f5\fIwindows\-startup\-script\-bat\fR\fR,
\f5\fIwindows\-startup\-script\-ps1\fR\fR,
\f5\fIsysprep\-specialize\-script\-url\fR\fR,
\f5\fIsysprep\-specialize\-script\-cmd\fR\fR,
\f5\fIsysprep\-specialize\-script\-bat\fR\fR, and
\f5\fIsysprep\-specialize\-script\-ps1\fR\fR. For more information, see Running
startup scripts (https://cloud.google.com/compute/docs/startupscript).
At least one of [\-\-metadata] or [\-\-metadata\-from\-file] is required.
.RE
.sp
.TP 2m
\fB\-\-metadata\-from\-file\fR=\fIKEY\fR=\fILOCAL_FILE_PATH\fR,[...]
Same as \f5\fI\-\-metadata\fR\fR except that the value for the entry will be
read from a local file. This is useful for values that are too large such as
\f5\fIstartup\-script\fR\fR contents.
At least one of [\-\-metadata] or [\-\-metadata\-from\-file] is required.
.TP 2m
\fB\-\-zone\fR=\fIZONE\fR
Zone of the instance to set metadata on. If not specified, you might be prompted
to select a zone (interactive mode only). \f5gcloud\fR attempts to identify the
appropriate zone by searching for resources in your currently active project. If
the zone cannot be determined, \f5gcloud\fR prompts you for a selection with all
available Google Cloud Platform zones.
To avoid prompting when this flag is omitted, the user can set the
\f5\fIcompute/zone\fR\fR property:
.RS 2m
$ gcloud config set compute/zone ZONE
.RE
A list of zones can be fetched by running:
.RS 2m
$ gcloud compute zones list
.RE
To unset the property, run:
.RS 2m
$ gcloud config unset compute/zone
.RE
Alternatively, the zone can be stored in the environment variable
\f5\fICLOUDSDK_COMPUTE_ZONE\fR\fR.
.RE
.sp
.SH "GCLOUD WIDE FLAGS"
These flags are available to all commands: \-\-access\-token\-file, \-\-account,
\-\-billing\-project, \-\-configuration, \-\-flags\-file, \-\-flatten,
\-\-format, \-\-help, \-\-impersonate\-service\-account, \-\-log\-http,
\-\-project, \-\-quiet, \-\-trace\-token, \-\-user\-output\-enabled,
\-\-verbosity.
Run \fB$ gcloud help\fR for details.
.SH "NOTES"
This command is currently in alpha and might change without notice. If this
command fails with API permission errors despite specifying the correct project,
you might be trying to access an API with an invitation\-only early access
allowlist. These variants are also available:
.RS 2m
$ gcloud compute instances add\-metadata
.RE
.RS 2m
$ gcloud beta compute instances add\-metadata
.RE