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/events/CloudWatchEvents_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 CloudWatchEvents
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>A partner event source is created by an SaaS partner. If a customer creates a
28    * partner event bus that matches this event source, that Amazon Web Services
29    * account can receive events from the partner's applications or
30    * services.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PartnerEventSource">AWS
32    * API Reference</a></p>
33    */
34   class AWS_CLOUDWATCHEVENTS_API PartnerEventSource
35   {
36   public:
37     PartnerEventSource();
38     PartnerEventSource(Aws::Utils::Json::JsonView jsonValue);
39     PartnerEventSource& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The ARN of the partner event source.</p>
45      */
GetArn()46     inline const Aws::String& GetArn() const{ return m_arn; }
47 
48     /**
49      * <p>The ARN of the partner event source.</p>
50      */
ArnHasBeenSet()51     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
52 
53     /**
54      * <p>The ARN of the partner event source.</p>
55      */
SetArn(const Aws::String & value)56     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
57 
58     /**
59      * <p>The ARN of the partner event source.</p>
60      */
SetArn(Aws::String && value)61     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
62 
63     /**
64      * <p>The ARN of the partner event source.</p>
65      */
SetArn(const char * value)66     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
67 
68     /**
69      * <p>The ARN of the partner event source.</p>
70      */
WithArn(const Aws::String & value)71     inline PartnerEventSource& WithArn(const Aws::String& value) { SetArn(value); return *this;}
72 
73     /**
74      * <p>The ARN of the partner event source.</p>
75      */
WithArn(Aws::String && value)76     inline PartnerEventSource& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
77 
78     /**
79      * <p>The ARN of the partner event source.</p>
80      */
WithArn(const char * value)81     inline PartnerEventSource& WithArn(const char* value) { SetArn(value); return *this;}
82 
83 
84     /**
85      * <p>The name of the partner event source.</p>
86      */
GetName()87     inline const Aws::String& GetName() const{ return m_name; }
88 
89     /**
90      * <p>The name of the partner event source.</p>
91      */
NameHasBeenSet()92     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
93 
94     /**
95      * <p>The name of the partner event source.</p>
96      */
SetName(const Aws::String & value)97     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
98 
99     /**
100      * <p>The name of the partner event source.</p>
101      */
SetName(Aws::String && value)102     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
103 
104     /**
105      * <p>The name of the partner event source.</p>
106      */
SetName(const char * value)107     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
108 
109     /**
110      * <p>The name of the partner event source.</p>
111      */
WithName(const Aws::String & value)112     inline PartnerEventSource& WithName(const Aws::String& value) { SetName(value); return *this;}
113 
114     /**
115      * <p>The name of the partner event source.</p>
116      */
WithName(Aws::String && value)117     inline PartnerEventSource& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
118 
119     /**
120      * <p>The name of the partner event source.</p>
121      */
WithName(const char * value)122     inline PartnerEventSource& WithName(const char* value) { SetName(value); return *this;}
123 
124   private:
125 
126     Aws::String m_arn;
127     bool m_arnHasBeenSet;
128 
129     Aws::String m_name;
130     bool m_nameHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace CloudWatchEvents
135 } // namespace Aws
136