aws-native logo
AWS Native v0.55.0, Mar 28 23

aws-native.supportapp.SlackChannelConfiguration

An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations.

Example Usage

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var awsSupportSlackAppCFNRole = new AwsNative.IAM.Role("awsSupportSlackAppCFNRole", new()
    {
        AssumeRolePolicyDocument = 
        {
            { "version", "2012-10-17" },
            { "statement", new[]
            {
                
                {
                    { "effect", "Allow" },
                    { "principal", 
                    {
                        { "service", new[]
                        {
                            "supportapp.amazonaws.com",
                        } },
                    } },
                    { "action", new[]
                    {
                        "sts:AssumeRole",
                    } },
                },
            } },
        },
        ManagedPolicyArns = new[]
        {
            "arn:aws:iam::aws:policy/AWSSupportAppFullAccess",
        },
    });

    var slackChannelConfiguration = new AwsNative.SupportApp.SlackChannelConfiguration("slackChannelConfiguration", new()
    {
        TeamId = "T012ABCDEFG",
        ChannelId = "C01234A5BCD",
        ChannelName = "cloudformationtemplatechannel",
        NotifyOnCreateOrReopenCase = true,
        NotifyOnAddCorrespondenceToCase = false,
        NotifyOnResolveCase = true,
        NotifyOnCaseSeverity = AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
        ChannelRoleArn = awsSupportSlackAppCFNRole.Arn,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/iam"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/supportapp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsSupportSlackAppCFNRole, err := iam.NewRole(ctx, "awsSupportSlackAppCFNRole", &iam.RoleArgs{
			AssumeRolePolicyDocument: pulumi.Any{
				Version: "2012-10-17",
				Statement: []map[string]interface{}{
					map[string]interface{}{
						"effect": "Allow",
						"principal": map[string]interface{}{
							"service": []string{
								"supportapp.amazonaws.com",
							},
						},
						"action": []string{
							"sts:AssumeRole",
						},
					},
				},
			},
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws:policy/AWSSupportAppFullAccess"),
			},
		})
		if err != nil {
			return err
		}
		_, err = supportapp.NewSlackChannelConfiguration(ctx, "slackChannelConfiguration", &supportapp.SlackChannelConfigurationArgs{
			TeamId:                          pulumi.String("T012ABCDEFG"),
			ChannelId:                       pulumi.String("C01234A5BCD"),
			ChannelName:                     pulumi.String("cloudformationtemplatechannel"),
			NotifyOnCreateOrReopenCase:      pulumi.Bool(true),
			NotifyOnAddCorrespondenceToCase: pulumi.Bool(false),
			NotifyOnResolveCase:             pulumi.Bool(true),
			NotifyOnCaseSeverity:            supportapp.SlackChannelConfigurationNotifyOnCaseSeverityHigh,
			ChannelRoleArn:                  awsSupportSlackAppCFNRole.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

aws_support_slack_app_cfn_role = aws_native.iam.Role("awsSupportSlackAppCFNRole",
    assume_role_policy_document={
        "version": "2012-10-17",
        "statement": [{
            "effect": "Allow",
            "principal": {
                "service": ["supportapp.amazonaws.com"],
            },
            "action": ["sts:AssumeRole"],
        }],
    },
    managed_policy_arns=["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"])
slack_channel_configuration = aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration",
    team_id="T012ABCDEFG",
    channel_id="C01234A5BCD",
    channel_name="cloudformationtemplatechannel",
    notify_on_create_or_reopen_case=True,
    notify_on_add_correspondence_to_case=False,
    notify_on_resolve_case=True,
    notify_on_case_severity=aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.HIGH,
    channel_role_arn=aws_support_slack_app_cfn_role.arn)
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const awsSupportSlackAppCFNRole = new aws_native.iam.Role("awsSupportSlackAppCFNRole", {
    assumeRolePolicyDocument: {
        version: "2012-10-17",
        statement: [{
            effect: "Allow",
            principal: {
                service: ["supportapp.amazonaws.com"],
            },
            action: ["sts:AssumeRole"],
        }],
    },
    managedPolicyArns: ["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"],
});
const slackChannelConfiguration = new aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration", {
    teamId: "T012ABCDEFG",
    channelId: "C01234A5BCD",
    channelName: "cloudformationtemplatechannel",
    notifyOnCreateOrReopenCase: true,
    notifyOnAddCorrespondenceToCase: false,
    notifyOnResolveCase: true,
    notifyOnCaseSeverity: aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
    channelRoleArn: awsSupportSlackAppCFNRole.arn,
});

Coming soon!

Example

using System.Collections.Generic;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var awsSupportSlackAppCFNRole = new AwsNative.IAM.Role("awsSupportSlackAppCFNRole", new()
    {
        AssumeRolePolicyDocument = 
        {
            { "version", "2012-10-17" },
            { "statement", new[]
            {
                
                {
                    { "effect", "Allow" },
                    { "principal", 
                    {
                        { "service", new[]
                        {
                            "supportapp.amazonaws.com",
                        } },
                    } },
                    { "action", new[]
                    {
                        "sts:AssumeRole",
                    } },
                },
            } },
        },
        ManagedPolicyArns = new[]
        {
            "arn:aws:iam::aws:policy/AWSSupportAppFullAccess",
        },
    });

    var slackChannelConfiguration = new AwsNative.SupportApp.SlackChannelConfiguration("slackChannelConfiguration", new()
    {
        TeamId = "T012ABCDEFG",
        ChannelId = "C01234A5BCD",
        ChannelName = "cfntemplatechannel",
        NotifyOnCreateOrReopenCase = true,
        NotifyOnAddCorrespondenceToCase = false,
        NotifyOnResolveCase = true,
        NotifyOnCaseSeverity = AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
        ChannelRoleArn = awsSupportSlackAppCFNRole.Arn,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/iam"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/supportapp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsSupportSlackAppCFNRole, err := iam.NewRole(ctx, "awsSupportSlackAppCFNRole", &iam.RoleArgs{
			AssumeRolePolicyDocument: pulumi.Any{
				Version: "2012-10-17",
				Statement: []map[string]interface{}{
					map[string]interface{}{
						"effect": "Allow",
						"principal": map[string]interface{}{
							"service": []string{
								"supportapp.amazonaws.com",
							},
						},
						"action": []string{
							"sts:AssumeRole",
						},
					},
				},
			},
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws:policy/AWSSupportAppFullAccess"),
			},
		})
		if err != nil {
			return err
		}
		_, err = supportapp.NewSlackChannelConfiguration(ctx, "slackChannelConfiguration", &supportapp.SlackChannelConfigurationArgs{
			TeamId:                          pulumi.String("T012ABCDEFG"),
			ChannelId:                       pulumi.String("C01234A5BCD"),
			ChannelName:                     pulumi.String("cfntemplatechannel"),
			NotifyOnCreateOrReopenCase:      pulumi.Bool(true),
			NotifyOnAddCorrespondenceToCase: pulumi.Bool(false),
			NotifyOnResolveCase:             pulumi.Bool(true),
			NotifyOnCaseSeverity:            supportapp.SlackChannelConfigurationNotifyOnCaseSeverityHigh,
			ChannelRoleArn:                  awsSupportSlackAppCFNRole.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

Coming soon!

import pulumi
import pulumi_aws_native as aws_native

aws_support_slack_app_cfn_role = aws_native.iam.Role("awsSupportSlackAppCFNRole",
    assume_role_policy_document={
        "version": "2012-10-17",
        "statement": [{
            "effect": "Allow",
            "principal": {
                "service": ["supportapp.amazonaws.com"],
            },
            "action": ["sts:AssumeRole"],
        }],
    },
    managed_policy_arns=["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"])
slack_channel_configuration = aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration",
    team_id="T012ABCDEFG",
    channel_id="C01234A5BCD",
    channel_name="cfntemplatechannel",
    notify_on_create_or_reopen_case=True,
    notify_on_add_correspondence_to_case=False,
    notify_on_resolve_case=True,
    notify_on_case_severity=aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.HIGH,
    channel_role_arn=aws_support_slack_app_cfn_role.arn)
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const awsSupportSlackAppCFNRole = new aws_native.iam.Role("awsSupportSlackAppCFNRole", {
    assumeRolePolicyDocument: {
        version: "2012-10-17",
        statement: [{
            effect: "Allow",
            principal: {
                service: ["supportapp.amazonaws.com"],
            },
            action: ["sts:AssumeRole"],
        }],
    },
    managedPolicyArns: ["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"],
});
const slackChannelConfiguration = new aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration", {
    teamId: "T012ABCDEFG",
    channelId: "C01234A5BCD",
    channelName: "cfntemplatechannel",
    notifyOnCreateOrReopenCase: true,
    notifyOnAddCorrespondenceToCase: false,
    notifyOnResolveCase: true,
    notifyOnCaseSeverity: aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
    channelRoleArn: awsSupportSlackAppCFNRole.arn,
});

Coming soon!

Create SlackChannelConfiguration Resource

new SlackChannelConfiguration(name: string, args: SlackChannelConfigurationArgs, opts?: CustomResourceOptions);
@overload
def SlackChannelConfiguration(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              channel_id: Optional[str] = None,
                              channel_name: Optional[str] = None,
                              channel_role_arn: Optional[str] = None,
                              notify_on_add_correspondence_to_case: Optional[bool] = None,
                              notify_on_case_severity: Optional[SlackChannelConfigurationNotifyOnCaseSeverity] = None,
                              notify_on_create_or_reopen_case: Optional[bool] = None,
                              notify_on_resolve_case: Optional[bool] = None,
                              team_id: Optional[str] = None)
@overload
def SlackChannelConfiguration(resource_name: str,
                              args: SlackChannelConfigurationArgs,
                              opts: Optional[ResourceOptions] = None)
func NewSlackChannelConfiguration(ctx *Context, name string, args SlackChannelConfigurationArgs, opts ...ResourceOption) (*SlackChannelConfiguration, error)
public SlackChannelConfiguration(string name, SlackChannelConfigurationArgs args, CustomResourceOptions? opts = null)
public SlackChannelConfiguration(String name, SlackChannelConfigurationArgs args)
public SlackChannelConfiguration(String name, SlackChannelConfigurationArgs args, CustomResourceOptions options)
type: aws-native:supportapp:SlackChannelConfiguration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args SlackChannelConfigurationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args SlackChannelConfigurationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args SlackChannelConfigurationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args SlackChannelConfigurationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args SlackChannelConfigurationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

SlackChannelConfiguration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The SlackChannelConfiguration resource accepts the following input properties:

ChannelId string

The channel ID in Slack, which identifies a channel within a workspace.

ChannelRoleArn string

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

NotifyOnCaseSeverity Pulumi.AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity

The severity level of a support case that a customer wants to get notified for.

TeamId string

The team ID in Slack, which uniquely identifies a workspace.

ChannelName string

The channel name in Slack.

NotifyOnAddCorrespondenceToCase bool

Whether to notify when a correspondence is added to a case.

NotifyOnCreateOrReopenCase bool

Whether to notify when a case is created or reopened.

NotifyOnResolveCase bool

Whether to notify when a case is resolved.

ChannelId string

The channel ID in Slack, which identifies a channel within a workspace.

ChannelRoleArn string

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

NotifyOnCaseSeverity SlackChannelConfigurationNotifyOnCaseSeverity

The severity level of a support case that a customer wants to get notified for.

TeamId string

The team ID in Slack, which uniquely identifies a workspace.

ChannelName string

The channel name in Slack.

NotifyOnAddCorrespondenceToCase bool

Whether to notify when a correspondence is added to a case.

NotifyOnCreateOrReopenCase bool

Whether to notify when a case is created or reopened.

NotifyOnResolveCase bool

Whether to notify when a case is resolved.

channelId String

The channel ID in Slack, which identifies a channel within a workspace.

channelRoleArn String

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

notifyOnCaseSeverity SlackChannelConfigurationNotifyOnCaseSeverity

The severity level of a support case that a customer wants to get notified for.

teamId String

The team ID in Slack, which uniquely identifies a workspace.

channelName String

The channel name in Slack.

notifyOnAddCorrespondenceToCase Boolean

Whether to notify when a correspondence is added to a case.

notifyOnCreateOrReopenCase Boolean

Whether to notify when a case is created or reopened.

notifyOnResolveCase Boolean

Whether to notify when a case is resolved.

channelId string

The channel ID in Slack, which identifies a channel within a workspace.

channelRoleArn string

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

notifyOnCaseSeverity SlackChannelConfigurationNotifyOnCaseSeverity

The severity level of a support case that a customer wants to get notified for.

teamId string

The team ID in Slack, which uniquely identifies a workspace.

channelName string

The channel name in Slack.

notifyOnAddCorrespondenceToCase boolean

Whether to notify when a correspondence is added to a case.

notifyOnCreateOrReopenCase boolean

Whether to notify when a case is created or reopened.

notifyOnResolveCase boolean

Whether to notify when a case is resolved.

channel_id str

The channel ID in Slack, which identifies a channel within a workspace.

channel_role_arn str

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

notify_on_case_severity SlackChannelConfigurationNotifyOnCaseSeverity

The severity level of a support case that a customer wants to get notified for.

team_id str

The team ID in Slack, which uniquely identifies a workspace.

channel_name str

The channel name in Slack.

notify_on_add_correspondence_to_case bool

Whether to notify when a correspondence is added to a case.

notify_on_create_or_reopen_case bool

Whether to notify when a case is created or reopened.

notify_on_resolve_case bool

Whether to notify when a case is resolved.

channelId String

The channel ID in Slack, which identifies a channel within a workspace.

channelRoleArn String

The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.

notifyOnCaseSeverity "none" | "all" | "high"

The severity level of a support case that a customer wants to get notified for.

teamId String

The team ID in Slack, which uniquely identifies a workspace.

channelName String

The channel name in Slack.

notifyOnAddCorrespondenceToCase Boolean

Whether to notify when a correspondence is added to a case.

notifyOnCreateOrReopenCase Boolean

Whether to notify when a case is created or reopened.

notifyOnResolveCase Boolean

Whether to notify when a case is resolved.

Outputs

All input properties are implicitly available as output properties. Additionally, the SlackChannelConfiguration resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Supporting Types

SlackChannelConfigurationNotifyOnCaseSeverity

None
none
All
all
High
high
SlackChannelConfigurationNotifyOnCaseSeverityNone
none
SlackChannelConfigurationNotifyOnCaseSeverityAll
all
SlackChannelConfigurationNotifyOnCaseSeverityHigh
high
None
none
All
all
High
high
None
none
All
all
High
high
NONE
none
ALL
all
HIGH
high
"none"
none
"all"
all
"high"
high

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0