/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace TranscribeService { namespace Model { /** */ class CreateCallAnalyticsCategoryRequest : public TranscribeServiceRequest { public: AWS_TRANSCRIBESERVICE_API CreateCallAnalyticsCategoryRequest(); // 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 "CreateCallAnalyticsCategory"; } AWS_TRANSCRIBESERVICE_API Aws::String SerializePayload() const override; AWS_TRANSCRIBESERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline const Aws::String& GetCategoryName() const{ return m_categoryName; } /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline bool CategoryNameHasBeenSet() const { return m_categoryNameHasBeenSet; } /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline void SetCategoryName(const Aws::String& value) { m_categoryNameHasBeenSet = true; m_categoryName = value; } /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline void SetCategoryName(Aws::String&& value) { m_categoryNameHasBeenSet = true; m_categoryName = std::move(value); } /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline void SetCategoryName(const char* value) { m_categoryNameHasBeenSet = true; m_categoryName.assign(value); } /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline CreateCallAnalyticsCategoryRequest& WithCategoryName(const Aws::String& value) { SetCategoryName(value); return *this;} /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline CreateCallAnalyticsCategoryRequest& WithCategoryName(Aws::String&& value) { SetCategoryName(std::move(value)); return *this;} /** *

A unique name, chosen by you, for your Call Analytics category. It's helpful * to use a detailed naming system that will make sense to you in the future. For * example, it's better to use sentiment-positive-last30seconds for a * category over a generic name like test-category.

Category * names are case sensitive.

*/ inline CreateCallAnalyticsCategoryRequest& WithCategoryName(const char* value) { SetCategoryName(value); return *this;} /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline const Aws::Vector& GetRules() const{ return m_rules; } /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; } /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline void SetRules(const Aws::Vector& value) { m_rulesHasBeenSet = true; m_rules = value; } /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline void SetRules(Aws::Vector&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); } /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline CreateCallAnalyticsCategoryRequest& WithRules(const Aws::Vector& value) { SetRules(value); return *this;} /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline CreateCallAnalyticsCategoryRequest& WithRules(Aws::Vector&& value) { SetRules(std::move(value)); return *this;} /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline CreateCallAnalyticsCategoryRequest& AddRules(const Rule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; } /** *

Rules define a Call Analytics category. When creating a new category, you * must create between 1 and 20 rules for that category. For each rule, you specify * a filter you want applied to the attributes of a call. For example, you can * choose a sentiment filter that detects if a customer's sentiment was positive * during the last 30 seconds of the call.

*/ inline CreateCallAnalyticsCategoryRequest& AddRules(Rule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; } /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline const InputType& GetInputType() const{ return m_inputType; } /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline bool InputTypeHasBeenSet() const { return m_inputTypeHasBeenSet; } /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline void SetInputType(const InputType& value) { m_inputTypeHasBeenSet = true; m_inputType = value; } /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline void SetInputType(InputType&& value) { m_inputTypeHasBeenSet = true; m_inputType = std::move(value); } /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline CreateCallAnalyticsCategoryRequest& WithInputType(const InputType& value) { SetInputType(value); return *this;} /** *

Choose whether you want to create a real-time or a post-call category for * your Call Analytics transcription.

Specifying POST_CALL * assigns your category to post-call transcriptions; categories with this input * type cannot be applied to streaming (real-time) transcriptions.

*

Specifying REAL_TIME assigns your category to streaming * transcriptions; categories with this input type cannot be applied to post-call * transcriptions.

If you do not include InputType, your * category is created as a post-call category by default.

*/ inline CreateCallAnalyticsCategoryRequest& WithInputType(InputType&& value) { SetInputType(std::move(value)); return *this;} private: Aws::String m_categoryName; bool m_categoryNameHasBeenSet = false; Aws::Vector m_rules; bool m_rulesHasBeenSet = false; InputType m_inputType; bool m_inputTypeHasBeenSet = false; }; } // namespace Model } // namespace TranscribeService } // namespace Aws