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/chime/Chime_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/chime/model/PhoneNumberAssociationName.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Chime
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>The phone number associations, such as Amazon Chime account ID, Amazon Chime
30    * user ID, Amazon Chime Voice Connector ID, or Amazon Chime Voice Connector group
31    * ID.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/PhoneNumberAssociation">AWS
33    * API Reference</a></p>
34    */
35   class AWS_CHIME_API PhoneNumberAssociation
36   {
37   public:
38     PhoneNumberAssociation();
39     PhoneNumberAssociation(Aws::Utils::Json::JsonView jsonValue);
40     PhoneNumberAssociation& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Contains the ID for the entity specified in Name.</p>
46      */
GetValue()47     inline const Aws::String& GetValue() const{ return m_value; }
48 
49     /**
50      * <p>Contains the ID for the entity specified in Name.</p>
51      */
ValueHasBeenSet()52     inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
53 
54     /**
55      * <p>Contains the ID for the entity specified in Name.</p>
56      */
SetValue(const Aws::String & value)57     inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
58 
59     /**
60      * <p>Contains the ID for the entity specified in Name.</p>
61      */
SetValue(Aws::String && value)62     inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
63 
64     /**
65      * <p>Contains the ID for the entity specified in Name.</p>
66      */
SetValue(const char * value)67     inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
68 
69     /**
70      * <p>Contains the ID for the entity specified in Name.</p>
71      */
WithValue(const Aws::String & value)72     inline PhoneNumberAssociation& WithValue(const Aws::String& value) { SetValue(value); return *this;}
73 
74     /**
75      * <p>Contains the ID for the entity specified in Name.</p>
76      */
WithValue(Aws::String && value)77     inline PhoneNumberAssociation& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
78 
79     /**
80      * <p>Contains the ID for the entity specified in Name.</p>
81      */
WithValue(const char * value)82     inline PhoneNumberAssociation& WithValue(const char* value) { SetValue(value); return *this;}
83 
84 
85     /**
86      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
87      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
88      */
GetName()89     inline const PhoneNumberAssociationName& GetName() const{ return m_name; }
90 
91     /**
92      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
93      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
94      */
NameHasBeenSet()95     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
96 
97     /**
98      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
99      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
100      */
SetName(const PhoneNumberAssociationName & value)101     inline void SetName(const PhoneNumberAssociationName& value) { m_nameHasBeenSet = true; m_name = value; }
102 
103     /**
104      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
105      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
106      */
SetName(PhoneNumberAssociationName && value)107     inline void SetName(PhoneNumberAssociationName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
108 
109     /**
110      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
111      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
112      */
WithName(const PhoneNumberAssociationName & value)113     inline PhoneNumberAssociation& WithName(const PhoneNumberAssociationName& value) { SetName(value); return *this;}
114 
115     /**
116      * <p>Defines the association with an Amazon Chime account ID, user ID, Amazon
117      * Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.</p>
118      */
WithName(PhoneNumberAssociationName && value)119     inline PhoneNumberAssociation& WithName(PhoneNumberAssociationName&& value) { SetName(std::move(value)); return *this;}
120 
121 
122     /**
123      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
124      */
GetAssociatedTimestamp()125     inline const Aws::Utils::DateTime& GetAssociatedTimestamp() const{ return m_associatedTimestamp; }
126 
127     /**
128      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
129      */
AssociatedTimestampHasBeenSet()130     inline bool AssociatedTimestampHasBeenSet() const { return m_associatedTimestampHasBeenSet; }
131 
132     /**
133      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
134      */
SetAssociatedTimestamp(const Aws::Utils::DateTime & value)135     inline void SetAssociatedTimestamp(const Aws::Utils::DateTime& value) { m_associatedTimestampHasBeenSet = true; m_associatedTimestamp = value; }
136 
137     /**
138      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
139      */
SetAssociatedTimestamp(Aws::Utils::DateTime && value)140     inline void SetAssociatedTimestamp(Aws::Utils::DateTime&& value) { m_associatedTimestampHasBeenSet = true; m_associatedTimestamp = std::move(value); }
141 
142     /**
143      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
144      */
WithAssociatedTimestamp(const Aws::Utils::DateTime & value)145     inline PhoneNumberAssociation& WithAssociatedTimestamp(const Aws::Utils::DateTime& value) { SetAssociatedTimestamp(value); return *this;}
146 
147     /**
148      * <p>The timestamp of the phone number association, in ISO 8601 format.</p>
149      */
WithAssociatedTimestamp(Aws::Utils::DateTime && value)150     inline PhoneNumberAssociation& WithAssociatedTimestamp(Aws::Utils::DateTime&& value) { SetAssociatedTimestamp(std::move(value)); return *this;}
151 
152   private:
153 
154     Aws::String m_value;
155     bool m_valueHasBeenSet;
156 
157     PhoneNumberAssociationName m_name;
158     bool m_nameHasBeenSet;
159 
160     Aws::Utils::DateTime m_associatedTimestamp;
161     bool m_associatedTimestampHasBeenSet;
162   };
163 
164 } // namespace Model
165 } // namespace Chime
166 } // namespace Aws
167