aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
413 lines (412 loc) • 17.9 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AccountAliasReference, IAccountAliasRef, ISlackChannelConfigurationRef, ISlackWorkspaceConfigurationRef, SlackChannelConfigurationReference, SlackWorkspaceConfigurationReference } from "../../interfaces/generated/aws-supportapp-interfaces.generated";
import { aws_iam as iamRefs } from "../../interfaces";
/**
* You can use the `AWS::SupportApp::AccountAlias` resource to specify your AWS account when you configure the AWS Support App in Slack.
*
* Your alias name appears on the AWS Support App page in the Support Center Console and in messages from the App. You can use this alias to identify the account you've configured with the AWS Support App .
*
* For more information, see [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html) in the *User Guide* .
*
* @cloudformationResource AWS::SupportApp::AccountAlias
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html
*/
export declare class CfnAccountAlias extends cdk.CfnResource implements cdk.IInspectable, IAccountAliasRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAccountAlias from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccountAlias;
/**
* Checks whether the given object is a CfnAccountAlias
*/
static isCfnAccountAlias(x: any): x is CfnAccountAlias;
/**
* An alias or short name for an AWS account .
*/
private _accountAlias;
/**
* Create a new `AWS::SupportApp::AccountAlias`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnAccountAliasProps);
get accountAliasRef(): AccountAliasReference;
/**
* An alias or short name for an AWS account .
*/
get accountAlias(): string;
/**
* An alias or short name for an AWS account .
*/
set accountAlias(value: string);
/**
* The `AccountAlias` resource type has an attribute `AccountAliasResourceId` . You can use this attribute to identify the resource.
*
* The `AccountAliasResourceId` will be `AccountAlias_for_accountId` . In this example, `AccountAlias_for_` is the prefix and `accountId` is your AWS account number, such as `AccountAlias_for_123456789012` .
*
* @cloudformationAttribute AccountAliasResourceId
*/
get attrAccountAliasResourceId(): string;
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnAccountAlias`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html
*/
export interface CfnAccountAliasProps {
/**
* An alias or short name for an AWS account .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html#cfn-supportapp-accountalias-accountalias
*/
readonly accountAlias: string;
}
/**
* You can use the `AWS::SupportApp::SlackChannelConfiguration` resource to specify your AWS account when you configure the AWS Support App .
*
* This resource includes the following information:
*
* - The Slack channel name and ID
* - The team ID in Slack
* - The Amazon Resource Name (ARN) of the AWS Identity and Access Management ( IAM ) role
* - Whether you want the AWS Support App to notify you when your support cases are created, updated, resolved, or reopened
* - The case severity that you want to get notified for
*
* For more information, see the following topics in the *User Guide* :
*
* - [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html)
* - [Creating AWS Support App in Slack resources with AWS CloudFormation](https://docs.aws.amazon.com/awssupport/latest/user/creating-resources-with-cloudformation.html)
*
* @cloudformationResource AWS::SupportApp::SlackChannelConfiguration
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html
*/
export declare class CfnSlackChannelConfiguration extends cdk.CfnResource implements cdk.IInspectable, ISlackChannelConfigurationRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSlackChannelConfiguration from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSlackChannelConfiguration;
/**
* Checks whether the given object is a CfnSlackChannelConfiguration
*/
static isCfnSlackChannelConfiguration(x: any): x is CfnSlackChannelConfiguration;
/**
* The channel ID in Slack.
*/
private _channelId;
/**
* The channel name in Slack.
*/
private _channelName?;
/**
* The Amazon Resource Name (ARN) of the IAM role for this Slack channel configuration.
*/
private _channelRoleArn;
/**
* Whether to get notified when a correspondence is added to your support cases.
*/
private _notifyOnAddCorrespondenceToCase?;
/**
* The case severity for your support cases that you want to receive notifications.
*/
private _notifyOnCaseSeverity;
/**
* Whether to get notified when your support cases are created or reopened.
*/
private _notifyOnCreateOrReopenCase?;
/**
* Whether to get notified when your support cases are resolved.
*/
private _notifyOnResolveCase?;
/**
* The team ID in Slack.
*/
private _teamId;
/**
* Create a new `AWS::SupportApp::SlackChannelConfiguration`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnSlackChannelConfigurationProps);
get slackChannelConfigurationRef(): SlackChannelConfigurationReference;
/**
* The channel ID in Slack.
*/
get channelId(): string;
/**
* The channel ID in Slack.
*/
set channelId(value: string);
/**
* The channel name in Slack.
*/
get channelName(): string | undefined;
/**
* The channel name in Slack.
*/
set channelName(value: string | undefined);
/**
* The Amazon Resource Name (ARN) of the IAM role for this Slack channel configuration.
*/
get channelRoleArn(): string;
/**
* The Amazon Resource Name (ARN) of the IAM role for this Slack channel configuration.
*/
set channelRoleArn(value: string);
/**
* Whether to get notified when a correspondence is added to your support cases.
*/
get notifyOnAddCorrespondenceToCase(): boolean | cdk.IResolvable | undefined;
/**
* Whether to get notified when a correspondence is added to your support cases.
*/
set notifyOnAddCorrespondenceToCase(value: boolean | cdk.IResolvable | undefined);
/**
* The case severity for your support cases that you want to receive notifications.
*/
get notifyOnCaseSeverity(): string;
/**
* The case severity for your support cases that you want to receive notifications.
*/
set notifyOnCaseSeverity(value: string);
/**
* Whether to get notified when your support cases are created or reopened.
*/
get notifyOnCreateOrReopenCase(): boolean | cdk.IResolvable | undefined;
/**
* Whether to get notified when your support cases are created or reopened.
*/
set notifyOnCreateOrReopenCase(value: boolean | cdk.IResolvable | undefined);
/**
* Whether to get notified when your support cases are resolved.
*/
get notifyOnResolveCase(): boolean | cdk.IResolvable | undefined;
/**
* Whether to get notified when your support cases are resolved.
*/
set notifyOnResolveCase(value: boolean | cdk.IResolvable | undefined);
/**
* The team ID in Slack.
*/
get teamId(): string;
/**
* The team ID in Slack.
*/
set teamId(value: string);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnSlackChannelConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html
*/
export interface CfnSlackChannelConfigurationProps {
/**
* The channel ID in Slack.
*
* This ID identifies a channel within a Slack workspace.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-channelid
*/
readonly channelId: string;
/**
* The channel name in Slack.
*
* This is the channel where you invite the AWS Support App .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-channelname
*/
readonly channelName?: string;
/**
* The Amazon Resource Name (ARN) of the IAM role for this Slack channel configuration.
*
* The App uses this role to perform and Service Quotas actions on your behalf.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-channelrolearn
*/
readonly channelRoleArn: iamRefs.IRoleRef | string;
/**
* Whether to get notified when a correspondence is added to your support cases.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-notifyonaddcorrespondencetocase
*/
readonly notifyOnAddCorrespondenceToCase?: boolean | cdk.IResolvable;
/**
* The case severity for your support cases that you want to receive notifications.
*
* You can specify `none` , `all` , or `high` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-notifyoncaseseverity
*/
readonly notifyOnCaseSeverity: string;
/**
* Whether to get notified when your support cases are created or reopened.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-notifyoncreateorreopencase
*/
readonly notifyOnCreateOrReopenCase?: boolean | cdk.IResolvable;
/**
* Whether to get notified when your support cases are resolved.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-notifyonresolvecase
*/
readonly notifyOnResolveCase?: boolean | cdk.IResolvable;
/**
* The team ID in Slack.
*
* This ID uniquely identifies a Slack workspace.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html#cfn-supportapp-slackchannelconfiguration-teamid
*/
readonly teamId: string;
}
/**
* You can use the `AWS::SupportApp::SlackWorkspaceConfiguration` resource to specify your Slack workspace configuration.
*
* This resource configures your AWS account so that you can use the specified Slack workspace in the AWS Support App . This resource includes the following information:
*
* - The team ID for the Slack workspace
* - The version ID of the resource to use with AWS CloudFormation
*
* For more information, see the following topics in the *User Guide* :
*
* - [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html)
* - [Creating AWS Support App in Slack resources with AWS CloudFormation](https://docs.aws.amazon.com/awssupport/latest/user/creating-resources-with-cloudformation.html)
*
* @cloudformationResource AWS::SupportApp::SlackWorkspaceConfiguration
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html
*/
export declare class CfnSlackWorkspaceConfiguration extends cdk.CfnResource implements cdk.IInspectable, ISlackWorkspaceConfigurationRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnSlackWorkspaceConfiguration from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSlackWorkspaceConfiguration;
/**
* Checks whether the given object is a CfnSlackWorkspaceConfiguration
*/
static isCfnSlackWorkspaceConfiguration(x: any): x is CfnSlackWorkspaceConfiguration;
/**
* The team ID in Slack.
*/
private _teamId;
/**
* An identifier used to update an existing Slack workspace configuration in AWS CloudFormation , such as `100` .
*/
private _versionId?;
/**
* Create a new `AWS::SupportApp::SlackWorkspaceConfiguration`.
*
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnSlackWorkspaceConfigurationProps);
get slackWorkspaceConfigurationRef(): SlackWorkspaceConfigurationReference;
/**
* The team ID in Slack.
*/
get teamId(): string;
/**
* The team ID in Slack.
*/
set teamId(value: string);
/**
* An identifier used to update an existing Slack workspace configuration in AWS CloudFormation , such as `100` .
*/
get versionId(): string | undefined;
/**
* An identifier used to update an existing Slack workspace configuration in AWS CloudFormation , such as `100` .
*/
set versionId(value: string | undefined);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnSlackWorkspaceConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html
*/
export interface CfnSlackWorkspaceConfigurationProps {
/**
* The team ID in Slack.
*
* This ID uniquely identifies a Slack workspace, such as `T012ABCDEFG` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html#cfn-supportapp-slackworkspaceconfiguration-teamid
*/
readonly teamId: string;
/**
* An identifier used to update an existing Slack workspace configuration in AWS CloudFormation , such as `100` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html#cfn-supportapp-slackworkspaceconfiguration-versionid
*/
readonly versionId?: string;
}
export type { IAccountAliasRef, AccountAliasReference };
export type { ISlackChannelConfigurationRef, SlackChannelConfigurationReference };
export type { ISlackWorkspaceConfigurationRef, SlackWorkspaceConfigurationReference };