---
title: pulumi env provider gcp-login oidc | CLI commands
url: /docs/iac/cli/commands/pulumi_env_provider_gcp-login_oidc/
---

Add a GCP OIDC login provider to an environment

## Synopsis

[EXPERIMENTAL] Add a GCP OIDC login provider to an environment

Writes an `fn::open::gcp-login` block with an `oidc` workload-identity
federation block at the configured path under `values`.  must
be the numerical GCP project ID. The workload-identity pool, provider, and
service account must be provisioned separately (e.g. with Pulumi). If a block
already exists at the path it is replaced.

See https://www.pulumi.com/docs/esc/providers/login/gcp-login/
for the full provider reference.

```
pulumi env provider gcp-login oidc [<org>/][/]<environment-name>  [flags]
```

## Options

```
      --create                          create the environment if it does not already exist
      --draft string[="new"]            set flag without a value (--draft) to create a draft rather than saving changes directly. --draft=<change-request-id> to update an existing change request.
  -h, --help                            help for oidc
      --path values                     property path under values where the provider block is written (default "gcp.login")
      --provider-id string              GCP workload identity pool provider ID (required)
      --region string                   optional GCP region for the workload identity pool
      --service-account string          GCP service account to impersonate (required)
      --subject-attribute stringArray   OIDC subject attribute to include in the federated token (repeatable)
      --token-lifetime string           optional lifetime for impersonated credentials, e.g. 1h30m
      --workload-pool-id string         GCP workload identity pool ID (required)
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
      --env string                   The name of the environment to operate on.
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi env provider gcp-login](/docs/iac/cli/commands/pulumi_env_provider_gcp-login/)	 - Add a GCP login provider to an environment


