{
 "additionalIdentifiers": [
  [
   "/properties/MemoryId"
  ]
 ],
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/Name",
  "/properties/EncryptionKeyArn"
 ],
 "definitions": {
  "Arn": {
   "pattern": "^arn:(aws(?:-cn|-us-gov|-iso(?:-[bef])?)?):[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$",
   "type": "string"
  },
  "ConsolidationConfiguration": {
   "oneOf": [
    {
     "$ref": "#/definitions/CustomConsolidationConfiguration"
    }
   ],
   "type": "object"
  },
  "ContentConfiguration": {
   "additionalProperties": false,
   "properties": {
    "Level": {
     "enum": [
      "METADATA_ONLY",
      "FULL_CONTENT"
     ],
     "type": "string"
    },
    "Type": {
     "enum": [
      "MEMORY_RECORDS"
     ],
     "type": "string"
    }
   },
   "required": [
    "Type"
   ],
   "type": "object"
  },
  "CustomConfigurationInput": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "EpisodicOverride": {
     "$ref": "#/definitions/EpisodicOverride"
    },
    "SelfManagedConfiguration": {
     "$ref": "#/definitions/SelfManagedConfiguration"
    },
    "SemanticOverride": {
     "$ref": "#/definitions/SemanticOverride"
    },
    "SummaryOverride": {
     "$ref": "#/definitions/SummaryOverride"
    },
    "UserPreferenceOverride": {
     "$ref": "#/definitions/UserPreferenceOverride"
    }
   },
   "type": "object"
  },
  "CustomConsolidationConfiguration": {
   "oneOf": [
    {
     "$ref": "#/definitions/SemanticConsolidationOverride"
    },
    {
     "$ref": "#/definitions/SummaryConsolidationOverride"
    },
    {
     "$ref": "#/definitions/UserPreferenceConsolidationOverride"
    }
   ],
   "type": "object"
  },
  "CustomExtractionConfiguration": {
   "oneOf": [
    {
     "$ref": "#/definitions/SemanticExtractionOverride"
    },
    {
     "$ref": "#/definitions/UserPreferenceExtractionOverride"
    }
   ],
   "type": "object"
  },
  "CustomMemoryStrategy": {
   "additionalProperties": false,
   "properties": {
    "Configuration": {
     "$ref": "#/definitions/CustomConfigurationInput"
    },
    "CreatedAt": {
     "format": "date-time",
     "type": "string"
    },
    "Description": {
     "$ref": "#/definitions/Description"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "Name": {
     "$ref": "#/definitions/Name"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Status": {
     "enum": [
      "CREATING",
      "ACTIVE",
      "DELETING",
      "FAILED"
     ],
     "type": "string"
    },
    "StrategyId": {
     "minLength": 12,
     "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
     "type": "string"
    },
    "Type": {
     "enum": [
      "SEMANTIC",
      "SUMMARIZATION",
      "USER_PREFERENCE",
      "CUSTOM",
      "EPISODIC"
     ],
     "type": "string"
    },
    "UpdatedAt": {
     "format": "date-time",
     "type": "string"
    }
   },
   "required": [
    "Name"
   ],
   "type": "object"
  },
  "Definition": {
   "maxLength": 1000,
   "minLength": 1,
   "type": "string"
  },
  "Description": {
   "type": "string"
  },
  "EpisodicMemoryStrategy": {
   "additionalProperties": false,
   "properties": {
    "CreatedAt": {
     "format": "date-time",
     "type": "string"
    },
    "Description": {
     "$ref": "#/definitions/Description"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "Name": {
     "$ref": "#/definitions/Name"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    },
    "ReflectionConfiguration": {
     "$ref": "#/definitions/EpisodicReflectionConfigurationInput"
    },
    "Status": {
     "enum": [
      "CREATING",
      "ACTIVE",
      "DELETING",
      "FAILED"
     ],
     "type": "string"
    },
    "StrategyId": {
     "minLength": 12,
     "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
     "type": "string"
    },
    "Type": {
     "enum": [
      "SEMANTIC",
      "SUMMARIZATION",
      "USER_PREFERENCE",
      "CUSTOM",
      "EPISODIC"
     ],
     "type": "string"
    },
    "UpdatedAt": {
     "format": "date-time",
     "type": "string"
    }
   },
   "required": [
    "Name"
   ],
   "type": "object"
  },
  "EpisodicOverride": {
   "additionalProperties": false,
   "properties": {
    "Consolidation": {
     "$ref": "#/definitions/EpisodicOverrideConsolidationConfigurationInput"
    },
    "Extraction": {
     "$ref": "#/definitions/EpisodicOverrideExtractionConfigurationInput"
    },
    "Reflection": {
     "$ref": "#/definitions/EpisodicOverrideReflectionConfigurationInput"
    }
   },
   "type": "object"
  },
  "EpisodicOverrideConsolidationConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "EpisodicOverrideExtractionConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "EpisodicOverrideReflectionConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "ModelId": {
     "type": "string"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "EpisodicReflectionConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    }
   },
   "type": "object"
  },
  "ExtractionConfig": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "LlmExtractionConfig": {
     "$ref": "#/definitions/LlmExtractionConfig"
    }
   },
   "type": "object"
  },
  "ExtractionConfiguration": {
   "oneOf": [
    {
     "$ref": "#/definitions/CustomExtractionConfiguration"
    }
   ],
   "type": "object"
  },
  "IndexedKey": {
   "additionalProperties": false,
   "properties": {
    "Key": {
     "$ref": "#/definitions/MetadataKey"
    },
    "Type": {
     "$ref": "#/definitions/MetadataValueType"
    }
   },
   "required": [
    "Key",
    "Type"
   ],
   "type": "object"
  },
  "IndexedKeysList": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/IndexedKey"
   },
   "maxItems": 10,
   "minItems": 1,
   "type": "array"
  },
  "InvocationConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "PayloadDeliveryBucketName": {
     "pattern": "^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$",
     "type": "string"
    },
    "TopicArn": {
     "$ref": "#/definitions/Arn",
     "format": "AWS::SNS::Topic.Arn"
    }
   },
   "type": "object"
  },
  "KinesisResource": {
   "additionalProperties": false,
   "properties": {
    "ContentConfigurations": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/ContentConfiguration"
     },
     "maxItems": 1,
     "minItems": 1,
     "type": "array"
    },
    "DataStreamArn": {
     "$ref": "#/definitions/Arn"
    }
   },
   "required": [
    "DataStreamArn",
    "ContentConfigurations"
   ],
   "type": "object"
  },
  "LlmExtractionConfig": {
   "additionalProperties": false,
   "properties": {
    "Definition": {
     "$ref": "#/definitions/Definition"
    },
    "LlmExtractionInstruction": {
     "$ref": "#/definitions/LlmExtractionInstruction"
    },
    "Validation": {
     "$ref": "#/definitions/Validation"
    }
   },
   "required": [
    "Definition"
   ],
   "type": "object"
  },
  "LlmExtractionInstruction": {
   "maxLength": 1000,
   "minLength": 1,
   "type": "string"
  },
  "MemoryArn": {
   "pattern": "^arn:(aws(?:-cn|-us-gov|-iso(?:-[bef])?)?):bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:memory/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
   "type": "string"
  },
  "MemoryId": {
   "minLength": 12,
   "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
   "type": "string"
  },
  "MemoryRecordSchema": {
   "additionalProperties": false,
   "properties": {
    "MetadataSchema": {
     "$ref": "#/definitions/MetadataSchemaList"
    }
   },
   "type": "object"
  },
  "MemoryStatus": {
   "enum": [
    "CREATING",
    "ACTIVE",
    "FAILED",
    "DELETING"
   ],
   "type": "string"
  },
  "MemoryStrategies": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/MemoryStrategy"
   },
   "type": "array"
  },
  "MemoryStrategy": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "CustomMemoryStrategy": {
     "$ref": "#/definitions/CustomMemoryStrategy"
    },
    "EpisodicMemoryStrategy": {
     "$ref": "#/definitions/EpisodicMemoryStrategy"
    },
    "SemanticMemoryStrategy": {
     "$ref": "#/definitions/SemanticMemoryStrategy"
    },
    "SummaryMemoryStrategy": {
     "$ref": "#/definitions/SummaryMemoryStrategy"
    },
    "UserPreferenceMemoryStrategy": {
     "$ref": "#/definitions/UserPreferenceMemoryStrategy"
    }
   },
   "type": "object"
  },
  "MessageBasedTriggerInput": {
   "additionalProperties": false,
   "properties": {
    "MessageCount": {
     "maximum": 50,
     "minimum": 1,
     "type": "integer"
    }
   },
   "type": "object"
  },
  "MetadataKey": {
   "maxLength": 128,
   "minLength": 1,
   "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$",
   "type": "string"
  },
  "MetadataSchemaEntry": {
   "additionalProperties": false,
   "properties": {
    "ExtractionConfig": {
     "$ref": "#/definitions/ExtractionConfig"
    },
    "Key": {
     "$ref": "#/definitions/MetadataKey"
    },
    "Type": {
     "$ref": "#/definitions/MetadataValueType"
    }
   },
   "required": [
    "Key"
   ],
   "type": "object"
  },
  "MetadataSchemaList": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/MetadataSchemaEntry"
   },
   "maxItems": 20,
   "minItems": 1,
   "type": "array"
  },
  "MetadataValueType": {
   "enum": [
    "STRING",
    "STRINGLIST",
    "NUMBER"
   ],
   "type": "string"
  },
  "Name": {
   "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,47}$",
   "type": "string"
  },
  "Namespace": {
   "pattern": "^[a-zA-Z0-9\\-_/]*(\\{(actorId|sessionId|memoryStrategyId)\\}[a-zA-Z0-9\\-_/]*)*$",
   "type": "string"
  },
  "NamespacesList": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/Namespace"
   },
   "minItems": 1,
   "type": "array"
  },
  "NumberValidation": {
   "additionalProperties": false,
   "properties": {
    "MaxValue": {
     "type": "number"
    },
    "MinValue": {
     "type": "number"
    }
   },
   "type": "object"
  },
  "Prompt": {
   "maxLength": 30000,
   "minLength": 1,
   "type": "string"
  },
  "SelfManagedConfiguration": {
   "additionalProperties": false,
   "properties": {
    "HistoricalContextWindowSize": {
     "maximum": 50,
     "minimum": 0,
     "type": "integer"
    },
    "InvocationConfiguration": {
     "$ref": "#/definitions/InvocationConfigurationInput"
    },
    "TriggerConditions": {
     "$ref": "#/definitions/TriggerConditionList"
    }
   },
   "type": "object"
  },
  "SemanticConsolidationOverride": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "SemanticExtractionOverride": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "SemanticMemoryStrategy": {
   "additionalProperties": false,
   "properties": {
    "CreatedAt": {
     "format": "date-time",
     "type": "string"
    },
    "Description": {
     "$ref": "#/definitions/Description"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "Name": {
     "$ref": "#/definitions/Name"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Status": {
     "enum": [
      "CREATING",
      "ACTIVE",
      "DELETING",
      "FAILED"
     ],
     "type": "string"
    },
    "StrategyId": {
     "minLength": 12,
     "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
     "type": "string"
    },
    "Type": {
     "enum": [
      "SEMANTIC",
      "SUMMARIZATION",
      "USER_PREFERENCE",
      "CUSTOM",
      "EPISODIC"
     ],
     "type": "string"
    },
    "UpdatedAt": {
     "format": "date-time",
     "type": "string"
    }
   },
   "required": [
    "Name"
   ],
   "type": "object"
  },
  "SemanticOverride": {
   "additionalProperties": false,
   "properties": {
    "Consolidation": {
     "$ref": "#/definitions/SemanticOverrideConsolidationConfigurationInput"
    },
    "Extraction": {
     "$ref": "#/definitions/SemanticOverrideExtractionConfigurationInput"
    }
   },
   "type": "object"
  },
  "SemanticOverrideConsolidationConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "SemanticOverrideExtractionConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "StrategyConfiguration": {
   "additionalProperties": false,
   "properties": {
    "Consolidation": {
     "$ref": "#/definitions/ConsolidationConfiguration"
    },
    "Extraction": {
     "$ref": "#/definitions/ExtractionConfiguration"
    },
    "Type": {
     "enum": [
      "SEMANTIC_OVERRIDE",
      "SUMMARY_OVERRIDE",
      "USER_PREFERENCE_OVERRIDE",
      "EPISODIC"
     ],
     "type": "string"
    }
   },
   "type": "object"
  },
  "StreamDeliveryResource": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "Kinesis": {
     "$ref": "#/definitions/KinesisResource"
    }
   },
   "type": "object"
  },
  "StreamDeliveryResources": {
   "additionalProperties": false,
   "properties": {
    "Resources": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/StreamDeliveryResource"
     },
     "maxItems": 1,
     "type": "array"
    }
   },
   "required": [
    "Resources"
   ],
   "type": "object"
  },
  "StringListValidation": {
   "additionalProperties": false,
   "properties": {
    "AllowedValues": {
     "insertionOrder": false,
     "items": {
      "type": "string"
     },
     "maxItems": 10,
     "minItems": 1,
     "type": "array"
    },
    "MaxItems": {
     "maximum": 5,
     "minimum": 1,
     "type": "integer"
    }
   },
   "type": "object"
  },
  "StringValidation": {
   "additionalProperties": false,
   "properties": {
    "AllowedValues": {
     "insertionOrder": false,
     "items": {
      "type": "string"
     },
     "maxItems": 10,
     "minItems": 1,
     "type": "array"
    }
   },
   "required": [
    "AllowedValues"
   ],
   "type": "object"
  },
  "SummaryConsolidationOverride": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "SummaryMemoryStrategy": {
   "additionalProperties": false,
   "properties": {
    "CreatedAt": {
     "format": "date-time",
     "type": "string"
    },
    "Description": {
     "$ref": "#/definitions/Description"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "Name": {
     "$ref": "#/definitions/Name"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Status": {
     "enum": [
      "CREATING",
      "ACTIVE",
      "DELETING",
      "FAILED"
     ],
     "type": "string"
    },
    "StrategyId": {
     "minLength": 12,
     "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
     "type": "string"
    },
    "Type": {
     "enum": [
      "SEMANTIC",
      "SUMMARIZATION",
      "USER_PREFERENCE",
      "CUSTOM",
      "EPISODIC"
     ],
     "type": "string"
    },
    "UpdatedAt": {
     "format": "date-time",
     "type": "string"
    }
   },
   "required": [
    "Name"
   ],
   "type": "object"
  },
  "SummaryOverride": {
   "additionalProperties": false,
   "properties": {
    "Consolidation": {
     "$ref": "#/definitions/SummaryOverrideConsolidationConfigurationInput"
    }
   },
   "type": "object"
  },
  "SummaryOverrideConsolidationConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "TagsMap": {
   "additionalProperties": false,
   "maxProperties": 50,
   "minProperties": 0,
   "patternProperties": {
    "^[a-zA-Z0-9\\s._:/=+@-]{1,128}$": {
     "maxLength": 256,
     "minLength": 0,
     "pattern": "^[a-zA-Z0-9\\s._:/=+@-]*$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "TimeBasedTriggerInput": {
   "additionalProperties": false,
   "properties": {
    "IdleSessionTimeout": {
     "maximum": 3000,
     "minimum": 10,
     "type": "integer"
    }
   },
   "type": "object"
  },
  "TokenBasedTriggerInput": {
   "additionalProperties": false,
   "properties": {
    "TokenCount": {
     "maximum": 500000,
     "minimum": 100,
     "type": "integer"
    }
   },
   "type": "object"
  },
  "TriggerConditionInput": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "MessageBasedTrigger": {
     "$ref": "#/definitions/MessageBasedTriggerInput"
    },
    "TimeBasedTrigger": {
     "$ref": "#/definitions/TimeBasedTriggerInput"
    },
    "TokenBasedTrigger": {
     "$ref": "#/definitions/TokenBasedTriggerInput"
    }
   },
   "type": "object"
  },
  "TriggerConditionList": {
   "additionalProperties": false,
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/TriggerConditionInput"
   },
   "minItems": 1,
   "type": "array"
  },
  "UserPreferenceConsolidationOverride": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "UserPreferenceExtractionOverride": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "UserPreferenceMemoryStrategy": {
   "additionalProperties": false,
   "properties": {
    "CreatedAt": {
     "format": "date-time",
     "type": "string"
    },
    "Description": {
     "$ref": "#/definitions/Description"
    },
    "MemoryRecordSchema": {
     "$ref": "#/definitions/MemoryRecordSchema"
    },
    "Name": {
     "$ref": "#/definitions/Name"
    },
    "NamespaceTemplates": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Namespaces": {
     "$ref": "#/definitions/NamespacesList"
    },
    "Status": {
     "enum": [
      "CREATING",
      "ACTIVE",
      "DELETING",
      "FAILED"
     ],
     "type": "string"
    },
    "StrategyId": {
     "minLength": 12,
     "pattern": "^[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}$",
     "type": "string"
    },
    "Type": {
     "enum": [
      "SEMANTIC",
      "SUMMARIZATION",
      "USER_PREFERENCE",
      "CUSTOM",
      "EPISODIC"
     ],
     "type": "string"
    },
    "UpdatedAt": {
     "format": "date-time",
     "type": "string"
    }
   },
   "required": [
    "Name"
   ],
   "type": "object"
  },
  "UserPreferenceOverride": {
   "additionalProperties": false,
   "properties": {
    "Consolidation": {
     "$ref": "#/definitions/UserPreferenceOverrideConsolidationConfigurationInput"
    },
    "Extraction": {
     "$ref": "#/definitions/UserPreferenceOverrideExtractionConfigurationInput"
    }
   },
   "type": "object"
  },
  "UserPreferenceOverrideConsolidationConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "UserPreferenceOverrideExtractionConfigurationInput": {
   "additionalProperties": false,
   "properties": {
    "AppendToPrompt": {
     "$ref": "#/definitions/Prompt"
    },
    "ModelId": {
     "type": "string"
    }
   },
   "required": [
    "AppendToPrompt",
    "ModelId"
   ],
   "type": "object"
  },
  "Validation": {
   "additionalProperties": false,
   "maxProperties": 1,
   "minProperties": 1,
   "properties": {
    "NumberValidation": {
     "$ref": "#/definitions/NumberValidation"
    },
    "StringListValidation": {
     "$ref": "#/definitions/StringListValidation"
    },
    "StringValidation": {
     "$ref": "#/definitions/StringValidation"
    }
   },
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/MemoryArn"
 ],
 "properties": {
  "CreatedAt": {
   "format": "date-time",
   "type": "string"
  },
  "Description": {
   "$ref": "#/definitions/Description"
  },
  "EncryptionKeyArn": {
   "$ref": "#/definitions/Arn"
  },
  "EventExpiryDuration": {
   "maximum": 365,
   "minimum": 3,
   "type": "integer"
  },
  "FailureReason": {
   "type": "string"
  },
  "IndexedKeys": {
   "$ref": "#/definitions/IndexedKeysList"
  },
  "MemoryArn": {
   "$ref": "#/definitions/MemoryArn"
  },
  "MemoryExecutionRoleArn": {
   "$ref": "#/definitions/Arn",
   "format": "AWS::IAM::Role.Arn"
  },
  "MemoryId": {
   "$ref": "#/definitions/MemoryId"
  },
  "MemoryStrategies": {
   "$ref": "#/definitions/MemoryStrategies"
  },
  "Name": {
   "$ref": "#/definitions/Name"
  },
  "Status": {
   "$ref": "#/definitions/MemoryStatus"
  },
  "StreamDeliveryResources": {
   "$ref": "#/definitions/StreamDeliveryResources"
  },
  "Tags": {
   "$ref": "#/definitions/TagsMap"
  },
  "UpdatedAt": {
   "format": "date-time",
   "type": "string"
  }
 },
 "readOnlyProperties": [
  "/properties/MemoryArn",
  "/properties/MemoryId",
  "/properties/Status",
  "/properties/CreatedAt",
  "/properties/UpdatedAt",
  "/properties/FailureReason",
  "/properties/MemoryStrategies/*/SemanticMemoryStrategy/CreatedAt",
  "/properties/MemoryStrategies/*/SemanticMemoryStrategy/UpdatedAt",
  "/properties/MemoryStrategies/*/SemanticMemoryStrategy/StrategyId",
  "/properties/MemoryStrategies/*/SemanticMemoryStrategy/Status",
  "/properties/MemoryStrategies/*/SemanticMemoryStrategy/Type",
  "/properties/MemoryStrategies/*/SummaryMemoryStrategy/CreatedAt",
  "/properties/MemoryStrategies/*/SummaryMemoryStrategy/UpdatedAt",
  "/properties/MemoryStrategies/*/SummaryMemoryStrategy/StrategyId",
  "/properties/MemoryStrategies/*/SummaryMemoryStrategy/Status",
  "/properties/MemoryStrategies/*/SummaryMemoryStrategy/Type",
  "/properties/MemoryStrategies/*/UserPreferenceMemoryStrategy/CreatedAt",
  "/properties/MemoryStrategies/*/UserPreferenceMemoryStrategy/UpdatedAt",
  "/properties/MemoryStrategies/*/UserPreferenceMemoryStrategy/StrategyId",
  "/properties/MemoryStrategies/*/UserPreferenceMemoryStrategy/Status",
  "/properties/MemoryStrategies/*/UserPreferenceMemoryStrategy/Type",
  "/properties/MemoryStrategies/*/CustomMemoryStrategy/CreatedAt",
  "/properties/MemoryStrategies/*/CustomMemoryStrategy/UpdatedAt",
  "/properties/MemoryStrategies/*/CustomMemoryStrategy/StrategyId",
  "/properties/MemoryStrategies/*/CustomMemoryStrategy/Status",
  "/properties/MemoryStrategies/*/CustomMemoryStrategy/Type",
  "/properties/MemoryStrategies/*/EpisodicMemoryStrategy/CreatedAt",
  "/properties/MemoryStrategies/*/EpisodicMemoryStrategy/UpdatedAt",
  "/properties/MemoryStrategies/*/EpisodicMemoryStrategy/StrategyId",
  "/properties/MemoryStrategies/*/EpisodicMemoryStrategy/Status",
  "/properties/MemoryStrategies/*/EpisodicMemoryStrategy/Type"
 ],
 "required": [
  "Name",
  "EventExpiryDuration"
 ],
 "tagging": {
  "cloudFormationSystemTags": false,
  "tagOnCreate": true,
  "tagProperty": "/properties/Tags",
  "tagUpdatable": true,
  "taggable": true
 },
 "typeName": "AWS::BedrockAgentCore::Memory"
}
