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/mediaconvert/MediaConvert_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace MediaConvert 23 { 24 namespace Model 25 { 26 27 /** 28 * Specify the details for each additional HLS manifest that you want the service 29 * to generate for this output group. Each manifest can reference a different 30 * subset of outputs in the group.<p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/HlsAdditionalManifest">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_MEDIACONVERT_API HlsAdditionalManifest 35 { 36 public: 37 HlsAdditionalManifest(); 38 HlsAdditionalManifest(Aws::Utils::Json::JsonView jsonValue); 39 HlsAdditionalManifest& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * Specify a name modifier that the service adds to the name of this manifest to 45 * make it different from the file names of the other main manifests in the output 46 * group. For example, say that the default main manifest for your HLS group is 47 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 48 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 49 * For HLS output groups, specify a manifestNameModifier that is different from the 50 * nameModifier of the output. The service uses the output name modifier to create 51 * unique names for the individual variant manifests. 52 */ GetManifestNameModifier()53 inline const Aws::String& GetManifestNameModifier() const{ return m_manifestNameModifier; } 54 55 /** 56 * Specify a name modifier that the service adds to the name of this manifest to 57 * make it different from the file names of the other main manifests in the output 58 * group. For example, say that the default main manifest for your HLS group is 59 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 60 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 61 * For HLS output groups, specify a manifestNameModifier that is different from the 62 * nameModifier of the output. The service uses the output name modifier to create 63 * unique names for the individual variant manifests. 64 */ ManifestNameModifierHasBeenSet()65 inline bool ManifestNameModifierHasBeenSet() const { return m_manifestNameModifierHasBeenSet; } 66 67 /** 68 * Specify a name modifier that the service adds to the name of this manifest to 69 * make it different from the file names of the other main manifests in the output 70 * group. For example, say that the default main manifest for your HLS group is 71 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 72 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 73 * For HLS output groups, specify a manifestNameModifier that is different from the 74 * nameModifier of the output. The service uses the output name modifier to create 75 * unique names for the individual variant manifests. 76 */ SetManifestNameModifier(const Aws::String & value)77 inline void SetManifestNameModifier(const Aws::String& value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier = value; } 78 79 /** 80 * Specify a name modifier that the service adds to the name of this manifest to 81 * make it different from the file names of the other main manifests in the output 82 * group. For example, say that the default main manifest for your HLS group is 83 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 84 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 85 * For HLS output groups, specify a manifestNameModifier that is different from the 86 * nameModifier of the output. The service uses the output name modifier to create 87 * unique names for the individual variant manifests. 88 */ SetManifestNameModifier(Aws::String && value)89 inline void SetManifestNameModifier(Aws::String&& value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier = std::move(value); } 90 91 /** 92 * Specify a name modifier that the service adds to the name of this manifest to 93 * make it different from the file names of the other main manifests in the output 94 * group. For example, say that the default main manifest for your HLS group is 95 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 96 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 97 * For HLS output groups, specify a manifestNameModifier that is different from the 98 * nameModifier of the output. The service uses the output name modifier to create 99 * unique names for the individual variant manifests. 100 */ SetManifestNameModifier(const char * value)101 inline void SetManifestNameModifier(const char* value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier.assign(value); } 102 103 /** 104 * Specify a name modifier that the service adds to the name of this manifest to 105 * make it different from the file names of the other main manifests in the output 106 * group. For example, say that the default main manifest for your HLS group is 107 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 108 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 109 * For HLS output groups, specify a manifestNameModifier that is different from the 110 * nameModifier of the output. The service uses the output name modifier to create 111 * unique names for the individual variant manifests. 112 */ WithManifestNameModifier(const Aws::String & value)113 inline HlsAdditionalManifest& WithManifestNameModifier(const Aws::String& value) { SetManifestNameModifier(value); return *this;} 114 115 /** 116 * Specify a name modifier that the service adds to the name of this manifest to 117 * make it different from the file names of the other main manifests in the output 118 * group. For example, say that the default main manifest for your HLS group is 119 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 120 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 121 * For HLS output groups, specify a manifestNameModifier that is different from the 122 * nameModifier of the output. The service uses the output name modifier to create 123 * unique names for the individual variant manifests. 124 */ WithManifestNameModifier(Aws::String && value)125 inline HlsAdditionalManifest& WithManifestNameModifier(Aws::String&& value) { SetManifestNameModifier(std::move(value)); return *this;} 126 127 /** 128 * Specify a name modifier that the service adds to the name of this manifest to 129 * make it different from the file names of the other main manifests in the output 130 * group. For example, say that the default main manifest for your HLS group is 131 * film-name.m3u8. If you enter "-no-premium" for this setting, then the file name 132 * the service generates for this top-level manifest is film-name-no-premium.m3u8. 133 * For HLS output groups, specify a manifestNameModifier that is different from the 134 * nameModifier of the output. The service uses the output name modifier to create 135 * unique names for the individual variant manifests. 136 */ WithManifestNameModifier(const char * value)137 inline HlsAdditionalManifest& WithManifestNameModifier(const char* value) { SetManifestNameModifier(value); return *this;} 138 139 140 /** 141 * Specify the outputs that you want this additional top-level manifest to 142 * reference. 143 */ GetSelectedOutputs()144 inline const Aws::Vector<Aws::String>& GetSelectedOutputs() const{ return m_selectedOutputs; } 145 146 /** 147 * Specify the outputs that you want this additional top-level manifest to 148 * reference. 149 */ SelectedOutputsHasBeenSet()150 inline bool SelectedOutputsHasBeenSet() const { return m_selectedOutputsHasBeenSet; } 151 152 /** 153 * Specify the outputs that you want this additional top-level manifest to 154 * reference. 155 */ SetSelectedOutputs(const Aws::Vector<Aws::String> & value)156 inline void SetSelectedOutputs(const Aws::Vector<Aws::String>& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs = value; } 157 158 /** 159 * Specify the outputs that you want this additional top-level manifest to 160 * reference. 161 */ SetSelectedOutputs(Aws::Vector<Aws::String> && value)162 inline void SetSelectedOutputs(Aws::Vector<Aws::String>&& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs = std::move(value); } 163 164 /** 165 * Specify the outputs that you want this additional top-level manifest to 166 * reference. 167 */ WithSelectedOutputs(const Aws::Vector<Aws::String> & value)168 inline HlsAdditionalManifest& WithSelectedOutputs(const Aws::Vector<Aws::String>& value) { SetSelectedOutputs(value); return *this;} 169 170 /** 171 * Specify the outputs that you want this additional top-level manifest to 172 * reference. 173 */ WithSelectedOutputs(Aws::Vector<Aws::String> && value)174 inline HlsAdditionalManifest& WithSelectedOutputs(Aws::Vector<Aws::String>&& value) { SetSelectedOutputs(std::move(value)); return *this;} 175 176 /** 177 * Specify the outputs that you want this additional top-level manifest to 178 * reference. 179 */ AddSelectedOutputs(const Aws::String & value)180 inline HlsAdditionalManifest& AddSelectedOutputs(const Aws::String& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(value); return *this; } 181 182 /** 183 * Specify the outputs that you want this additional top-level manifest to 184 * reference. 185 */ AddSelectedOutputs(Aws::String && value)186 inline HlsAdditionalManifest& AddSelectedOutputs(Aws::String&& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(std::move(value)); return *this; } 187 188 /** 189 * Specify the outputs that you want this additional top-level manifest to 190 * reference. 191 */ AddSelectedOutputs(const char * value)192 inline HlsAdditionalManifest& AddSelectedOutputs(const char* value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(value); return *this; } 193 194 private: 195 196 Aws::String m_manifestNameModifier; 197 bool m_manifestNameModifierHasBeenSet; 198 199 Aws::Vector<Aws::String> m_selectedOutputs; 200 bool m_selectedOutputsHasBeenSet; 201 }; 202 203 } // namespace Model 204 } // namespace MediaConvert 205 } // namespace Aws 206