text: /*
   * Copyright (c) 2017-2019 THL A29 Limited, a Tencent company. All Rights Reserved.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *    http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  #ifndef TENCENTCLOUD_VOD_V20180717_MODEL_DESCRIBEWORDSAMPLESREQUEST_H_
  #define TENCENTCLOUD_VOD_V20180717_MODEL_DESCRIBEWORDSAMPLESREQUEST_H_
  
  #include <string>
  #include <vector>
  #include <map>
  #include <tencentcloud/core/AbstractModel.h>
  
  
  namespace TencentCloud
  {
      namespace Vod
      {
          namespace V20180717
          {
              namespace Model
              {
                  /**
                  * DescribeWordSamples request structure.
                  */
                  class DescribeWordSamplesRequest : public AbstractModel
                  {
                  public:
                      DescribeWordSamplesRequest();
                      ~DescribeWordSamplesRequest() = default;
                      std::string ToJsonString() const;
  
  
                      /**
                       * 获取<b>Keyword usage. Valid values:</b>
  1. Recognition.Ocr: OCR-based content recognition
  2. Recognition.Asr: ASR-based content recognition
  3. Review.Ocr: OCR-based inappropriate information recognition
  4. Review.Asr: ASR-based inappropriate information recognition
  <b>Valid values can also be:</b>
  5. Recognition: ASR- and OCR-based content recognition; equivalent to 1+2
  6. Review: ASR- and OCR-based inappropriate information recognition; equivalent to 3+4
  You can select multiple elements, which are connected by OR logic. If a use case contains any element in this parameter, the keyword sample will be used.
                       * @return Usages <b>Keyword usage. Valid values:</b>
  1. Recognition.Ocr: OCR-based content recognition
  2. Recognition.Asr: ASR-based content recognition
  3. Review.Ocr: OCR-based inappropriate information recognition
  4. Review.Asr: ASR-based inappropriate information recognition
  <b>Valid values can also be:</b>
  5. Recognition: ASR- and OCR-based content recognition; equivalent to 1+2
  6. Review: ASR- and OCR-based inappropriate information recognition; equivalent to 3+4
  You can select multiple elements, which are connected by OR logic. If a use case contains any element in this parameter, the keyword sample will be used.
                       */
                      std::vector<std::string> GetUsages() const;
  
                      /**
                       * 设置<b>Keyword usage. Valid values:</b>
  1. Recognition.Ocr: OCR-based content recognition
  2. Recognition.Asr: ASR-based content recognition
  3. Review.Ocr: OCR-based inappropriate information recognition
  4. Review.Asr: ASR-based inappropriate information recognition
  <b>Valid values can also be:</b>
  5. Recognition: ASR- and OCR-based content recognition; equivalent to 1+2
  6. Review: ASR- and OCR-based inappropriate information recognition; equivalent to 3+4
  You can select multiple elements, which are connected by OR logic. If a use case contains any element in this parameter, the keyword sample will be used.
                       * @param Usages <b>Keyword usage. Valid values:</b>
  1. Recognition.Ocr: OCR-based content recognition
  2. Recognition.Asr: ASR-based content recognition
  3. Review.Ocr: OCR-based inappropriate information recognition
  4. Review.Asr: ASR-based inappropriate information recognition
  <b>Valid values can also be:</b>
  5. Recognition: ASR- and OCR-based content recognition; equivalent to 1+2
  6. Review: ASR- and OCR-based inappropriate information recognition; equivalent to 3+4
  You can select multiple elements, which are connected by OR logic. If a use case contains any element in this parameter, the keyword sample will be used.
                       */
                      void SetUsages(const std::vector<std::string>& _usages);
  
                      /**
                       * 判断参数 Usages 是否已赋值
                       * @return Usages 是否已赋值
                       */
                      bool UsagesHasBeenSet() const;
  
                      /**
                       * 获取Keyword filter. Array length limit: 100 words.
                       * @return Keywords Keyword filter. Array length limit: 100 words.
                       */
                      std::vector<std::string> GetKeywords() const;
  
                      /**
                       * 设置Keyword filter. Array length limit: 100 words.
                       * @param Keywords Keyword filter. Array length limit: 100 words.
                       */
                      void SetKeywords(const std::vector<std::string>& _keywords);
  
                      /**
                       * 判断参数 Keywords 是否已赋值
                       * @return Keywords 是否已赋值
                       */
                      bool KeywordsHasBeenSet() const;
  
                      /**
                       * 获取Tag filter. Array length limit: 20 words.
                       * @return Tags Tag filter. Array length limit: 20 words.
                       */
                      std::vector<std::string> GetTags() const;
  
                      /**
                       * 设置Tag filter. Array length limit: 20 words.
                       * @param Tags Tag filter. Array length limit: 20 words.
                       */
                      void SetTags(const std::vector<std::string>& _tags);
  
                      /**
                       * 判断参数 Tags 是否已赋值
                       * @return Tags 是否已赋值
                       */
                      bool TagsHasBeenSet() const;
  
                      /**
                       * 获取Pagination offset. Default value: 0.
                       * @return Offset Pagination offset. Default value: 0.
                       */
                      uint64_t GetOffset() const;
  
                      /**
                       * 设置Pagination offset. Default value: 0.
                       * @param Offset Pagination offset. Default value: 0.
                       */
                      void SetOffset(const uint64_t& _offset);
  
                      /**
                       * 判断参数 Offset 是否已赋值
                       * @return Offset 是否已赋值
                       */
                      bool OffsetHasBeenSet() const;
  
                      /**
                       * 获取Number of entries to be returned. Default value: 100. Maximum value: 100.
                       * @return Limit Number of entries to be returned. Default value: 100. Maximum value: 100.
                       */
                      uint64_t GetLimit() const;
  
                      /**
                       * 设置Number of entries to be returned. Default value: 100. Maximum value: 100.
                       * @param Limit Number of entries to be returned. Default value: 100. Maximum value: 100.
                       */
                      void SetLimit(const uint64_t& _limit);
  
                      /**
                       * 判断参数 Limit 是否已赋值
                       * @return Limit 是否已赋值
                       */
                      bool LimitHasBeenSet() const;
  
                      /**
                       * 获取[Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID in VOD. If you need to access a resource in a subapplication, enter the subapplication ID in this field; otherwise, leave it empty.
                       * @return SubAppId [Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID in VOD. If you need to access a resource in a subapplication, enter the subapplication ID in this field; otherwise, leave it empty.
                       */
                      uint64_t GetSubAppId() const;
  
                      /**
                       * 设置[Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID in VOD. If you need to access a resource in a subapplication, enter the subapplication ID in this field; otherwise, leave it empty.
                       * @param SubAppId [Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID in VOD. If you need to access a resource in a subapplication, enter the subapplication ID in this field; otherwise, leave it empty.
                       */
                      void SetSubAppId(const uint64_t& _subAppId);
  
                      /**
                       * 判断参数 SubAppId 是否已赋值
                       * @return SubAppId 是否已赋值
                       */
                      bool SubAppIdHasBeenSet() const;
  
                  private:
  
                      /**
                       * <b>Keyword usage. Valid values:</b>
  1. Recognition.Ocr: OCR-based content recognition
  2. Recognition.Asr: ASR-based content recognition
  3. Review.Ocr: OCR-based inappropriate information recognition
  4. Review.Asr: ASR-based inappropriate information recognition
  <b>Valid values can also be:</b>
  5. Recognition: ASR- and OCR-based content recognition; equivalent to 1+2
  6. Review: ASR- and OCR-based inappropriate information recognition; equivalent to 3+4
  You can select multiple elements, which are connected by OR logic. If a use case contains any element in this parameter, the keyword sample will be used.
                       */
                      std::vector<std::string> m_usages;
                      bool m_usagesHasBeenSet;
  
                      /**
                       * Keyword filter. Array length limit: 100 words.
                       */
                      std::vector<std::string> m_keywords;
                      bool m_keywordsHasBeenSet;
  
                      /**
                       * Tag filter. Array length limit: 20 words.
                       */
                      std::vector<std::string> m_tags;
                      bool m_tagsHasBeenSet;
  
                      /**
                       * Pagination offset. Default value: 0.
                       */
                      uint64_t m_offset;
                      bool m_offsetHasBeenSet;
  
                      /**
                       * Number of entries to be returned. Default value: 100. Maximum value: 100.
                       */
                      uint64_t m_limit;
                      bool m_limitHasBeenSet;
  
                      /**
                       * [Subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) ID in VOD. If you need to access a resource in a subapplication, enter the subapplication ID in this field; otherwise, leave it empty.
                       */
                      uint64_t m_subAppId;
                      bool m_subAppIdHasBeenSet;
  
                  };
              }
          }
      }
  }
  
  #endif // !TENCENTCLOUD_VOD_V20180717_MODEL_DESCRIBEWORDSAMPLESREQUEST_H_
  