summaryrefslogtreecommitdiff
path: root/docs-src/content/functions/gcp.yml
blob: 6b180b1074c7b0812153e805726dd5faa0cd7238 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
    released: v3.8.0
    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