/** * 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 MediaTailor { namespace Model { /** *

The HTTP package configuration properties for the requested VOD * source.

See Also:

AWS * API Reference

*/ class HttpPackageConfiguration { public: AWS_MEDIATAILOR_API HttpPackageConfiguration(); AWS_MEDIATAILOR_API HttpPackageConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API HttpPackageConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIATAILOR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline HttpPackageConfiguration& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline HttpPackageConfiguration& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The relative path to the URL for this VOD source. This is combined with * SourceLocation::HttpConfiguration::BaseUrl to form a valid URL.

*/ inline HttpPackageConfiguration& WithPath(const char* value) { SetPath(value); return *this;} /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline const Aws::String& GetSourceGroup() const{ return m_sourceGroup; } /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline bool SourceGroupHasBeenSet() const { return m_sourceGroupHasBeenSet; } /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline void SetSourceGroup(const Aws::String& value) { m_sourceGroupHasBeenSet = true; m_sourceGroup = value; } /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline void SetSourceGroup(Aws::String&& value) { m_sourceGroupHasBeenSet = true; m_sourceGroup = std::move(value); } /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline void SetSourceGroup(const char* value) { m_sourceGroupHasBeenSet = true; m_sourceGroup.assign(value); } /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline HttpPackageConfiguration& WithSourceGroup(const Aws::String& value) { SetSourceGroup(value); return *this;} /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline HttpPackageConfiguration& WithSourceGroup(Aws::String&& value) { SetSourceGroup(std::move(value)); return *this;} /** *

The name of the source group. This has to match one of the * Channel::Outputs::SourceGroup.

*/ inline HttpPackageConfiguration& WithSourceGroup(const char* value) { SetSourceGroup(value); return *this;} /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline const Type& GetType() const{ return m_type; } /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline HttpPackageConfiguration& WithType(const Type& value) { SetType(value); return *this;} /** *

The streaming protocol for this package configuration. Supported values are * HLS and DASH.

*/ inline HttpPackageConfiguration& WithType(Type&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_sourceGroup; bool m_sourceGroupHasBeenSet = false; Type m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws