packages feed

stratosphere-chatbot-1.0.0: gen/Stratosphere/Chatbot/MicrosoftTeamsChannelConfiguration.hs

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, ..}