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/snowball/Snowball_EXPORTS.h>
8 #include <aws/snowball/model/JobMetadata.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 template<typename RESULT_TYPE>
15 class AmazonWebServiceResult;
16 
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22 } // namespace Json
23 } // namespace Utils
24 namespace Snowball
25 {
26 namespace Model
27 {
28   class AWS_SNOWBALL_API DescribeJobResult
29   {
30   public:
31     DescribeJobResult();
32     DescribeJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33     DescribeJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34 
35 
36     /**
37      * <p>Information about a specific job, including shipping information, job status,
38      * and other important metadata.</p>
39      */
GetJobMetadata()40     inline const JobMetadata& GetJobMetadata() const{ return m_jobMetadata; }
41 
42     /**
43      * <p>Information about a specific job, including shipping information, job status,
44      * and other important metadata.</p>
45      */
SetJobMetadata(const JobMetadata & value)46     inline void SetJobMetadata(const JobMetadata& value) { m_jobMetadata = value; }
47 
48     /**
49      * <p>Information about a specific job, including shipping information, job status,
50      * and other important metadata.</p>
51      */
SetJobMetadata(JobMetadata && value)52     inline void SetJobMetadata(JobMetadata&& value) { m_jobMetadata = std::move(value); }
53 
54     /**
55      * <p>Information about a specific job, including shipping information, job status,
56      * and other important metadata.</p>
57      */
WithJobMetadata(const JobMetadata & value)58     inline DescribeJobResult& WithJobMetadata(const JobMetadata& value) { SetJobMetadata(value); return *this;}
59 
60     /**
61      * <p>Information about a specific job, including shipping information, job status,
62      * and other important metadata.</p>
63      */
WithJobMetadata(JobMetadata && value)64     inline DescribeJobResult& WithJobMetadata(JobMetadata&& value) { SetJobMetadata(std::move(value)); return *this;}
65 
66 
67     /**
68      * <p>Information about a specific job part (in the case of an export job),
69      * including shipping information, job status, and other important metadata.</p>
70      */
GetSubJobMetadata()71     inline const Aws::Vector<JobMetadata>& GetSubJobMetadata() const{ return m_subJobMetadata; }
72 
73     /**
74      * <p>Information about a specific job part (in the case of an export job),
75      * including shipping information, job status, and other important metadata.</p>
76      */
SetSubJobMetadata(const Aws::Vector<JobMetadata> & value)77     inline void SetSubJobMetadata(const Aws::Vector<JobMetadata>& value) { m_subJobMetadata = value; }
78 
79     /**
80      * <p>Information about a specific job part (in the case of an export job),
81      * including shipping information, job status, and other important metadata.</p>
82      */
SetSubJobMetadata(Aws::Vector<JobMetadata> && value)83     inline void SetSubJobMetadata(Aws::Vector<JobMetadata>&& value) { m_subJobMetadata = std::move(value); }
84 
85     /**
86      * <p>Information about a specific job part (in the case of an export job),
87      * including shipping information, job status, and other important metadata.</p>
88      */
WithSubJobMetadata(const Aws::Vector<JobMetadata> & value)89     inline DescribeJobResult& WithSubJobMetadata(const Aws::Vector<JobMetadata>& value) { SetSubJobMetadata(value); return *this;}
90 
91     /**
92      * <p>Information about a specific job part (in the case of an export job),
93      * including shipping information, job status, and other important metadata.</p>
94      */
WithSubJobMetadata(Aws::Vector<JobMetadata> && value)95     inline DescribeJobResult& WithSubJobMetadata(Aws::Vector<JobMetadata>&& value) { SetSubJobMetadata(std::move(value)); return *this;}
96 
97     /**
98      * <p>Information about a specific job part (in the case of an export job),
99      * including shipping information, job status, and other important metadata.</p>
100      */
AddSubJobMetadata(const JobMetadata & value)101     inline DescribeJobResult& AddSubJobMetadata(const JobMetadata& value) { m_subJobMetadata.push_back(value); return *this; }
102 
103     /**
104      * <p>Information about a specific job part (in the case of an export job),
105      * including shipping information, job status, and other important metadata.</p>
106      */
AddSubJobMetadata(JobMetadata && value)107     inline DescribeJobResult& AddSubJobMetadata(JobMetadata&& value) { m_subJobMetadata.push_back(std::move(value)); return *this; }
108 
109   private:
110 
111     JobMetadata m_jobMetadata;
112 
113     Aws::Vector<JobMetadata> m_subJobMetadata;
114   };
115 
116 } // namespace Model
117 } // namespace Snowball
118 } // namespace Aws
119