/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SupportApp { namespace Model { /** *

The configuration for a Slack channel that you added for your Amazon Web * Services account.

See Also:

AWS * API Reference

*/ class SlackChannelConfiguration { public: AWS_SUPPORTAPP_API SlackChannelConfiguration(); AWS_SUPPORTAPP_API SlackChannelConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_SUPPORTAPP_API SlackChannelConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SUPPORTAPP_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline const Aws::String& GetChannelId() const{ return m_channelId; } /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; } /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; } /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); } /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); } /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline SlackChannelConfiguration& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline SlackChannelConfiguration& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;} /** *

The channel ID in Slack. This ID identifies a channel within a Slack * workspace.

*/ inline SlackChannelConfiguration& WithChannelId(const char* value) { SetChannelId(value); return *this;} /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline const Aws::String& GetChannelName() const{ return m_channelName; } /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline bool ChannelNameHasBeenSet() const { return m_channelNameHasBeenSet; } /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline void SetChannelName(const Aws::String& value) { m_channelNameHasBeenSet = true; m_channelName = value; } /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline void SetChannelName(Aws::String&& value) { m_channelNameHasBeenSet = true; m_channelName = std::move(value); } /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline void SetChannelName(const char* value) { m_channelNameHasBeenSet = true; m_channelName.assign(value); } /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline SlackChannelConfiguration& WithChannelName(const Aws::String& value) { SetChannelName(value); return *this;} /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline SlackChannelConfiguration& WithChannelName(Aws::String&& value) { SetChannelName(std::move(value)); return *this;} /** *

The name of the Slack channel that you configured with the Amazon Web * Services Support App for your Amazon Web Services account.

*/ inline SlackChannelConfiguration& WithChannelName(const char* value) { SetChannelName(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline const Aws::String& GetChannelRoleArn() const{ return m_channelRoleArn; } /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline bool ChannelRoleArnHasBeenSet() const { return m_channelRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline void SetChannelRoleArn(const Aws::String& value) { m_channelRoleArnHasBeenSet = true; m_channelRoleArn = value; } /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline void SetChannelRoleArn(Aws::String&& value) { m_channelRoleArnHasBeenSet = true; m_channelRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline void SetChannelRoleArn(const char* value) { m_channelRoleArnHasBeenSet = true; m_channelRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline SlackChannelConfiguration& WithChannelRoleArn(const Aws::String& value) { SetChannelRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline SlackChannelConfiguration& WithChannelRoleArn(Aws::String&& value) { SetChannelRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that you want to use to perform * operations on Amazon Web Services. For more information, see Managing * access to the Amazon Web Services Support App in the Amazon Web Services * Support User Guide.

*/ inline SlackChannelConfiguration& WithChannelRoleArn(const char* value) { SetChannelRoleArn(value); return *this;} /** *

Whether you want to get notified when a support case has a new * correspondence.

*/ inline bool GetNotifyOnAddCorrespondenceToCase() const{ return m_notifyOnAddCorrespondenceToCase; } /** *

Whether you want to get notified when a support case has a new * correspondence.

*/ inline bool NotifyOnAddCorrespondenceToCaseHasBeenSet() const { return m_notifyOnAddCorrespondenceToCaseHasBeenSet; } /** *

Whether you want to get notified when a support case has a new * correspondence.

*/ inline void SetNotifyOnAddCorrespondenceToCase(bool value) { m_notifyOnAddCorrespondenceToCaseHasBeenSet = true; m_notifyOnAddCorrespondenceToCase = value; } /** *

Whether you want to get notified when a support case has a new * correspondence.

*/ inline SlackChannelConfiguration& WithNotifyOnAddCorrespondenceToCase(bool value) { SetNotifyOnAddCorrespondenceToCase(value); return *this;} /** *

The case severity for a support case that you want to receive * notifications.

*/ inline const NotificationSeverityLevel& GetNotifyOnCaseSeverity() const{ return m_notifyOnCaseSeverity; } /** *

The case severity for a support case that you want to receive * notifications.

*/ inline bool NotifyOnCaseSeverityHasBeenSet() const { return m_notifyOnCaseSeverityHasBeenSet; } /** *

The case severity for a support case that you want to receive * notifications.

*/ inline void SetNotifyOnCaseSeverity(const NotificationSeverityLevel& value) { m_notifyOnCaseSeverityHasBeenSet = true; m_notifyOnCaseSeverity = value; } /** *

The case severity for a support case that you want to receive * notifications.

*/ inline void SetNotifyOnCaseSeverity(NotificationSeverityLevel&& value) { m_notifyOnCaseSeverityHasBeenSet = true; m_notifyOnCaseSeverity = std::move(value); } /** *

The case severity for a support case that you want to receive * notifications.

*/ inline SlackChannelConfiguration& WithNotifyOnCaseSeverity(const NotificationSeverityLevel& value) { SetNotifyOnCaseSeverity(value); return *this;} /** *

The case severity for a support case that you want to receive * notifications.

*/ inline SlackChannelConfiguration& WithNotifyOnCaseSeverity(NotificationSeverityLevel&& value) { SetNotifyOnCaseSeverity(std::move(value)); return *this;} /** *

Whether you want to get notified when a support case is created or * reopened.

*/ inline bool GetNotifyOnCreateOrReopenCase() const{ return m_notifyOnCreateOrReopenCase; } /** *

Whether you want to get notified when a support case is created or * reopened.

*/ inline bool NotifyOnCreateOrReopenCaseHasBeenSet() const { return m_notifyOnCreateOrReopenCaseHasBeenSet; } /** *

Whether you want to get notified when a support case is created or * reopened.

*/ inline void SetNotifyOnCreateOrReopenCase(bool value) { m_notifyOnCreateOrReopenCaseHasBeenSet = true; m_notifyOnCreateOrReopenCase = value; } /** *

Whether you want to get notified when a support case is created or * reopened.

*/ inline SlackChannelConfiguration& WithNotifyOnCreateOrReopenCase(bool value) { SetNotifyOnCreateOrReopenCase(value); return *this;} /** *

Whether you want to get notified when a support case is resolved.

*/ inline bool GetNotifyOnResolveCase() const{ return m_notifyOnResolveCase; } /** *

Whether you want to get notified when a support case is resolved.

*/ inline bool NotifyOnResolveCaseHasBeenSet() const { return m_notifyOnResolveCaseHasBeenSet; } /** *

Whether you want to get notified when a support case is resolved.

*/ inline void SetNotifyOnResolveCase(bool value) { m_notifyOnResolveCaseHasBeenSet = true; m_notifyOnResolveCase = value; } /** *

Whether you want to get notified when a support case is resolved.

*/ inline SlackChannelConfiguration& WithNotifyOnResolveCase(bool value) { SetNotifyOnResolveCase(value); return *this;} /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline const Aws::String& GetTeamId() const{ return m_teamId; } /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline bool TeamIdHasBeenSet() const { return m_teamIdHasBeenSet; } /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline void SetTeamId(const Aws::String& value) { m_teamIdHasBeenSet = true; m_teamId = value; } /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline void SetTeamId(Aws::String&& value) { m_teamIdHasBeenSet = true; m_teamId = std::move(value); } /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline void SetTeamId(const char* value) { m_teamIdHasBeenSet = true; m_teamId.assign(value); } /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline SlackChannelConfiguration& WithTeamId(const Aws::String& value) { SetTeamId(value); return *this;} /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline SlackChannelConfiguration& WithTeamId(Aws::String&& value) { SetTeamId(std::move(value)); return *this;} /** *

The team ID in Slack. This ID uniquely identifies a Slack workspace, such as * T012ABCDEFG.

*/ inline SlackChannelConfiguration& WithTeamId(const char* value) { SetTeamId(value); return *this;} private: Aws::String m_channelId; bool m_channelIdHasBeenSet = false; Aws::String m_channelName; bool m_channelNameHasBeenSet = false; Aws::String m_channelRoleArn; bool m_channelRoleArnHasBeenSet = false; bool m_notifyOnAddCorrespondenceToCase; bool m_notifyOnAddCorrespondenceToCaseHasBeenSet = false; NotificationSeverityLevel m_notifyOnCaseSeverity; bool m_notifyOnCaseSeverityHasBeenSet = false; bool m_notifyOnCreateOrReopenCase; bool m_notifyOnCreateOrReopenCaseHasBeenSet = false; bool m_notifyOnResolveCase; bool m_notifyOnResolveCaseHasBeenSet = false; Aws::String m_teamId; bool m_teamIdHasBeenSet = false; }; } // namespace Model } // namespace SupportApp } // namespace Aws