{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-chatbot-slackchannelconfiguration.json",
  "title": "AWSChatbotSlackChannelConfigurationProperties",
  "description": "Resource schema for AWS::Chatbot::SlackChannelConfiguration.. Source:- <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-chatbot-slackchannelconfiguration.json",
    "sourceSha256": "c530a68fce914f9e4863f0ca3263bd0c150d1e3d33e5d54f9b9e87f5366e7fd2"
  },
  "type": "object",
  "properties": {
    "SlackWorkspaceId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[0-9A-Z]{1,255}$",
          "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 Slack workspace"
    },
    "SlackChannelId": {
      "oneOf": [
        {
          "type": "string",
          "pattern": "^[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 Slack channel"
    },
    "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::SlackChannelConfiguration",
  "additionalProperties": false,
  "sourceUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html",
  "primaryIdentifier": [
    "/properties/Arn"
  ],
  "required": [
    "SlackWorkspaceId",
    "SlackChannelId",
    "ConfigurationName",
    "IamRoleArn"
  ],
  "createOnlyProperties": [
    "/properties/SlackWorkspaceId",
    "/properties/ConfigurationName"
  ],
  "readOnlyProperties": [
    "/properties/Arn"
  ]
}
