# GetContextValueOptions

Extends: GetContextValueOptions
Extends: GetContextKeyOptions

- Source: [`core/lib/context-provider.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/core/lib/context-provider.ts#L41)
- Type last changed: v2.186.0 · 27 Mar 2025

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';

declare const dummyValue: any;
declare const props: any;
const getContextValueOptions: cdk.GetContextValueOptions = {
  dummyValue: dummyValue,
  provider: 'provider',

  // the properties below are optional
  additionalCacheKey: 'additionalCacheKey',
  ignoreErrorOnMissingContext: false,
  includeEnvironment: false,
  mustExist: false,
  props: {
    propsKey: props,
  },
};
```

## Properties

- `additionalCacheKey`: string — Adds an additional discriminator to the `cdk.context.json` cache key.

  **Default:** no additional cache key

- `dummyValue`: any (required) — The value to return if the lookup has not yet been performed.

  Upon first synthesis, the lookups has not yet been performed. The
  `getValue()` operation returns this value instead, so that synthesis can
  proceed. After synthesis completes the first time, the actual lookup will
  be performed and synthesis will run again with the *real* value.

  Dummy values should preferably have valid shapes so that downstream
  consumers of lookup values don't throw validation exceptions if they
  encounter a dummy value (or all possible downstream consumers need to
  effectively check for the well-known shape of the dummy value); throwing an
  exception would error out the synthesis operation and prevent the lookup
  and the second, real, synthesis from happening.

  ## Connection to mustExist

  `dummyValue` is also used as the official value to return if the lookup has
  failed and `mustExist == false`.

- `ignoreErrorOnMissingContext`: boolean = false — Use mustExist instead

  `mustExist` is the recommended alias for this deprecated
  property (note that its value is reversed).

- `includeEnvironment`: boolean = true — Whether to include the stack's account and region automatically.

- `mustExist`: boolean = true — Whether the resource must exist.

  If this is set (the default), the query fails if the value or resource we
  tried to look up doesn't exist.

  If this is `false` and the value we tried to look up could not be found, the
  failure is suppressed and `dummyValue` is officially returned instead.

  When this happens, `dummyValue` is encoded into cached context and it will
  never be refreshed anymore until the user runs `cdk context --reset <key>`.

  Note that it is not possible for the CDK app code to make a distinction
  between "the lookup has not been performed yet" and "the lookup didn't
  find anything and we returned a default value instead".

  ## Context providers

  This feature must explicitly be supported by context providers. It is
  currently supported by:

  - KMS key provider
  - SSM parameter provider

  ## Note to implementors

  The dummy value should not be returned for all SDK lookup failures. For
  example, "no network" or "no credentials" or "malformed query" should
  not lead to the dummy value being returned. Only the case of "no such
  resource" should.

- `props`: { [key: string]: any } — Provider-specific properties.

- `provider`: string (required) — The context provider to query.
