{
  "typeName" : "AWS::Wisdom::AIAgent",
  "description" : "Definition of AWS::Wisdom::AIAgent Resource Type",
  "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "definitions" : {
    "AIAgentAssociationConfigurationType" : {
      "type" : "string",
      "enum" : [ "KNOWLEDGE_BASE" ]
    },
    "AIAgentConfiguration" : {
      "oneOf" : [ {
        "type" : "object",
        "title" : "ManualSearchAIAgentConfiguration",
        "properties" : {
          "ManualSearchAIAgentConfiguration" : {
            "$ref" : "#/definitions/ManualSearchAIAgentConfiguration"
          }
        },
        "required" : [ "ManualSearchAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "AnswerRecommendationAIAgentConfiguration",
        "properties" : {
          "AnswerRecommendationAIAgentConfiguration" : {
            "$ref" : "#/definitions/AnswerRecommendationAIAgentConfiguration"
          }
        },
        "required" : [ "AnswerRecommendationAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "SelfServiceAIAgentConfiguration",
        "properties" : {
          "SelfServiceAIAgentConfiguration" : {
            "$ref" : "#/definitions/SelfServiceAIAgentConfiguration"
          }
        },
        "required" : [ "SelfServiceAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "EmailResponseAIAgentConfiguration",
        "properties" : {
          "EmailResponseAIAgentConfiguration" : {
            "$ref" : "#/definitions/EmailResponseAIAgentConfiguration"
          }
        },
        "required" : [ "EmailResponseAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "EmailOverviewAIAgentConfiguration",
        "properties" : {
          "EmailOverviewAIAgentConfiguration" : {
            "$ref" : "#/definitions/EmailOverviewAIAgentConfiguration"
          }
        },
        "required" : [ "EmailOverviewAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "EmailGenerativeAnswerAIAgentConfiguration",
        "properties" : {
          "EmailGenerativeAnswerAIAgentConfiguration" : {
            "$ref" : "#/definitions/EmailGenerativeAnswerAIAgentConfiguration"
          }
        },
        "required" : [ "EmailGenerativeAnswerAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "OrchestrationAIAgentConfiguration",
        "properties" : {
          "OrchestrationAIAgentConfiguration" : {
            "$ref" : "#/definitions/OrchestrationAIAgentConfiguration"
          }
        },
        "required" : [ "OrchestrationAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "NoteTakingAIAgentConfiguration",
        "properties" : {
          "NoteTakingAIAgentConfiguration" : {
            "$ref" : "#/definitions/NoteTakingAIAgentConfiguration"
          }
        },
        "required" : [ "NoteTakingAIAgentConfiguration" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "CaseSummarizationAIAgentConfiguration",
        "properties" : {
          "CaseSummarizationAIAgentConfiguration" : {
            "$ref" : "#/definitions/CaseSummarizationAIAgentConfiguration"
          }
        },
        "required" : [ "CaseSummarizationAIAgentConfiguration" ],
        "additionalProperties" : false
      } ]
    },
    "AIAgentType" : {
      "type" : "string",
      "enum" : [ "MANUAL_SEARCH", "ANSWER_RECOMMENDATION", "SELF_SERVICE", "EMAIL_RESPONSE", "EMAIL_OVERVIEW", "EMAIL_GENERATIVE_ANSWER", "ORCHESTRATION", "NOTE_TAKING", "CASE_SUMMARIZATION" ]
    },
    "SelfServiceAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "SelfServicePreProcessingAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "SelfServiceAnswerGenerationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "SelfServiceAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AssociationConfigurations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssociationConfiguration"
          }
        }
      },
      "additionalProperties" : false
    },
    "AnswerRecommendationAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "IntentLabelingGenerationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "QueryReformulationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AnswerGenerationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AnswerGenerationAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AssociationConfigurations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssociationConfiguration"
          }
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "AssociationConfiguration" : {
      "type" : "object",
      "properties" : {
        "AssociationId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
        },
        "AssociationType" : {
          "$ref" : "#/definitions/AIAgentAssociationConfigurationType"
        },
        "AssociationConfigurationData" : {
          "$ref" : "#/definitions/AssociationConfigurationData"
        }
      },
      "additionalProperties" : false
    },
    "AssociationConfigurationData" : {
      "oneOf" : [ {
        "type" : "object",
        "title" : "KnowledgeBaseAssociationConfigurationData",
        "properties" : {
          "KnowledgeBaseAssociationConfigurationData" : {
            "$ref" : "#/definitions/KnowledgeBaseAssociationConfigurationData"
          }
        },
        "required" : [ "KnowledgeBaseAssociationConfigurationData" ],
        "additionalProperties" : false
      } ]
    },
    "KnowledgeBaseAssociationConfigurationData" : {
      "type" : "object",
      "properties" : {
        "ContentTagFilter" : {
          "$ref" : "#/definitions/TagFilter"
        },
        "MaxResults" : {
          "type" : "number",
          "maximum" : 100,
          "minimum" : 1
        },
        "OverrideKnowledgeBaseSearchType" : {
          "$ref" : "#/definitions/KnowledgeBaseSearchType"
        }
      },
      "additionalProperties" : false
    },
    "KnowledgeBaseSearchType" : {
      "type" : "string",
      "enum" : [ "HYBRID", "SEMANTIC" ]
    },
    "ManualSearchAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "AnswerGenerationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AnswerGenerationAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AssociationConfigurations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssociationConfiguration"
          }
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "OrCondition" : {
      "oneOf" : [ {
        "type" : "object",
        "title" : "AndConditions",
        "properties" : {
          "AndConditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/TagCondition"
            }
          }
        },
        "required" : [ "AndConditions" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "TagCondition",
        "properties" : {
          "TagCondition" : {
            "$ref" : "#/definitions/TagCondition"
          }
        },
        "required" : [ "TagCondition" ],
        "additionalProperties" : false
      } ]
    },
    "TagCondition" : {
      "type" : "object",
      "properties" : {
        "Key" : {
          "type" : "string",
          "maxLength" : 128,
          "minLength" : 1,
          "pattern" : "^(?!aws:)[a-zA-Z+-=._:/]+$"
        },
        "Value" : {
          "type" : "string",
          "maxLength" : 256,
          "minLength" : 1
        }
      },
      "required" : [ "Key" ],
      "additionalProperties" : false
    },
    "TagFilter" : {
      "oneOf" : [ {
        "type" : "object",
        "title" : "TagCondition",
        "properties" : {
          "TagCondition" : {
            "$ref" : "#/definitions/TagCondition"
          }
        },
        "required" : [ "TagCondition" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "AndConditions",
        "properties" : {
          "AndConditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/TagCondition"
            }
          }
        },
        "required" : [ "AndConditions" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "title" : "OrConditions",
        "properties" : {
          "OrConditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/definitions/OrCondition"
            }
          }
        },
        "required" : [ "OrConditions" ],
        "additionalProperties" : false
      } ]
    },
    "EmailResponseAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "EmailResponseAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "EmailQueryReformulationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AssociationConfigurations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssociationConfiguration"
          }
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "EmailOverviewAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "EmailOverviewAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "EmailGenerativeAnswerAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "EmailGenerativeAnswerAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "EmailQueryReformulationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "AssociationConfigurations" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssociationConfiguration"
          }
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "OrchestrationAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "OrchestrationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "OrchestrationAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "ConnectInstanceArn" : {
          "type" : "string",
          "maxLength" : 2048,
          "minLength" : 1,
          "pattern" : "^arn:[a-z-]+?:[a-z-]+?:[a-z0-9-]*?:([0-9]{12})?:[a-zA-Z0-9-:/]+$"
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        },
        "ToolConfigurations" : {
          "$ref" : "#/definitions/ToolConfigurationList"
        }
      },
      "required" : [ "OrchestrationAIPromptId" ],
      "additionalProperties" : false
    },
    "NoteTakingAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "NoteTakingAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "NoteTakingAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "CaseSummarizationAIAgentConfiguration" : {
      "type" : "object",
      "properties" : {
        "CaseSummarizationAIPromptId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "CaseSummarizationAIGuardrailId" : {
          "type" : "string",
          "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$"
        },
        "Locale" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "Tags" : {
      "type" : "object",
      "patternProperties" : {
        "^(?!aws:)[a-zA-Z+-=._:/]+$" : {
          "type" : "string",
          "maxLength" : 256,
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "ToolConfigurationList" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ToolConfiguration"
      }
    },
    "ToolConfiguration" : {
      "type" : "object",
      "properties" : {
        "ToolName" : {
          "type" : "string",
          "minLength" : 1
        },
        "ToolType" : {
          "$ref" : "#/definitions/ToolType"
        },
        "Title" : {
          "type" : "string",
          "minLength" : 1
        },
        "ToolId" : {
          "type" : "string",
          "minLength" : 1
        },
        "Description" : {
          "type" : "string",
          "minLength" : 1
        },
        "Instruction" : {
          "$ref" : "#/definitions/ToolInstruction"
        },
        "OverrideInputValues" : {
          "$ref" : "#/definitions/ToolOverrideInputValueList"
        },
        "OutputFilters" : {
          "$ref" : "#/definitions/ToolOutputFilterList"
        },
        "InputSchema" : {
          "type" : "object"
        },
        "OutputSchema" : {
          "type" : "object"
        },
        "Annotations" : {
          "$ref" : "#/definitions/Annotation"
        },
        "UserInteractionConfiguration" : {
          "$ref" : "#/definitions/UserInteractionConfiguration"
        }
      },
      "required" : [ "ToolName", "ToolType" ],
      "additionalProperties" : false
    },
    "ToolType" : {
      "type" : "string",
      "enum" : [ "MODEL_CONTEXT_PROTOCOL", "RETURN_TO_CONTROL", "CONSTANT" ]
    },
    "ToolExampleList" : {
      "type" : "array",
      "items" : {
        "type" : "string"
      }
    },
    "ToolInstruction" : {
      "type" : "object",
      "properties" : {
        "Instruction" : {
          "type" : "string"
        },
        "Examples" : {
          "$ref" : "#/definitions/ToolExampleList"
        }
      },
      "additionalProperties" : false
    },
    "ToolOverrideInputValueType" : {
      "type" : "string",
      "enum" : [ "STRING", "NUMBER", "JSON_STRING" ]
    },
    "ToolOverrideConstantInputValue" : {
      "type" : "object",
      "properties" : {
        "Type" : {
          "$ref" : "#/definitions/ToolOverrideInputValueType"
        },
        "Value" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "required" : [ "Type", "Value" ],
      "additionalProperties" : false
    },
    "ToolOverrideInputValueConfiguration" : {
      "oneOf" : [ {
        "type" : "object",
        "title" : "Constant",
        "properties" : {
          "Constant" : {
            "$ref" : "#/definitions/ToolOverrideConstantInputValue"
          }
        },
        "required" : [ "Constant" ],
        "additionalProperties" : false
      } ]
    },
    "ToolOverrideInputValueList" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ToolOverrideInputValue"
      }
    },
    "ToolOverrideInputValue" : {
      "type" : "object",
      "properties" : {
        "JsonPath" : {
          "type" : "string",
          "minLength" : 1
        },
        "Value" : {
          "$ref" : "#/definitions/ToolOverrideInputValueConfiguration"
        }
      },
      "required" : [ "JsonPath", "Value" ],
      "additionalProperties" : false
    },
    "ToolOutputConfiguration" : {
      "type" : "object",
      "properties" : {
        "OutputVariableNameOverride" : {
          "type" : "string",
          "minLength" : 1
        },
        "SessionDataNamespace" : {
          "type" : "string",
          "minLength" : 1
        }
      },
      "additionalProperties" : false
    },
    "ToolOutputFilterList" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/definitions/ToolOutputFilter"
      }
    },
    "ToolOutputFilter" : {
      "type" : "object",
      "properties" : {
        "JsonPath" : {
          "type" : "string",
          "minLength" : 1
        },
        "OutputConfiguration" : {
          "$ref" : "#/definitions/ToolOutputConfiguration"
        }
      },
      "required" : [ "JsonPath" ],
      "additionalProperties" : false
    },
    "Annotation" : {
      "type" : "object",
      "additionalProperties" : false
    },
    "UserInteractionConfiguration" : {
      "type" : "object",
      "properties" : {
        "IsUserConfirmationRequired" : {
          "type" : "boolean"
        }
      },
      "additionalProperties" : false
    }
  },
  "properties" : {
    "AIAgentId" : {
      "type" : "string",
      "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$"
    },
    "AIAgentArn" : {
      "type" : "string",
      "pattern" : "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$"
    },
    "AssistantId" : {
      "type" : "string",
      "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$"
    },
    "AssistantArn" : {
      "type" : "string",
      "pattern" : "^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$"
    },
    "Configuration" : {
      "$ref" : "#/definitions/AIAgentConfiguration"
    },
    "Description" : {
      "type" : "string",
      "maxLength" : 255,
      "minLength" : 1,
      "pattern" : "^[a-zA-Z0-9\\s_.,-]+"
    },
    "Name" : {
      "type" : "string",
      "maxLength" : 255,
      "minLength" : 1,
      "pattern" : "^[a-zA-Z0-9\\s_.,-]+"
    },
    "Tags" : {
      "$ref" : "#/definitions/Tags"
    },
    "Type" : {
      "$ref" : "#/definitions/AIAgentType"
    },
    "ModifiedTimeSeconds" : {
      "type" : "number"
    }
  },
  "required" : [ "AssistantId", "Configuration", "Type" ],
  "readOnlyProperties" : [ "/properties/AIAgentArn", "/properties/AIAgentId", "/properties/AssistantArn", "/properties/ModifiedTimeSeconds" ],
  "createOnlyProperties" : [ "/properties/AssistantId", "/properties/Name", "/properties/Tags", "/properties/Type" ],
  "primaryIdentifier" : [ "/properties/AIAgentId", "/properties/AssistantId" ],
  "additionalIdentifiers" : [ [ "/properties/AIAgentArn", "/properties/AssistantArn" ] ],
  "tagging" : {
    "taggable" : true,
    "tagOnCreate" : true,
    "tagUpdatable" : false,
    "cloudFormationSystemTags" : false,
    "tagProperty" : "/properties/Tags",
    "permissions" : [ "wisdom:TagResource" ]
  },
  "handlers" : {
    "create" : {
      "permissions" : [ "wisdom:CreateAIAgent", "wisdom:TagResource", "connect:ListIntegrationAssociations" ]
    },
    "read" : {
      "permissions" : [ "wisdom:GetAIAgent" ]
    },
    "update" : {
      "permissions" : [ "wisdom:UpdateAIAgent" ]
    },
    "delete" : {
      "permissions" : [ "wisdom:DeleteAIAgent" ]
    },
    "list" : {
      "permissions" : [ "wisdom:ListAIAgents" ],
      "handlerSchema" : {
        "properties" : {
          "AssistantId" : {
            "$ref" : "resource-schema.json#/properties/AssistantId"
          }
        },
        "required" : [ "AssistantId" ]
      }
    }
  },
  "additionalProperties" : false
}