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/AWSVector.h>
9 #include <aws/mediaconvert/model/OutputDetail.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    * Contains details about the output groups specified in the job
29    * settings.<p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/OutputGroupDetail">AWS
31    * API Reference</a></p>
32    */
33   class AWS_MEDIACONVERT_API OutputGroupDetail
34   {
35   public:
36     OutputGroupDetail();
37     OutputGroupDetail(Aws::Utils::Json::JsonView jsonValue);
38     OutputGroupDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * Details about the output
44      */
GetOutputDetails()45     inline const Aws::Vector<OutputDetail>& GetOutputDetails() const{ return m_outputDetails; }
46 
47     /**
48      * Details about the output
49      */
OutputDetailsHasBeenSet()50     inline bool OutputDetailsHasBeenSet() const { return m_outputDetailsHasBeenSet; }
51 
52     /**
53      * Details about the output
54      */
SetOutputDetails(const Aws::Vector<OutputDetail> & value)55     inline void SetOutputDetails(const Aws::Vector<OutputDetail>& value) { m_outputDetailsHasBeenSet = true; m_outputDetails = value; }
56 
57     /**
58      * Details about the output
59      */
SetOutputDetails(Aws::Vector<OutputDetail> && value)60     inline void SetOutputDetails(Aws::Vector<OutputDetail>&& value) { m_outputDetailsHasBeenSet = true; m_outputDetails = std::move(value); }
61 
62     /**
63      * Details about the output
64      */
WithOutputDetails(const Aws::Vector<OutputDetail> & value)65     inline OutputGroupDetail& WithOutputDetails(const Aws::Vector<OutputDetail>& value) { SetOutputDetails(value); return *this;}
66 
67     /**
68      * Details about the output
69      */
WithOutputDetails(Aws::Vector<OutputDetail> && value)70     inline OutputGroupDetail& WithOutputDetails(Aws::Vector<OutputDetail>&& value) { SetOutputDetails(std::move(value)); return *this;}
71 
72     /**
73      * Details about the output
74      */
AddOutputDetails(const OutputDetail & value)75     inline OutputGroupDetail& AddOutputDetails(const OutputDetail& value) { m_outputDetailsHasBeenSet = true; m_outputDetails.push_back(value); return *this; }
76 
77     /**
78      * Details about the output
79      */
AddOutputDetails(OutputDetail && value)80     inline OutputGroupDetail& AddOutputDetails(OutputDetail&& value) { m_outputDetailsHasBeenSet = true; m_outputDetails.push_back(std::move(value)); return *this; }
81 
82   private:
83 
84     Aws::Vector<OutputDetail> m_outputDetails;
85     bool m_outputDetailsHasBeenSet;
86   };
87 
88 } // namespace Model
89 } // namespace MediaConvert
90 } // namespace Aws
91