From 2a30cb153fc6a1edecf571ba125b2daac12e404b Mon Sep 17 00:00:00 2001 From: James Nugent Date: Fri, 10 Jul 2020 12:19:04 -0500 Subject: Add gcp.Meta function, equivalent to aws.EC2Meta This commit adds a new namespace and function: `gcp.Meta`, which can be used to look up values from the GCP Instance Metadata service. An example usage: ``` echo '{{ gcp.Meta "id" }}' | gomplate ``` This also supports paths, so usage like this works: ``` echo '{{ gcp.Meta "network-interfaces/0/ip" }}' | gomplate ``` --- docs-src/content/functions/gcp.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs-src/content/functions/gcp.yml (limited to 'docs-src/content/functions/gcp.yml') diff --git a/docs-src/content/functions/gcp.yml b/docs-src/content/functions/gcp.yml new file mode 100644 index 00000000..036b1ecb --- /dev/null +++ b/docs-src/content/functions/gcp.yml @@ -0,0 +1,36 @@ +ns: gcp +preamble: | + The functions in the `gcp` namespace interface with various Google Cloud Platform + APIs to make it possible for a template to render differently based on the GCP + environment and metadata. + + ### Configuring GCP + + A number of environment variables can be used to control how gomplate communicates + with GCP APIs. + + | Environment Variable | Description | + | -------------------- | ----------- | + | `GCP_META_ENDPOINT` | _(Default `http://metadata.google.internal`)_ Sets the base address of the instance metadata service. | + | `GCP_TIMEOUT` | _(Default `500`)_ Adjusts timeout for API requests, in milliseconds. | +funcs: + - name: gcp.Meta + description: | + Queries GCP [Instance Metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata) for information. + + For times when running outside GCP, or when the metadata API can't be reached, a `default` value can be provided. + pipeline: false + arguments: + - name: key + required: true + description: the metadata key to query + - name: default + required: false + description: the default value + examples: + - | + $ echo '{{gcp.Meta "id"}}' | gomplate + 1334999446930701104 + - | + $ echo '{{gcp.Meta "network-interfaces/0/ip"}}' | gomplate + 10.128.0.23 -- cgit v1.2.3