/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace MediaConvert
{
namespace Model
{
/**
* Specify the details for each additional DASH manifest that you want the service
* to generate for this output group. Each manifest can reference a different
* subset of outputs in the group.See Also:
AWS
* API Reference
*/
class DashAdditionalManifest
{
public:
AWS_MEDIACONVERT_API DashAdditionalManifest();
AWS_MEDIACONVERT_API DashAdditionalManifest(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API DashAdditionalManifest& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline const Aws::String& GetManifestNameModifier() const{ return m_manifestNameModifier; }
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline bool ManifestNameModifierHasBeenSet() const { return m_manifestNameModifierHasBeenSet; }
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline void SetManifestNameModifier(const Aws::String& value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier = value; }
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline void SetManifestNameModifier(Aws::String&& value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier = std::move(value); }
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline void SetManifestNameModifier(const char* value) { m_manifestNameModifierHasBeenSet = true; m_manifestNameModifier.assign(value); }
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline DashAdditionalManifest& WithManifestNameModifier(const Aws::String& value) { SetManifestNameModifier(value); return *this;}
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline DashAdditionalManifest& WithManifestNameModifier(Aws::String&& value) { SetManifestNameModifier(std::move(value)); return *this;}
/**
* Specify a name modifier that the service adds to the name of this manifest to
* make it different from the file names of the other main manifests in the output
* group. For example, say that the default main manifest for your DASH group is
* film-name.mpd. If you enter "-no-premium" for this setting, then the file name
* the service generates for this top-level manifest is film-name-no-premium.mpd.
*/
inline DashAdditionalManifest& WithManifestNameModifier(const char* value) { SetManifestNameModifier(value); return *this;}
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline const Aws::Vector& GetSelectedOutputs() const{ return m_selectedOutputs; }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline bool SelectedOutputsHasBeenSet() const { return m_selectedOutputsHasBeenSet; }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline void SetSelectedOutputs(const Aws::Vector& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs = value; }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline void SetSelectedOutputs(Aws::Vector&& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs = std::move(value); }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline DashAdditionalManifest& WithSelectedOutputs(const Aws::Vector& value) { SetSelectedOutputs(value); return *this;}
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline DashAdditionalManifest& WithSelectedOutputs(Aws::Vector&& value) { SetSelectedOutputs(std::move(value)); return *this;}
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline DashAdditionalManifest& AddSelectedOutputs(const Aws::String& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(value); return *this; }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline DashAdditionalManifest& AddSelectedOutputs(Aws::String&& value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(std::move(value)); return *this; }
/**
* Specify the outputs that you want this additional top-level manifest to
* reference.
*/
inline DashAdditionalManifest& AddSelectedOutputs(const char* value) { m_selectedOutputsHasBeenSet = true; m_selectedOutputs.push_back(value); return *this; }
private:
Aws::String m_manifestNameModifier;
bool m_manifestNameModifierHasBeenSet = false;
Aws::Vector m_selectedOutputs;
bool m_selectedOutputsHasBeenSet = false;
};
} // namespace Model
} // namespace MediaConvert
} // namespace Aws