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    * Transport stream service descriptor configuration for the Multiplex
28    * program.<p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/MultiplexProgramServiceDescriptor">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MEDIALIVE_API MultiplexProgramServiceDescriptor
33   {
34   public:
35     MultiplexProgramServiceDescriptor();
36     MultiplexProgramServiceDescriptor(Aws::Utils::Json::JsonView jsonValue);
37     MultiplexProgramServiceDescriptor& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * Name of the provider.
43      */
GetProviderName()44     inline const Aws::String& GetProviderName() const{ return m_providerName; }
45 
46     /**
47      * Name of the provider.
48      */
ProviderNameHasBeenSet()49     inline bool ProviderNameHasBeenSet() const { return m_providerNameHasBeenSet; }
50 
51     /**
52      * Name of the provider.
53      */
SetProviderName(const Aws::String & value)54     inline void SetProviderName(const Aws::String& value) { m_providerNameHasBeenSet = true; m_providerName = value; }
55 
56     /**
57      * Name of the provider.
58      */
SetProviderName(Aws::String && value)59     inline void SetProviderName(Aws::String&& value) { m_providerNameHasBeenSet = true; m_providerName = std::move(value); }
60 
61     /**
62      * Name of the provider.
63      */
SetProviderName(const char * value)64     inline void SetProviderName(const char* value) { m_providerNameHasBeenSet = true; m_providerName.assign(value); }
65 
66     /**
67      * Name of the provider.
68      */
WithProviderName(const Aws::String & value)69     inline MultiplexProgramServiceDescriptor& WithProviderName(const Aws::String& value) { SetProviderName(value); return *this;}
70 
71     /**
72      * Name of the provider.
73      */
WithProviderName(Aws::String && value)74     inline MultiplexProgramServiceDescriptor& WithProviderName(Aws::String&& value) { SetProviderName(std::move(value)); return *this;}
75 
76     /**
77      * Name of the provider.
78      */
WithProviderName(const char * value)79     inline MultiplexProgramServiceDescriptor& WithProviderName(const char* value) { SetProviderName(value); return *this;}
80 
81 
82     /**
83      * Name of the service.
84      */
GetServiceName()85     inline const Aws::String& GetServiceName() const{ return m_serviceName; }
86 
87     /**
88      * Name of the service.
89      */
ServiceNameHasBeenSet()90     inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; }
91 
92     /**
93      * Name of the service.
94      */
SetServiceName(const Aws::String & value)95     inline void SetServiceName(const Aws::String& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; }
96 
97     /**
98      * Name of the service.
99      */
SetServiceName(Aws::String && value)100     inline void SetServiceName(Aws::String&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); }
101 
102     /**
103      * Name of the service.
104      */
SetServiceName(const char * value)105     inline void SetServiceName(const char* value) { m_serviceNameHasBeenSet = true; m_serviceName.assign(value); }
106 
107     /**
108      * Name of the service.
109      */
WithServiceName(const Aws::String & value)110     inline MultiplexProgramServiceDescriptor& WithServiceName(const Aws::String& value) { SetServiceName(value); return *this;}
111 
112     /**
113      * Name of the service.
114      */
WithServiceName(Aws::String && value)115     inline MultiplexProgramServiceDescriptor& WithServiceName(Aws::String&& value) { SetServiceName(std::move(value)); return *this;}
116 
117     /**
118      * Name of the service.
119      */
WithServiceName(const char * value)120     inline MultiplexProgramServiceDescriptor& WithServiceName(const char* value) { SetServiceName(value); return *this;}
121 
122   private:
123 
124     Aws::String m_providerName;
125     bool m_providerNameHasBeenSet;
126 
127     Aws::String m_serviceName;
128     bool m_serviceNameHasBeenSet;
129   };
130 
131 } // namespace Model
132 } // namespace MediaLive
133 } // namespace Aws
134