UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

163 lines (162 loc) 6.34 kB
import * as pulumi from "@pulumi/pulumi"; import * as enums from "../types/enums"; /** * An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. * * ## Example Usage * ### Example * * ```typescript * 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, * }); * * ``` * ### Example * * ```typescript * 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, * }); * * ``` */ export declare class SlackChannelConfiguration extends pulumi.CustomResource { /** * Get an existing SlackChannelConfiguration resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): SlackChannelConfiguration; /** * Returns true if the given object is an instance of SlackChannelConfiguration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SlackChannelConfiguration; /** * The channel ID in Slack, which identifies a channel within a workspace. */ readonly channelId: pulumi.Output<string>; /** * The channel name in Slack. */ readonly channelName: pulumi.Output<string | undefined>; /** * The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services. */ readonly channelRoleArn: pulumi.Output<string>; /** * Whether to notify when a correspondence is added to a case. */ readonly notifyOnAddCorrespondenceToCase: pulumi.Output<boolean | undefined>; /** * The severity level of a support case that a customer wants to get notified for. */ readonly notifyOnCaseSeverity: pulumi.Output<enums.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity>; /** * Whether to notify when a case is created or reopened. */ readonly notifyOnCreateOrReopenCase: pulumi.Output<boolean | undefined>; /** * Whether to notify when a case is resolved. */ readonly notifyOnResolveCase: pulumi.Output<boolean | undefined>; /** * The team ID in Slack, which uniquely identifies a workspace. */ readonly teamId: pulumi.Output<string>; /** * Create a SlackChannelConfiguration resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SlackChannelConfigurationArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a SlackChannelConfiguration resource. */ export interface SlackChannelConfigurationArgs { /** * The channel ID in Slack, which identifies a channel within a workspace. */ channelId: pulumi.Input<string>; /** * The channel name in Slack. */ channelName?: pulumi.Input<string>; /** * The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services. */ channelRoleArn: pulumi.Input<string>; /** * Whether to notify when a correspondence is added to a case. */ notifyOnAddCorrespondenceToCase?: pulumi.Input<boolean>; /** * The severity level of a support case that a customer wants to get notified for. */ notifyOnCaseSeverity: pulumi.Input<enums.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity>; /** * Whether to notify when a case is created or reopened. */ notifyOnCreateOrReopenCase?: pulumi.Input<boolean>; /** * Whether to notify when a case is resolved. */ notifyOnResolveCase?: pulumi.Input<boolean>; /** * The team ID in Slack, which uniquely identifies a workspace. */ teamId: pulumi.Input<string>; }