# CustomConfigurationInputProperty

The memory configuration input.

- Source: Generated code
- Type last changed: v2.234.0 · 8 Jan 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_bedrockagentcore as bedrockagentcore } from 'aws-cdk-lib';
const customConfigurationInputProperty: bedrockagentcore.CfnMemory.CustomConfigurationInputProperty = {
  episodicOverride: {
    consolidation: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
    extraction: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
    reflection: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',

      // the properties below are optional
      memoryRecordSchema: {
        metadataSchema: [{
          key: 'key',

          // the properties below are optional
          extractionConfig: {
            llmExtractionConfig: {
              definition: 'definition',

              // the properties below are optional
              llmExtractionInstruction: 'llmExtractionInstruction',
              validation: {
                numberValidation: {
                  maxValue: 123,
                  minValue: 123,
                },
                stringListValidation: {
                  allowedValues: ['allowedValues'],
                  maxItems: 123,
                },
                stringValidation: {
                  allowedValues: ['allowedValues'],
                },
              },
            },
          },
          extractionType: 'extractionType',
          type: 'type',
        }],
      },
      namespaces: ['namespaces'],
      namespaceTemplates: ['namespaceTemplates'],
    },
  },
  selfManagedConfiguration: {
    historicalContextWindowSize: 123,
    invocationConfiguration: {
      payloadDeliveryBucketName: 'payloadDeliveryBucketName',
      topicArn: 'topicArn',
    },
    triggerConditions: [{
      messageBasedTrigger: {
        messageCount: 123,
      },
      timeBasedTrigger: {
        idleSessionTimeout: 123,
      },
      tokenBasedTrigger: {
        tokenCount: 123,
      },
    }],
  },
  semanticOverride: {
    consolidation: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
    extraction: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
  },
  summaryOverride: {
    consolidation: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
  },
  userPreferenceOverride: {
    consolidation: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
    extraction: {
      appendToPrompt: 'appendToPrompt',
      modelId: 'modelId',
    },
  },
};
```

## Properties

- `episodicOverride`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMemory.EpisodicOverrideProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrockagentcore.CfnMemory.EpisodicOverrideProperty.html)

- `selfManagedConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMemory.SelfManagedConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrockagentcore.CfnMemory.SelfManagedConfigurationProperty.html) — The custom configuration input.

- `semanticOverride`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMemory.SemanticOverrideProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrockagentcore.CfnMemory.SemanticOverrideProperty.html) — The memory override configuration.

- `summaryOverride`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMemory.SummaryOverrideProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrockagentcore.CfnMemory.SummaryOverrideProperty.html) — The memory configuration override.

- `userPreferenceOverride`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnMemory.UserPreferenceOverrideProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_bedrockagentcore.CfnMemory.UserPreferenceOverrideProperty.html) — The memory user preference override.
