{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-chatbot-microsoftteamschannelconfiguration.json",
  "title": "AWSChatbotMicrosoftTeamsChannelConfigurationProperties",
  "description": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration.. Source:- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-chatbot-microsoftteamschannelconfiguration.json",
    "sourceSha256": "ef07972acfd5dd9059bc5af9102eabcff5f5e401960ee78652ceed220d57e969"
  },
  "type": "object",
  "properties": {
    "TeamId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$",
          "minLength": 36,
          "maxLength": 36
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The id of the Microsoft Teams team"
    },
    "TeamsChannelId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^([a-zA-Z0-9-_=+/.,])*%3a([a-zA-Z0-9-_=+/.,])*%40([a-zA-Z0-9-_=+/.,])*$",
          "minLength": 1,
          "maxLength": 256
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The id of the Microsoft Teams channel"
    },
    "TeamsTenantId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9A-Fa-f]{8}(?:-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}$",
          "minLength": 36,
          "maxLength": 36
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The id of the Microsoft Teams tenant"
    },
    "ConfigurationName": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9-_]+$",
          "minLength": 1,
          "maxLength": 128
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The name of the configuration"
    },
    "IamRoleArn": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The ARN of the IAM role that defines the permissions for AWS Chatbot"
    },
    "SnsTopicArns": {
      "description": "ARNs of SNS topics which delivers notifications to AWS Chatbot, for example CloudWatch alarm notifications.",
      "type": "array",
      "insertionOrder": false,
      "items": {
        "type": "string",
        "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$"
      }
    },
    "LoggingLevel": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^(ERROR|INFO|NONE)$",
          "default": "NONE"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Specifies the logging level for this configuration:ERROR,INFO or NONE. This property affects the log entries pushed to Amazon CloudWatch logs"
    },
    "GuardrailPolicies": {
      "description": "The list of IAM policy ARNs that are applied as channel guardrails. The AWS managed 'AdministratorAccess' policy is applied as a default if this is not set.",
      "type": "array",
      "insertionOrder": false,
      "items": {
        "type": "string",
        "pattern": "^(^$|arn:aws:iam:[A-Za-z0-9_\\/.-]{0,63}:[A-Za-z0-9_\\/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_\\/+=,@.-]{0,1023})$"
      }
    },
    "UserRoleRequired": {
      "description": "Enables use of a user role requirement in your chat configuration",
      "type": "boolean",
      "default": false
    }
  },
  "typeName": "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",
  "tagging": {
    "taggable": false
  },
  "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html",
  "additionalProperties": false,
  "required": [
    "TeamId",
    "TeamsChannelId",
    "TeamsTenantId",
    "ConfigurationName",
    "IamRoleArn"
  ],
  "createOnlyProperties": [
    "/properties/TeamId",
    "/properties/TeamsTenantId",
    "/properties/ConfigurationName"
  ],
  "readOnlyProperties": [
    "/properties/Arn"
  ],
  "primaryIdentifier": [
    "/properties/Arn"
  ]
}
