1. Packages
  2. AWS Native
  3. API Docs
  4. supportapp
  5. SlackChannelConfiguration

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.100.0 published on Wednesday, Mar 27, 2024 by Pulumi

aws-native.supportapp.SlackChannelConfiguration

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.100.0 published on Wednesday, Mar 27, 2024 by Pulumi

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

    Example Usage

    Example

    using System.Collections.Generic;
    using System.Linq;
    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 System.Linq;
    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, SlackChannelConfigurationNotifyOnCaseSeverityArgs

    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
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.100.0 published on Wednesday, Mar 27, 2024 by Pulumi