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/codepipeline/CodePipeline_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.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 CodePipeline
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Information about a pipeline.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/codepipeline-2015-07-09/PipelineMetadata">AWS
30    * API Reference</a></p>
31    */
32   class AWS_CODEPIPELINE_API PipelineMetadata
33   {
34   public:
35     PipelineMetadata();
36     PipelineMetadata(Aws::Utils::Json::JsonView jsonValue);
37     PipelineMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
43      */
GetPipelineArn()44     inline const Aws::String& GetPipelineArn() const{ return m_pipelineArn; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
48      */
PipelineArnHasBeenSet()49     inline bool PipelineArnHasBeenSet() const { return m_pipelineArnHasBeenSet; }
50 
51     /**
52      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
53      */
SetPipelineArn(const Aws::String & value)54     inline void SetPipelineArn(const Aws::String& value) { m_pipelineArnHasBeenSet = true; m_pipelineArn = value; }
55 
56     /**
57      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
58      */
SetPipelineArn(Aws::String && value)59     inline void SetPipelineArn(Aws::String&& value) { m_pipelineArnHasBeenSet = true; m_pipelineArn = std::move(value); }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
63      */
SetPipelineArn(const char * value)64     inline void SetPipelineArn(const char* value) { m_pipelineArnHasBeenSet = true; m_pipelineArn.assign(value); }
65 
66     /**
67      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
68      */
WithPipelineArn(const Aws::String & value)69     inline PipelineMetadata& WithPipelineArn(const Aws::String& value) { SetPipelineArn(value); return *this;}
70 
71     /**
72      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
73      */
WithPipelineArn(Aws::String && value)74     inline PipelineMetadata& WithPipelineArn(Aws::String&& value) { SetPipelineArn(std::move(value)); return *this;}
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the pipeline.</p>
78      */
WithPipelineArn(const char * value)79     inline PipelineMetadata& WithPipelineArn(const char* value) { SetPipelineArn(value); return *this;}
80 
81 
82     /**
83      * <p>The date and time the pipeline was created, in timestamp format.</p>
84      */
GetCreated()85     inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; }
86 
87     /**
88      * <p>The date and time the pipeline was created, in timestamp format.</p>
89      */
CreatedHasBeenSet()90     inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; }
91 
92     /**
93      * <p>The date and time the pipeline was created, in timestamp format.</p>
94      */
SetCreated(const Aws::Utils::DateTime & value)95     inline void SetCreated(const Aws::Utils::DateTime& value) { m_createdHasBeenSet = true; m_created = value; }
96 
97     /**
98      * <p>The date and time the pipeline was created, in timestamp format.</p>
99      */
SetCreated(Aws::Utils::DateTime && value)100     inline void SetCreated(Aws::Utils::DateTime&& value) { m_createdHasBeenSet = true; m_created = std::move(value); }
101 
102     /**
103      * <p>The date and time the pipeline was created, in timestamp format.</p>
104      */
WithCreated(const Aws::Utils::DateTime & value)105     inline PipelineMetadata& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;}
106 
107     /**
108      * <p>The date and time the pipeline was created, in timestamp format.</p>
109      */
WithCreated(Aws::Utils::DateTime && value)110     inline PipelineMetadata& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;}
111 
112 
113     /**
114      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
115      */
GetUpdated()116     inline const Aws::Utils::DateTime& GetUpdated() const{ return m_updated; }
117 
118     /**
119      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
120      */
UpdatedHasBeenSet()121     inline bool UpdatedHasBeenSet() const { return m_updatedHasBeenSet; }
122 
123     /**
124      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
125      */
SetUpdated(const Aws::Utils::DateTime & value)126     inline void SetUpdated(const Aws::Utils::DateTime& value) { m_updatedHasBeenSet = true; m_updated = value; }
127 
128     /**
129      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
130      */
SetUpdated(Aws::Utils::DateTime && value)131     inline void SetUpdated(Aws::Utils::DateTime&& value) { m_updatedHasBeenSet = true; m_updated = std::move(value); }
132 
133     /**
134      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
135      */
WithUpdated(const Aws::Utils::DateTime & value)136     inline PipelineMetadata& WithUpdated(const Aws::Utils::DateTime& value) { SetUpdated(value); return *this;}
137 
138     /**
139      * <p>The date and time the pipeline was last updated, in timestamp format.</p>
140      */
WithUpdated(Aws::Utils::DateTime && value)141     inline PipelineMetadata& WithUpdated(Aws::Utils::DateTime&& value) { SetUpdated(std::move(value)); return *this;}
142 
143   private:
144 
145     Aws::String m_pipelineArn;
146     bool m_pipelineArnHasBeenSet;
147 
148     Aws::Utils::DateTime m_created;
149     bool m_createdHasBeenSet;
150 
151     Aws::Utils::DateTime m_updated;
152     bool m_updatedHasBeenSet;
153   };
154 
155 } // namespace Model
156 } // namespace CodePipeline
157 } // namespace Aws
158