awschatbot

package
v2.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnSlackChannelConfiguration_CFN_RESOURCE_TYPE_NAME

func CfnSlackChannelConfiguration_CFN_RESOURCE_TYPE_NAME() *string

func CfnSlackChannelConfiguration_IsCfnElement

func CfnSlackChannelConfiguration_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnSlackChannelConfiguration_IsCfnResource

func CfnSlackChannelConfiguration_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnSlackChannelConfiguration_IsConstruct

func CfnSlackChannelConfiguration_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func NewCfnSlackChannelConfiguration_Override

func NewCfnSlackChannelConfiguration_Override(c CfnSlackChannelConfiguration, scope constructs.Construct, id *string, props *CfnSlackChannelConfigurationProps)

Create a new `AWS::Chatbot::SlackChannelConfiguration`.

func NewSlackChannelConfiguration_Override

func NewSlackChannelConfiguration_Override(s SlackChannelConfiguration, scope constructs.Construct, id *string, props *SlackChannelConfigurationProps)

func SlackChannelConfiguration_IsConstruct

func SlackChannelConfiguration_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func SlackChannelConfiguration_IsResource

func SlackChannelConfiguration_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func SlackChannelConfiguration_MetricAll

func SlackChannelConfiguration_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Return the given named metric for All SlackChannelConfigurations.

Types

type CfnSlackChannelConfiguration

type CfnSlackChannelConfiguration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ConfigurationName() *string
	SetConfigurationName(val *string)
	CreationStack() *[]*string
	GuardrailPolicies() *[]*string
	SetGuardrailPolicies(val *[]*string)
	IamRoleArn() *string
	SetIamRoleArn(val *string)
	LoggingLevel() *string
	SetLoggingLevel(val *string)
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	SlackChannelId() *string
	SetSlackChannelId(val *string)
	SlackWorkspaceId() *string
	SetSlackWorkspaceId(val *string)
	SnsTopicArns() *[]*string
	SetSnsTopicArns(val *[]*string)
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	UserRoleRequired() interface{}
	SetUserRoleRequired(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Chatbot::SlackChannelConfiguration`.

The `AWS::Chatbot::SlackChannelConfiguration` resource configures a Slack channel to allow users to use AWS Chatbot with AWS CloudFormation templates.

This resource requires some setup to be done in the AWS Chatbot console. To provide the required Slack workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console, then copy and paste the workspace ID from the console. For more details, see steps 1-4 in [Setting Up AWS Chatbot with Slack](https://docs.aws.amazon.com/chatbot/latest/adminguide/setting-up.html#Setup_intro) in the *AWS Chatbot User Guide* .

TODO: EXAMPLE

func NewCfnSlackChannelConfiguration

func NewCfnSlackChannelConfiguration(scope constructs.Construct, id *string, props *CfnSlackChannelConfigurationProps) CfnSlackChannelConfiguration

Create a new `AWS::Chatbot::SlackChannelConfiguration`.

type CfnSlackChannelConfigurationProps

type CfnSlackChannelConfigurationProps struct {
	// The name of the configuration.
	ConfigurationName *string `json:"configurationName" yaml:"configurationName"`
	// The ARN of the IAM role that defines the permissions for AWS Chatbot .
	//
	// This is a user-definworked role that AWS Chatbot will assume. This is not the service-linked role. For more information, see [IAM Policies for AWS Chatbot](https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-iam-policies.html) .
	IamRoleArn *string `json:"iamRoleArn" yaml:"iamRoleArn"`
	// The ID of the Slack channel.
	//
	// To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, `ABCBBLZZZ` .
	SlackChannelId *string `json:"slackChannelId" yaml:"slackChannelId"`
	// The ID of the Slack workspace authorized with AWS Chatbot .
	//
	// To get the workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console. Then you can copy and paste the workspace ID from the console. For more details, see steps 1-4 in [Setting Up AWS Chatbot with Slack](https://docs.aws.amazon.com/chatbot/latest/adminguide/setting-up.html#Setup_intro) in the *AWS Chatbot User Guide* .
	SlackWorkspaceId *string `json:"slackWorkspaceId" yaml:"slackWorkspaceId"`
	// 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. Currently, only 1 IAM policy is supported.
	GuardrailPolicies *[]*string `json:"guardrailPolicies" yaml:"guardrailPolicies"`
	// 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` .
	LoggingLevel *string `json:"loggingLevel" yaml:"loggingLevel"`
	// The ARNs of the SNS topics that deliver notifications to AWS Chatbot .
	SnsTopicArns *[]*string `json:"snsTopicArns" yaml:"snsTopicArns"`
	// Enables use of a user role requirement in your chat configuration.
	UserRoleRequired interface{} `json:"userRoleRequired" yaml:"userRoleRequired"`
}

Properties for defining a `CfnSlackChannelConfiguration`.

TODO: EXAMPLE

type ISlackChannelConfiguration

type ISlackChannelConfiguration interface {
	awsiam.IGrantable
	awscodestarnotifications.INotificationRuleTarget
	awscdk.IResource
	// Adds a statement to the IAM role.
	AddToRolePolicy(statement awsiam.PolicyStatement)
	// Return the given named metric for this SlackChannelConfiguration.
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// The permission role of Slack channel configuration.
	Role() awsiam.IRole
	// The ARN of the Slack channel configuration In the form of arn:aws:chatbot:{region}:{account}:chat-configuration/slack-channel/{slackChannelName}.
	SlackChannelConfigurationArn() *string
	// The name of Slack channel configuration.
	SlackChannelConfigurationName() *string
}

Represents a Slack channel configuration.

func SlackChannelConfiguration_FromSlackChannelConfigurationArn

func SlackChannelConfiguration_FromSlackChannelConfigurationArn(scope constructs.Construct, id *string, slackChannelConfigurationArn *string) ISlackChannelConfiguration

Import an existing Slack channel configuration provided an ARN.

Returns: a reference to the existing Slack channel configuration

type LoggingLevel

type LoggingLevel string

Logging levels include ERROR, INFO, or NONE.

const (
	LoggingLevel_ERROR LoggingLevel = "ERROR"
	LoggingLevel_INFO  LoggingLevel = "INFO"
	LoggingLevel_NONE  LoggingLevel = "NONE"
)

type SlackChannelConfiguration

type SlackChannelConfiguration interface {
	awscdk.Resource
	ISlackChannelConfiguration
	Env() *awscdk.ResourceEnvironment
	GrantPrincipal() awsiam.IPrincipal
	Node() constructs.Node
	PhysicalName() *string
	Role() awsiam.IRole
	SlackChannelConfigurationArn() *string
	SlackChannelConfigurationName() *string
	Stack() awscdk.Stack
	AddNotificationTopic(notificationTopic awssns.ITopic)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	BindAsNotificationRuleTarget(_scope constructs.Construct) *awscodestarnotifications.NotificationRuleTargetConfig
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A new Slack channel configuration.

TODO: EXAMPLE

func NewSlackChannelConfiguration

func NewSlackChannelConfiguration(scope constructs.Construct, id *string, props *SlackChannelConfigurationProps) SlackChannelConfiguration

type SlackChannelConfigurationProps

type SlackChannelConfigurationProps struct {
	// The name of Slack channel configuration.
	SlackChannelConfigurationName *string `json:"slackChannelConfigurationName" yaml:"slackChannelConfigurationName"`
	// The ID of the Slack channel.
	//
	// To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link.
	// The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.
	SlackChannelId *string `json:"slackChannelId" yaml:"slackChannelId"`
	// The ID of the Slack workspace authorized with AWS Chatbot.
	//
	// To get the workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console.
	// Then you can copy and paste the workspace ID from the console.
	// For more details, see steps 1-4 in Setting Up AWS Chatbot with Slack in the AWS Chatbot User Guide.
	// See: https://docs.aws.amazon.com/chatbot/latest/adminguide/setting-up.html#Setup_intro
	//
	SlackWorkspaceId *string `json:"slackWorkspaceId" yaml:"slackWorkspaceId"`
	// Specifies the logging level for this configuration.
	//
	// This property affects the log entries pushed to Amazon CloudWatch Logs.
	LoggingLevel LoggingLevel `json:"loggingLevel" yaml:"loggingLevel"`
	// The number of days log events are kept in CloudWatch Logs.
	//
	// When updating
	// this property, unsetting it doesn't remove the log retention policy. To
	// remove the retention policy, set the value to `INFINITE`.
	LogRetention awslogs.RetentionDays `json:"logRetention" yaml:"logRetention"`
	// When log retention is specified, a custom resource attempts to create the CloudWatch log group.
	//
	// These options control the retry policy when interacting with CloudWatch APIs.
	LogRetentionRetryOptions *awslogs.LogRetentionRetryOptions `json:"logRetentionRetryOptions" yaml:"logRetentionRetryOptions"`
	// The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
	LogRetentionRole awsiam.IRole `json:"logRetentionRole" yaml:"logRetentionRole"`
	// The SNS topics that deliver notifications to AWS Chatbot.
	NotificationTopics *[]awssns.ITopic `json:"notificationTopics" yaml:"notificationTopics"`
	// The permission role of Slack channel configuration.
	Role awsiam.IRole `json:"role" yaml:"role"`
}

Properties for a new Slack channel configuration.

TODO: EXAMPLE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL