{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-lex-resourcepolicy.json",
  "title": "AWSLexResourcePolicyProperties",
  "description": "A resource policy with specified policy statements that attaches to a Lex bot or bot alias.. Source:- <https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-lex-resourcepolicy.json",
    "sourceSha256": "1019e2ce3f6cd9462ca670af8cba80c0b65eac422b30fb2b4d10a825724f86d7"
  },
  "type": "object",
  "properties": {
    "ResourceArn": {
      "$ref": "#/$defs/ResourceArn"
    },
    "Policy": {
      "$ref": "#/$defs/Policy"
    }
  },
  "typeName": "AWS::Lex::ResourcePolicy",
  "readOnlyProperties": [
    "/properties/Id",
    "/properties/RevisionId"
  ],
  "sourceUrl": "https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies",
  "additionalProperties": false,
  "additionalIdentifiers": [
    [
      "/properties/ResourceArn"
    ]
  ],
  "taggable": false,
  "$defs": {
    "ResourceArn": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 1011
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The Amazon Resource Name (ARN) of the bot or bot alias that the resource policy is attached to.",
      "title": "AWSLexResourcePolicyResourceArnDefinition"
    },
    "Policy": {
      "description": "A resource policy to add to the resource. The policy is a JSON structure following the IAM syntax that contains one or more statements that define the policy.",
      "type": "object",
      "title": "AWSLexResourcePolicyPolicyDefinition"
    },
    "RevisionId": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 5,
          "pattern": "^[0-9]+$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The current revision of the resource policy. Use the revision ID to make sure that you are updating the most current version of a resource policy when you add a policy statement to a resource, delete a resource, or update a resource.",
      "title": "AWSLexResourcePolicyRevisionIdDefinition"
    },
    "PhysicalId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The Physical ID of the resource policy.",
      "title": "AWSLexResourcePolicyPhysicalIdDefinition"
    }
  },
  "required": [
    "ResourceArn",
    "Policy"
  ],
  "primaryIdentifier": [
    "/properties/Id"
  ]
}
