packages feed

stratosphere-chatbot (empty) → 1.0.0

raw patch · 11 files changed

+643/−0 lines, 11 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/Chatbot/CustomAction.hs view
@@ -0,0 +1,75 @@+module Stratosphere.Chatbot.CustomAction (+        module Exports, CustomAction(..), mkCustomAction+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Chatbot.CustomAction.CustomActionAttachmentProperty as Exports+import {-# SOURCE #-} Stratosphere.Chatbot.CustomAction.CustomActionDefinitionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data CustomAction+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html>+    CustomAction {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-actionname>+                  actionName :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-aliasname>+                  aliasName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-attachments>+                  attachments :: (Prelude.Maybe [CustomActionAttachmentProperty]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-definition>+                  definition :: CustomActionDefinitionProperty,+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-customaction.html#cfn-chatbot-customaction-tags>+                  tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomAction ::+  Value Prelude.Text+  -> CustomActionDefinitionProperty -> CustomAction+mkCustomAction actionName definition+  = CustomAction+      {haddock_workaround_ = (), actionName = actionName,+       definition = definition, aliasName = Prelude.Nothing,+       attachments = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties CustomAction where+  toResourceProperties CustomAction {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::CustomAction",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ActionName" JSON..= actionName, "Definition" JSON..= definition]+                           (Prelude.catMaybes+                              [(JSON..=) "AliasName" Prelude.<$> aliasName,+                               (JSON..=) "Attachments" Prelude.<$> attachments,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CustomAction where+  toJSON CustomAction {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ActionName" JSON..= actionName, "Definition" JSON..= definition]+              (Prelude.catMaybes+                 [(JSON..=) "AliasName" Prelude.<$> aliasName,+                  (JSON..=) "Attachments" Prelude.<$> attachments,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ActionName" CustomAction where+  type PropertyType "ActionName" CustomAction = Value Prelude.Text+  set newValue CustomAction {..}+    = CustomAction {actionName = newValue, ..}+instance Property "AliasName" CustomAction where+  type PropertyType "AliasName" CustomAction = Value Prelude.Text+  set newValue CustomAction {..}+    = CustomAction {aliasName = Prelude.pure newValue, ..}+instance Property "Attachments" CustomAction where+  type PropertyType "Attachments" CustomAction = [CustomActionAttachmentProperty]+  set newValue CustomAction {..}+    = CustomAction {attachments = Prelude.pure newValue, ..}+instance Property "Definition" CustomAction where+  type PropertyType "Definition" CustomAction = CustomActionDefinitionProperty+  set newValue CustomAction {..}+    = CustomAction {definition = newValue, ..}+instance Property "Tags" CustomAction where+  type PropertyType "Tags" CustomAction = [Tag]+  set newValue CustomAction {..}+    = CustomAction {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionAttachmentCriteriaProperty.hs view
@@ -0,0 +1,56 @@+module Stratosphere.Chatbot.CustomAction.CustomActionAttachmentCriteriaProperty (+        CustomActionAttachmentCriteriaProperty(..),+        mkCustomActionAttachmentCriteriaProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomActionAttachmentCriteriaProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html>+    CustomActionAttachmentCriteriaProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-operator>+                                            operator :: (Value Prelude.Text),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-value>+                                            value :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachmentcriteria.html#cfn-chatbot-customaction-customactionattachmentcriteria-variablename>+                                            variableName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomActionAttachmentCriteriaProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> CustomActionAttachmentCriteriaProperty+mkCustomActionAttachmentCriteriaProperty operator variableName+  = CustomActionAttachmentCriteriaProperty+      {haddock_workaround_ = (), operator = operator,+       variableName = variableName, value = Prelude.Nothing}+instance ToResourceProperties CustomActionAttachmentCriteriaProperty where+  toResourceProperties CustomActionAttachmentCriteriaProperty {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::CustomAction.CustomActionAttachmentCriteria",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Operator" JSON..= operator, "VariableName" JSON..= variableName]+                           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))}+instance JSON.ToJSON CustomActionAttachmentCriteriaProperty where+  toJSON CustomActionAttachmentCriteriaProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Operator" JSON..= operator, "VariableName" JSON..= variableName]+              (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])))+instance Property "Operator" CustomActionAttachmentCriteriaProperty where+  type PropertyType "Operator" CustomActionAttachmentCriteriaProperty = Value Prelude.Text+  set newValue CustomActionAttachmentCriteriaProperty {..}+    = CustomActionAttachmentCriteriaProperty {operator = newValue, ..}+instance Property "Value" CustomActionAttachmentCriteriaProperty where+  type PropertyType "Value" CustomActionAttachmentCriteriaProperty = Value Prelude.Text+  set newValue CustomActionAttachmentCriteriaProperty {..}+    = CustomActionAttachmentCriteriaProperty+        {value = Prelude.pure newValue, ..}+instance Property "VariableName" CustomActionAttachmentCriteriaProperty where+  type PropertyType "VariableName" CustomActionAttachmentCriteriaProperty = Value Prelude.Text+  set newValue CustomActionAttachmentCriteriaProperty {..}+    = CustomActionAttachmentCriteriaProperty+        {variableName = newValue, ..}
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionAttachmentCriteriaProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Chatbot.CustomAction.CustomActionAttachmentCriteriaProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomActionAttachmentCriteriaProperty :: Prelude.Type+instance ToResourceProperties CustomActionAttachmentCriteriaProperty+instance Prelude.Eq CustomActionAttachmentCriteriaProperty+instance Prelude.Show CustomActionAttachmentCriteriaProperty+instance JSON.ToJSON CustomActionAttachmentCriteriaProperty
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionAttachmentProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.Chatbot.CustomAction.CustomActionAttachmentProperty (+        module Exports, CustomActionAttachmentProperty(..),+        mkCustomActionAttachmentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.Chatbot.CustomAction.CustomActionAttachmentCriteriaProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomActionAttachmentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html>+    CustomActionAttachmentProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-buttontext>+                                    buttonText :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-criteria>+                                    criteria :: (Prelude.Maybe [CustomActionAttachmentCriteriaProperty]),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-notificationtype>+                                    notificationType :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactionattachment.html#cfn-chatbot-customaction-customactionattachment-variables>+                                    variables :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomActionAttachmentProperty :: CustomActionAttachmentProperty+mkCustomActionAttachmentProperty+  = CustomActionAttachmentProperty+      {haddock_workaround_ = (), buttonText = Prelude.Nothing,+       criteria = Prelude.Nothing, notificationType = Prelude.Nothing,+       variables = Prelude.Nothing}+instance ToResourceProperties CustomActionAttachmentProperty where+  toResourceProperties CustomActionAttachmentProperty {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::CustomAction.CustomActionAttachment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ButtonText" Prelude.<$> buttonText,+                            (JSON..=) "Criteria" Prelude.<$> criteria,+                            (JSON..=) "NotificationType" Prelude.<$> notificationType,+                            (JSON..=) "Variables" Prelude.<$> variables])}+instance JSON.ToJSON CustomActionAttachmentProperty where+  toJSON CustomActionAttachmentProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ButtonText" Prelude.<$> buttonText,+               (JSON..=) "Criteria" Prelude.<$> criteria,+               (JSON..=) "NotificationType" Prelude.<$> notificationType,+               (JSON..=) "Variables" Prelude.<$> variables]))+instance Property "ButtonText" CustomActionAttachmentProperty where+  type PropertyType "ButtonText" CustomActionAttachmentProperty = Value Prelude.Text+  set newValue CustomActionAttachmentProperty {..}+    = CustomActionAttachmentProperty+        {buttonText = Prelude.pure newValue, ..}+instance Property "Criteria" CustomActionAttachmentProperty where+  type PropertyType "Criteria" CustomActionAttachmentProperty = [CustomActionAttachmentCriteriaProperty]+  set newValue CustomActionAttachmentProperty {..}+    = CustomActionAttachmentProperty+        {criteria = Prelude.pure newValue, ..}+instance Property "NotificationType" CustomActionAttachmentProperty where+  type PropertyType "NotificationType" CustomActionAttachmentProperty = Value Prelude.Text+  set newValue CustomActionAttachmentProperty {..}+    = CustomActionAttachmentProperty+        {notificationType = Prelude.pure newValue, ..}+instance Property "Variables" CustomActionAttachmentProperty where+  type PropertyType "Variables" CustomActionAttachmentProperty = Prelude.Map Prelude.Text (Value Prelude.Text)+  set newValue CustomActionAttachmentProperty {..}+    = CustomActionAttachmentProperty+        {variables = Prelude.pure newValue, ..}
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionAttachmentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Chatbot.CustomAction.CustomActionAttachmentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomActionAttachmentProperty :: Prelude.Type+instance ToResourceProperties CustomActionAttachmentProperty+instance Prelude.Eq CustomActionAttachmentProperty+instance Prelude.Show CustomActionAttachmentProperty+instance JSON.ToJSON CustomActionAttachmentProperty
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionDefinitionProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.Chatbot.CustomAction.CustomActionDefinitionProperty (+        CustomActionDefinitionProperty(..),+        mkCustomActionDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomActionDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactiondefinition.html>+    CustomActionDefinitionProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-chatbot-customaction-customactiondefinition.html#cfn-chatbot-customaction-customactiondefinition-commandtext>+                                    commandText :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomActionDefinitionProperty ::+  Value Prelude.Text -> CustomActionDefinitionProperty+mkCustomActionDefinitionProperty commandText+  = CustomActionDefinitionProperty+      {haddock_workaround_ = (), commandText = commandText}+instance ToResourceProperties CustomActionDefinitionProperty where+  toResourceProperties CustomActionDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::CustomAction.CustomActionDefinition",+         supportsTags = Prelude.False,+         properties = ["CommandText" JSON..= commandText]}+instance JSON.ToJSON CustomActionDefinitionProperty where+  toJSON CustomActionDefinitionProperty {..}+    = JSON.object ["CommandText" JSON..= commandText]+instance Property "CommandText" CustomActionDefinitionProperty where+  type PropertyType "CommandText" CustomActionDefinitionProperty = Value Prelude.Text+  set newValue CustomActionDefinitionProperty {..}+    = CustomActionDefinitionProperty {commandText = newValue, ..}
+ gen/Stratosphere/Chatbot/CustomAction/CustomActionDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.Chatbot.CustomAction.CustomActionDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomActionDefinitionProperty :: Prelude.Type+instance ToResourceProperties CustomActionDefinitionProperty+instance Prelude.Eq CustomActionDefinitionProperty+instance Prelude.Show CustomActionDefinitionProperty+instance JSON.ToJSON CustomActionDefinitionProperty
+ gen/Stratosphere/Chatbot/MicrosoftTeamsChannelConfiguration.hs view
@@ -0,0 +1,154 @@+module Stratosphere.Chatbot.MicrosoftTeamsChannelConfiguration (+        MicrosoftTeamsChannelConfiguration(..),+        mkMicrosoftTeamsChannelConfiguration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data MicrosoftTeamsChannelConfiguration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html>+    MicrosoftTeamsChannelConfiguration {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-configurationname>+                                        configurationName :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-customizationresourcearns>+                                        customizationResourceArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-guardrailpolicies>+                                        guardrailPolicies :: (Prelude.Maybe (ValueList Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-iamrolearn>+                                        iamRoleArn :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-logginglevel>+                                        loggingLevel :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-snstopicarns>+                                        snsTopicArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-tags>+                                        tags :: (Prelude.Maybe [Tag]),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-teamid>+                                        teamId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-teamschannelid>+                                        teamsChannelId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-teamschannelname>+                                        teamsChannelName :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-teamstenantid>+                                        teamsTenantId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html#cfn-chatbot-microsoftteamschannelconfiguration-userrolerequired>+                                        userRoleRequired :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMicrosoftTeamsChannelConfiguration ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text+           -> Value Prelude.Text -> MicrosoftTeamsChannelConfiguration+mkMicrosoftTeamsChannelConfiguration+  configurationName+  iamRoleArn+  teamId+  teamsChannelId+  teamsTenantId+  = MicrosoftTeamsChannelConfiguration+      {haddock_workaround_ = (), configurationName = configurationName,+       iamRoleArn = iamRoleArn, teamId = teamId,+       teamsChannelId = teamsChannelId, teamsTenantId = teamsTenantId,+       customizationResourceArns = Prelude.Nothing,+       guardrailPolicies = Prelude.Nothing,+       loggingLevel = Prelude.Nothing, snsTopicArns = Prelude.Nothing,+       tags = Prelude.Nothing, teamsChannelName = Prelude.Nothing,+       userRoleRequired = Prelude.Nothing}+instance ToResourceProperties MicrosoftTeamsChannelConfiguration where+  toResourceProperties MicrosoftTeamsChannelConfiguration {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ConfigurationName" JSON..= configurationName,+                            "IamRoleArn" JSON..= iamRoleArn, "TeamId" JSON..= teamId,+                            "TeamsChannelId" JSON..= teamsChannelId,+                            "TeamsTenantId" JSON..= teamsTenantId]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizationResourceArns"+                                 Prelude.<$> customizationResourceArns,+                               (JSON..=) "GuardrailPolicies" Prelude.<$> guardrailPolicies,+                               (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,+                               (JSON..=) "SnsTopicArns" Prelude.<$> snsTopicArns,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TeamsChannelName" Prelude.<$> teamsChannelName,+                               (JSON..=) "UserRoleRequired" Prelude.<$> userRoleRequired]))}+instance JSON.ToJSON MicrosoftTeamsChannelConfiguration where+  toJSON MicrosoftTeamsChannelConfiguration {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ConfigurationName" JSON..= configurationName,+               "IamRoleArn" JSON..= iamRoleArn, "TeamId" JSON..= teamId,+               "TeamsChannelId" JSON..= teamsChannelId,+               "TeamsTenantId" JSON..= teamsTenantId]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizationResourceArns"+                    Prelude.<$> customizationResourceArns,+                  (JSON..=) "GuardrailPolicies" Prelude.<$> guardrailPolicies,+                  (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,+                  (JSON..=) "SnsTopicArns" Prelude.<$> snsTopicArns,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TeamsChannelName" Prelude.<$> teamsChannelName,+                  (JSON..=) "UserRoleRequired" Prelude.<$> userRoleRequired])))+instance Property "ConfigurationName" MicrosoftTeamsChannelConfiguration where+  type PropertyType "ConfigurationName" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {configurationName = newValue, ..}+instance Property "CustomizationResourceArns" MicrosoftTeamsChannelConfiguration where+  type PropertyType "CustomizationResourceArns" MicrosoftTeamsChannelConfiguration = ValueList Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {customizationResourceArns = Prelude.pure newValue, ..}+instance Property "GuardrailPolicies" MicrosoftTeamsChannelConfiguration where+  type PropertyType "GuardrailPolicies" MicrosoftTeamsChannelConfiguration = ValueList Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {guardrailPolicies = Prelude.pure newValue, ..}+instance Property "IamRoleArn" MicrosoftTeamsChannelConfiguration where+  type PropertyType "IamRoleArn" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration {iamRoleArn = newValue, ..}+instance Property "LoggingLevel" MicrosoftTeamsChannelConfiguration where+  type PropertyType "LoggingLevel" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {loggingLevel = Prelude.pure newValue, ..}+instance Property "SnsTopicArns" MicrosoftTeamsChannelConfiguration where+  type PropertyType "SnsTopicArns" MicrosoftTeamsChannelConfiguration = ValueList Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {snsTopicArns = Prelude.pure newValue, ..}+instance Property "Tags" MicrosoftTeamsChannelConfiguration where+  type PropertyType "Tags" MicrosoftTeamsChannelConfiguration = [Tag]+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {tags = Prelude.pure newValue, ..}+instance Property "TeamId" MicrosoftTeamsChannelConfiguration where+  type PropertyType "TeamId" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration {teamId = newValue, ..}+instance Property "TeamsChannelId" MicrosoftTeamsChannelConfiguration where+  type PropertyType "TeamsChannelId" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {teamsChannelId = newValue, ..}+instance Property "TeamsChannelName" MicrosoftTeamsChannelConfiguration where+  type PropertyType "TeamsChannelName" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {teamsChannelName = Prelude.pure newValue, ..}+instance Property "TeamsTenantId" MicrosoftTeamsChannelConfiguration where+  type PropertyType "TeamsTenantId" MicrosoftTeamsChannelConfiguration = Value Prelude.Text+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration {teamsTenantId = newValue, ..}+instance Property "UserRoleRequired" MicrosoftTeamsChannelConfiguration where+  type PropertyType "UserRoleRequired" MicrosoftTeamsChannelConfiguration = Value Prelude.Bool+  set newValue MicrosoftTeamsChannelConfiguration {..}+    = MicrosoftTeamsChannelConfiguration+        {userRoleRequired = Prelude.pure newValue, ..}
+ gen/Stratosphere/Chatbot/SlackChannelConfiguration.hs view
@@ -0,0 +1,132 @@+module Stratosphere.Chatbot.SlackChannelConfiguration (+        SlackChannelConfiguration(..), mkSlackChannelConfiguration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data SlackChannelConfiguration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html>+    SlackChannelConfiguration {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-configurationname>+                               configurationName :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-customizationresourcearns>+                               customizationResourceArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-guardrailpolicies>+                               guardrailPolicies :: (Prelude.Maybe (ValueList Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-iamrolearn>+                               iamRoleArn :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-logginglevel>+                               loggingLevel :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackchannelid>+                               slackChannelId :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-slackworkspaceid>+                               slackWorkspaceId :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-snstopicarns>+                               snsTopicArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-tags>+                               tags :: (Prelude.Maybe [Tag]),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html#cfn-chatbot-slackchannelconfiguration-userrolerequired>+                               userRoleRequired :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSlackChannelConfiguration ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> SlackChannelConfiguration+mkSlackChannelConfiguration+  configurationName+  iamRoleArn+  slackChannelId+  slackWorkspaceId+  = SlackChannelConfiguration+      {haddock_workaround_ = (), configurationName = configurationName,+       iamRoleArn = iamRoleArn, slackChannelId = slackChannelId,+       slackWorkspaceId = slackWorkspaceId,+       customizationResourceArns = Prelude.Nothing,+       guardrailPolicies = Prelude.Nothing,+       loggingLevel = Prelude.Nothing, snsTopicArns = Prelude.Nothing,+       tags = Prelude.Nothing, userRoleRequired = Prelude.Nothing}+instance ToResourceProperties SlackChannelConfiguration where+  toResourceProperties SlackChannelConfiguration {..}+    = ResourceProperties+        {awsType = "AWS::Chatbot::SlackChannelConfiguration",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ConfigurationName" JSON..= configurationName,+                            "IamRoleArn" JSON..= iamRoleArn,+                            "SlackChannelId" JSON..= slackChannelId,+                            "SlackWorkspaceId" JSON..= slackWorkspaceId]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizationResourceArns"+                                 Prelude.<$> customizationResourceArns,+                               (JSON..=) "GuardrailPolicies" Prelude.<$> guardrailPolicies,+                               (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,+                               (JSON..=) "SnsTopicArns" Prelude.<$> snsTopicArns,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "UserRoleRequired" Prelude.<$> userRoleRequired]))}+instance JSON.ToJSON SlackChannelConfiguration where+  toJSON SlackChannelConfiguration {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ConfigurationName" JSON..= configurationName,+               "IamRoleArn" JSON..= iamRoleArn,+               "SlackChannelId" JSON..= slackChannelId,+               "SlackWorkspaceId" JSON..= slackWorkspaceId]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizationResourceArns"+                    Prelude.<$> customizationResourceArns,+                  (JSON..=) "GuardrailPolicies" Prelude.<$> guardrailPolicies,+                  (JSON..=) "LoggingLevel" Prelude.<$> loggingLevel,+                  (JSON..=) "SnsTopicArns" Prelude.<$> snsTopicArns,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "UserRoleRequired" Prelude.<$> userRoleRequired])))+instance Property "ConfigurationName" SlackChannelConfiguration where+  type PropertyType "ConfigurationName" SlackChannelConfiguration = Value Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration {configurationName = newValue, ..}+instance Property "CustomizationResourceArns" SlackChannelConfiguration where+  type PropertyType "CustomizationResourceArns" SlackChannelConfiguration = ValueList Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration+        {customizationResourceArns = Prelude.pure newValue, ..}+instance Property "GuardrailPolicies" SlackChannelConfiguration where+  type PropertyType "GuardrailPolicies" SlackChannelConfiguration = ValueList Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration+        {guardrailPolicies = Prelude.pure newValue, ..}+instance Property "IamRoleArn" SlackChannelConfiguration where+  type PropertyType "IamRoleArn" SlackChannelConfiguration = Value Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration {iamRoleArn = newValue, ..}+instance Property "LoggingLevel" SlackChannelConfiguration where+  type PropertyType "LoggingLevel" SlackChannelConfiguration = Value Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration+        {loggingLevel = Prelude.pure newValue, ..}+instance Property "SlackChannelId" SlackChannelConfiguration where+  type PropertyType "SlackChannelId" SlackChannelConfiguration = Value Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration {slackChannelId = newValue, ..}+instance Property "SlackWorkspaceId" SlackChannelConfiguration where+  type PropertyType "SlackWorkspaceId" SlackChannelConfiguration = Value Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration {slackWorkspaceId = newValue, ..}+instance Property "SnsTopicArns" SlackChannelConfiguration where+  type PropertyType "SnsTopicArns" SlackChannelConfiguration = ValueList Prelude.Text+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration+        {snsTopicArns = Prelude.pure newValue, ..}+instance Property "Tags" SlackChannelConfiguration where+  type PropertyType "Tags" SlackChannelConfiguration = [Tag]+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration {tags = Prelude.pure newValue, ..}+instance Property "UserRoleRequired" SlackChannelConfiguration where+  type PropertyType "UserRoleRequired" SlackChannelConfiguration = Value Prelude.Bool+  set newValue SlackChannelConfiguration {..}+    = SlackChannelConfiguration+        {userRoleRequired = Prelude.pure newValue, ..}
+ stratosphere-chatbot.cabal view
@@ -0,0 +1,78 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-chatbot+version:        1.0.0+synopsis:       Stratosphere integration for AWS Chatbot.+description:    Integration into stratosphere to generate resources and properties for AWS Chatbot+category:       AWS, Cloud, Chatbot+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.Chatbot.CustomAction+      Stratosphere.Chatbot.CustomAction.CustomActionAttachmentCriteriaProperty+      Stratosphere.Chatbot.CustomAction.CustomActionAttachmentProperty+      Stratosphere.Chatbot.CustomAction.CustomActionDefinitionProperty+      Stratosphere.Chatbot.MicrosoftTeamsChannelConfiguration+      Stratosphere.Chatbot.SlackChannelConfiguration+  other-modules:+      Paths_stratosphere_chatbot+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn