# PromptVariantProperty

Contains details about a variant of the prompt.

- Source: Generated code
- Type last changed: v2.182.0 · 5 Mar 2025

## Example

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

declare const additionalModelRequestFields: any;
declare const any: any;
declare const auto: any;
declare const json: any;
const promptVariantProperty: bedrock.CfnPrompt.PromptVariantProperty = {
  name: 'name',
  templateConfiguration: {
    chat: {
      messages: [{
        content: [{
          cachePoint: {
            type: 'type',
          },
          text: 'text',
        }],
        role: 'role',
      }],

      // the properties below are optional
      inputVariables: [{
        name: 'name',
      }],
      system: [{
        cachePoint: {
          type: 'type',
        },
        text: 'text',
      }],
      toolConfiguration: {
        tools: [{
          cachePoint: {
            type: 'type',
          },
          toolSpec: {
            inputSchema: {
              json: json,
            },
            name: 'name',

            // the properties below are optional
            description: 'description',
          },
        }],

        // the properties below are optional
        toolChoice: {
          any: any,
          auto: auto,
          tool: {
            name: 'name',
          },
        },
      },
    },
    text: {
      cachePoint: {
        type: 'type',
      },
      inputVariables: [{
        name: 'name',
      }],
      text: 'text',
      textS3Location: {
        bucket: 'bucket',
        key: 'key',

        // the properties below are optional
        version: 'version',
      },
    },
  },
  templateType: 'templateType',

  // the properties below are optional
  additionalModelRequestFields: additionalModelRequestFields,
  genAiResource: {
    agent: {
      agentIdentifier: 'agentIdentifier',
    },
  },
  inferenceConfiguration: {
    text: {
      maxTokens: 123,
      stopSequences: ['stopSequences'],
      temperature: 123,
      topP: 123,
    },
  },
  metadata: [{
    key: 'key',
    value: 'value',
  }],
  modelId: 'modelId',
};
```

## Properties

- `additionalModelRequestFields`: any — Contains model-specific inference configurations that aren't in the `inferenceConfiguration` field.

  To see model-specific inference parameters, see [Inference request parameters and response fields for foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .

- `genAiResource`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnPrompt.PromptGenAiResourceProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrock.CfnPrompt.PromptGenAiResourceProperty.html) — Specifies a generative AI resource with which to use the prompt.

- `inferenceConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnPrompt.PromptInferenceConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrock.CfnPrompt.PromptInferenceConfigurationProperty.html) — Contains inference configurations for the prompt variant.

- `metadata`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnPrompt.PromptMetadataEntryProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrock.CfnPrompt.PromptMetadataEntryProperty.html)[] — An array of objects, each containing a key-value pair that defines a metadata tag and value to attach to a prompt variant.

- `modelId`: string — The unique identifier of the model or [inference profile](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html) with which to run inference on the prompt.

- `name`: string (required) — The name of the prompt variant.

- `templateConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnPrompt.PromptTemplateConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrock.CfnPrompt.PromptTemplateConfigurationProperty.html) (required) — Contains configurations for the prompt template.

- `templateType`: string (required) — The type of prompt template to use.
