Class: AWSCDK::Chatbot::CfnMicrosoftTeamsChannelConfigurationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
chatbot/cfn_microsoft_teams_channel_configuration_props.rb

Overview

Properties for defining a CfnMicrosoftTeamsChannelConfiguration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration_name:, iam_role_arn:, team_id:, teams_channel_id:, teams_tenant_id:, customization_resource_arns: nil, guardrail_policies: nil, logging_level: nil, sns_topic_arns: nil, tags: nil, teams_channel_name: nil, user_role_required: nil) ⇒ CfnMicrosoftTeamsChannelConfigurationProps

Returns a new instance of CfnMicrosoftTeamsChannelConfigurationProps.

Parameters:

  • configuration_name (String)

    The name of the configuration.

  • iam_role_arn (String)

    The ARN of the IAM role that defines the permissions for .

  • team_id (String)

    The ID of the Microsoft Team authorized with .

  • teams_channel_id (String)

    The ID of the Microsoft Teams channel.

  • teams_tenant_id (String)

    The ID of the Microsoft Teams tenant.

  • customization_resource_arns (Array<String>, nil) (defaults to: nil)

    Links a list of resource ARNs (for example, custom action ARNs) to a Microsoft Teams channel configuration for .

  • guardrail_policies (Array<String>, nil) (defaults to: nil)

    The list of IAM policy ARNs that are applied as channel guardrails.

  • logging_level (String, nil) (defaults to: nil)

    Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs.

  • sns_topic_arns (Array<String>, nil) (defaults to: nil)

    The ARNs of the SNS topics that deliver notifications to .

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The tags to add to the configuration.

  • teams_channel_name (String, nil) (defaults to: nil)

    The name of the Microsoft Teams channel.

  • user_role_required (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Enables use of a user role requirement in your chat configuration.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 21

def initialize(configuration_name:, iam_role_arn:, team_id:, teams_channel_id:, teams_tenant_id:, customization_resource_arns: nil, guardrail_policies: nil, logging_level: nil, sns_topic_arns: nil, tags: nil, teams_channel_name: nil, user_role_required: nil)
  @configuration_name = configuration_name
  Jsii::Type.check_type(@configuration_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "configurationName")
  @iam_role_arn = iam_role_arn
  Jsii::Type.check_type(@iam_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "iamRoleArn")
  @team_id = team_id
  Jsii::Type.check_type(@team_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "teamId")
  @teams_channel_id = teams_channel_id
  Jsii::Type.check_type(@teams_channel_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "teamsChannelId")
  @teams_tenant_id = teams_tenant_id
  Jsii::Type.check_type(@teams_tenant_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "teamsTenantId")
  @customization_resource_arns = customization_resource_arns
  Jsii::Type.check_type(@customization_resource_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "customizationResourceArns") unless @customization_resource_arns.nil?
  @guardrail_policies = guardrail_policies
  Jsii::Type.check_type(@guardrail_policies, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "guardrailPolicies") unless @guardrail_policies.nil?
  @logging_level = logging_level
  Jsii::Type.check_type(@logging_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "loggingLevel") unless @logging_level.nil?
  @sns_topic_arns = sns_topic_arns
  Jsii::Type.check_type(@sns_topic_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "snsTopicArns") unless @sns_topic_arns.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @teams_channel_name = teams_channel_name
  Jsii::Type.check_type(@teams_channel_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "teamsChannelName") unless @teams_channel_name.nil?
  @user_role_required = user_role_required
  Jsii::Type.check_type(@user_role_required, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "userRoleRequired") unless @user_role_required.nil?
end

Instance Attribute Details

#configuration_nameString (readonly)

The name of the configuration.



52
53
54
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 52

def configuration_name
  @configuration_name
end

#customization_resource_arnsArray<String>? (readonly)

Links a list of resource ARNs (for example, custom action ARNs) to a Microsoft Teams channel configuration for .



85
86
87
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 85

def customization_resource_arns
  @customization_resource_arns
end

#guardrail_policiesArray<String>? (readonly)

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.



92
93
94
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 92

def guardrail_policies
  @guardrail_policies
end

#iam_role_arnString (readonly)

The ARN of the IAM role that defines the permissions for .

This is a user-defined role that will assume. This is not the service-linked role. For more information, see IAM Policies for in chat applications .



59
60
61
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 59

def iam_role_arn
  @iam_role_arn
end

#logging_levelString? (readonly)

Note:

Default: - "NONE"

Specifies the logging level for this configuration. This property affects the log entries pushed to Amazon CloudWatch Logs.

Logging levels include ERROR , INFO , or NONE .



100
101
102
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 100

def logging_level
  @logging_level
end

#sns_topic_arnsArray<String>? (readonly)

The ARNs of the SNS topics that deliver notifications to .



105
106
107
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 105

def sns_topic_arns
  @sns_topic_arns
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The tags to add to the configuration.



110
111
112
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 110

def tags
  @tags
end

#team_idString (readonly)

The ID of the Microsoft Team authorized with .

To get the team ID, you must perform the initial authorization flow with Microsoft Teams in the in chat applications console. Then you can copy and paste the team ID from the console. For more details, see steps 1-3 in Tutorial: Get started with Microsoft Teams in the in chat applications Administrator Guide .



66
67
68
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 66

def team_id
  @team_id
end

#teams_channel_idString (readonly)

The ID of the Microsoft Teams channel.

To get the channel ID, open Microsoft Teams, right click on the channel name in the left pane, then choose Copy . An example of the channel ID syntax is: 19%3ab6ef35dc342d56ba5654e6fc6d25a071%40thread.tacv2 .



73
74
75
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 73

def teams_channel_id
  @teams_channel_id
end

#teams_channel_nameString? (readonly)

The name of the Microsoft Teams channel.



115
116
117
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 115

def teams_channel_name
  @teams_channel_name
end

#teams_tenant_idString (readonly)

The ID of the Microsoft Teams tenant.

To get the tenant ID, you must perform the initial authorization flow with Microsoft Teams in the in chat applications console. Then you can copy and paste the tenant ID from the console. For more details, see steps 1-3 in Tutorial: Get started with Microsoft Teams in the in chat applications Administrator Guide .



80
81
82
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 80

def teams_tenant_id
  @teams_tenant_id
end

#user_role_requiredBoolean, ... (readonly)

Note:

Default: - false

Enables use of a user role requirement in your chat configuration.



121
122
123
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 121

def user_role_required
  @user_role_required
end

Class Method Details

.jsii_propertiesObject



123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 123

def self.jsii_properties
  {
    :configuration_name => "configurationName",
    :iam_role_arn => "iamRoleArn",
    :team_id => "teamId",
    :teams_channel_id => "teamsChannelId",
    :teams_tenant_id => "teamsTenantId",
    :customization_resource_arns => "customizationResourceArns",
    :guardrail_policies => "guardrailPolicies",
    :logging_level => "loggingLevel",
    :sns_topic_arns => "snsTopicArns",
    :tags => "tags",
    :teams_channel_name => "teamsChannelName",
    :user_role_required => "userRoleRequired",
  }
end

Instance Method Details

#to_jsiiObject



140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'chatbot/cfn_microsoft_teams_channel_configuration_props.rb', line 140

def to_jsii
  result = {}
  result.merge!({
    "configurationName" => @configuration_name,
    "iamRoleArn" => @iam_role_arn,
    "teamId" => @team_id,
    "teamsChannelId" => @teams_channel_id,
    "teamsTenantId" => @teams_tenant_id,
    "customizationResourceArns" => @customization_resource_arns,
    "guardrailPolicies" => @guardrail_policies,
    "loggingLevel" => @logging_level,
    "snsTopicArns" => @sns_topic_arns,
    "tags" => @tags,
    "teamsChannelName" => @teams_channel_name,
    "userRoleRequired" => @user_role_required,
  })
  result.compact
end