All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.burkard.cdk.services.chatbot.SlackChannelConfiguration.scala Maven / Gradle / Ivy

The newest version!
package io.burkard.cdk.services.chatbot

import scala.collection.JavaConverters._

@scala.annotation.nowarn("cat=deprecation")
@SuppressWarnings(Array("org.wartremover.warts.DefaultArguments", "org.wartremover.warts.Null", "DisableSyntax.null"))
object SlackChannelConfiguration {

  def apply(
    internalResourceId: String,
    slackChannelId: String,
    slackWorkspaceId: String,
    slackChannelConfigurationName: String,
    logRetention: Option[software.amazon.awscdk.services.logs.RetentionDays] = None,
    notificationTopics: Option[List[_ <: software.amazon.awscdk.services.sns.ITopic]] = None,
    role: Option[software.amazon.awscdk.services.iam.IRole] = None,
    loggingLevel: Option[software.amazon.awscdk.services.chatbot.LoggingLevel] = None,
    logRetentionRetryOptions: Option[software.amazon.awscdk.services.logs.LogRetentionRetryOptions] = None,
    logRetentionRole: Option[software.amazon.awscdk.services.iam.IRole] = None
  )(implicit stackCtx: software.amazon.awscdk.Stack): software.amazon.awscdk.services.chatbot.SlackChannelConfiguration =
    software.amazon.awscdk.services.chatbot.SlackChannelConfiguration.Builder
      .create(stackCtx, internalResourceId)
      .slackChannelId(slackChannelId)
      .slackWorkspaceId(slackWorkspaceId)
      .slackChannelConfigurationName(slackChannelConfigurationName)
      .logRetention(logRetention.orNull)
      .notificationTopics(notificationTopics.map(_.asJava).orNull)
      .role(role.orNull)
      .loggingLevel(loggingLevel.orNull)
      .logRetentionRetryOptions(logRetentionRetryOptions.orNull)
      .logRetentionRole(logRetentionRole.orNull)
      .build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy