1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/medialive/MediaLive_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * Settings for the action to insert a user-defined ID3 tag in each HLS
28    * segment<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/HlsId3SegmentTaggingScheduleActionSettings">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API HlsId3SegmentTaggingScheduleActionSettings
33   {
34   public:
35     HlsId3SegmentTaggingScheduleActionSettings();
36     HlsId3SegmentTaggingScheduleActionSettings(Aws::Utils::Json::JsonView jsonValue);
37     HlsId3SegmentTaggingScheduleActionSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * ID3 tag to insert into each segment. Supports special keyword identifiers to
43      * substitute in segment-related values.\nSupported keyword identifiers:
44      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
45      */
GetTag()46     inline const Aws::String& GetTag() const{ return m_tag; }
47 
48     /**
49      * ID3 tag to insert into each segment. Supports special keyword identifiers to
50      * substitute in segment-related values.\nSupported keyword identifiers:
51      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
52      */
TagHasBeenSet()53     inline bool TagHasBeenSet() const { return m_tagHasBeenSet; }
54 
55     /**
56      * ID3 tag to insert into each segment. Supports special keyword identifiers to
57      * substitute in segment-related values.\nSupported keyword identifiers:
58      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
59      */
SetTag(const Aws::String & value)60     inline void SetTag(const Aws::String& value) { m_tagHasBeenSet = true; m_tag = value; }
61 
62     /**
63      * ID3 tag to insert into each segment. Supports special keyword identifiers to
64      * substitute in segment-related values.\nSupported keyword identifiers:
65      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
66      */
SetTag(Aws::String && value)67     inline void SetTag(Aws::String&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); }
68 
69     /**
70      * ID3 tag to insert into each segment. Supports special keyword identifiers to
71      * substitute in segment-related values.\nSupported keyword identifiers:
72      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
73      */
SetTag(const char * value)74     inline void SetTag(const char* value) { m_tagHasBeenSet = true; m_tag.assign(value); }
75 
76     /**
77      * ID3 tag to insert into each segment. Supports special keyword identifiers to
78      * substitute in segment-related values.\nSupported keyword identifiers:
79      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
80      */
WithTag(const Aws::String & value)81     inline HlsId3SegmentTaggingScheduleActionSettings& WithTag(const Aws::String& value) { SetTag(value); return *this;}
82 
83     /**
84      * ID3 tag to insert into each segment. Supports special keyword identifiers to
85      * substitute in segment-related values.\nSupported keyword identifiers:
86      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
87      */
WithTag(Aws::String && value)88     inline HlsId3SegmentTaggingScheduleActionSettings& WithTag(Aws::String&& value) { SetTag(std::move(value)); return *this;}
89 
90     /**
91      * ID3 tag to insert into each segment. Supports special keyword identifiers to
92      * substitute in segment-related values.\nSupported keyword identifiers:
93      * https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html
94      */
WithTag(const char * value)95     inline HlsId3SegmentTaggingScheduleActionSettings& WithTag(const char* value) { SetTag(value); return *this;}
96 
97   private:
98 
99     Aws::String m_tag;
100     bool m_tagHasBeenSet;
101   };
102 
103 } // namespace Model
104 } // namespace MediaLive
105 } // namespace Aws
106