/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace SupportApp { namespace Model { /** */ class UpdateSlackChannelConfigurationRequest : public SupportAppRequest { public: AWS_SUPPORTAPP_API UpdateSlackChannelConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateSlackChannelConfiguration"; } AWS_SUPPORTAPP_API Aws::String SerializePayload() const override; /** *

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 UpdateSlackChannelConfigurationRequest& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;} /** *

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

*/ inline UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& WithChannelId(const char* value) { SetChannelId(value); return *this;} /** *

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

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

The Slack channel name that you want to update.

*/ inline UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& WithNotifyOnAddCorrespondenceToCase(bool value) { SetNotifyOnAddCorrespondenceToCase(value); return *this;} /** *

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

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

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

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

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

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

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

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

*/ 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.

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

*/ 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.

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

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

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

If you specify high or all, at * least one of the following parameters must be true:

  • *

    notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you specify * none, any of the following parameters that you specify in your * request must be false:

  • * notifyOnAddCorrespondenceToCase

  • * notifyOnCreateOrReopenCase

  • * notifyOnResolveCase

If you don't specify * these parameters in your request, the Amazon Web Services Support App uses the * current values by default.

*/ inline UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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 UpdateSlackChannelConfigurationRequest& 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