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/worklink/WorkLink_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/worklink/model/AuthorizationProviderType.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 WorkLink
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>The summary of the website authorization provider.</p><p><h3>See Also:</h3>
30    * <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/WebsiteAuthorizationProviderSummary">AWS
32    * API Reference</a></p>
33    */
34   class AWS_WORKLINK_API WebsiteAuthorizationProviderSummary
35   {
36   public:
37     WebsiteAuthorizationProviderSummary();
38     WebsiteAuthorizationProviderSummary(Aws::Utils::Json::JsonView jsonValue);
39     WebsiteAuthorizationProviderSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A unique identifier for the authorization provider.</p>
45      */
GetAuthorizationProviderId()46     inline const Aws::String& GetAuthorizationProviderId() const{ return m_authorizationProviderId; }
47 
48     /**
49      * <p>A unique identifier for the authorization provider.</p>
50      */
AuthorizationProviderIdHasBeenSet()51     inline bool AuthorizationProviderIdHasBeenSet() const { return m_authorizationProviderIdHasBeenSet; }
52 
53     /**
54      * <p>A unique identifier for the authorization provider.</p>
55      */
SetAuthorizationProviderId(const Aws::String & value)56     inline void SetAuthorizationProviderId(const Aws::String& value) { m_authorizationProviderIdHasBeenSet = true; m_authorizationProviderId = value; }
57 
58     /**
59      * <p>A unique identifier for the authorization provider.</p>
60      */
SetAuthorizationProviderId(Aws::String && value)61     inline void SetAuthorizationProviderId(Aws::String&& value) { m_authorizationProviderIdHasBeenSet = true; m_authorizationProviderId = std::move(value); }
62 
63     /**
64      * <p>A unique identifier for the authorization provider.</p>
65      */
SetAuthorizationProviderId(const char * value)66     inline void SetAuthorizationProviderId(const char* value) { m_authorizationProviderIdHasBeenSet = true; m_authorizationProviderId.assign(value); }
67 
68     /**
69      * <p>A unique identifier for the authorization provider.</p>
70      */
WithAuthorizationProviderId(const Aws::String & value)71     inline WebsiteAuthorizationProviderSummary& WithAuthorizationProviderId(const Aws::String& value) { SetAuthorizationProviderId(value); return *this;}
72 
73     /**
74      * <p>A unique identifier for the authorization provider.</p>
75      */
WithAuthorizationProviderId(Aws::String && value)76     inline WebsiteAuthorizationProviderSummary& WithAuthorizationProviderId(Aws::String&& value) { SetAuthorizationProviderId(std::move(value)); return *this;}
77 
78     /**
79      * <p>A unique identifier for the authorization provider.</p>
80      */
WithAuthorizationProviderId(const char * value)81     inline WebsiteAuthorizationProviderSummary& WithAuthorizationProviderId(const char* value) { SetAuthorizationProviderId(value); return *this;}
82 
83 
84     /**
85      * <p>The authorization provider type.</p>
86      */
GetAuthorizationProviderType()87     inline const AuthorizationProviderType& GetAuthorizationProviderType() const{ return m_authorizationProviderType; }
88 
89     /**
90      * <p>The authorization provider type.</p>
91      */
AuthorizationProviderTypeHasBeenSet()92     inline bool AuthorizationProviderTypeHasBeenSet() const { return m_authorizationProviderTypeHasBeenSet; }
93 
94     /**
95      * <p>The authorization provider type.</p>
96      */
SetAuthorizationProviderType(const AuthorizationProviderType & value)97     inline void SetAuthorizationProviderType(const AuthorizationProviderType& value) { m_authorizationProviderTypeHasBeenSet = true; m_authorizationProviderType = value; }
98 
99     /**
100      * <p>The authorization provider type.</p>
101      */
SetAuthorizationProviderType(AuthorizationProviderType && value)102     inline void SetAuthorizationProviderType(AuthorizationProviderType&& value) { m_authorizationProviderTypeHasBeenSet = true; m_authorizationProviderType = std::move(value); }
103 
104     /**
105      * <p>The authorization provider type.</p>
106      */
WithAuthorizationProviderType(const AuthorizationProviderType & value)107     inline WebsiteAuthorizationProviderSummary& WithAuthorizationProviderType(const AuthorizationProviderType& value) { SetAuthorizationProviderType(value); return *this;}
108 
109     /**
110      * <p>The authorization provider type.</p>
111      */
WithAuthorizationProviderType(AuthorizationProviderType && value)112     inline WebsiteAuthorizationProviderSummary& WithAuthorizationProviderType(AuthorizationProviderType&& value) { SetAuthorizationProviderType(std::move(value)); return *this;}
113 
114 
115     /**
116      * <p>The domain name of the authorization provider. This applies only to
117      * SAML-based authorization providers.</p>
118      */
GetDomainName()119     inline const Aws::String& GetDomainName() const{ return m_domainName; }
120 
121     /**
122      * <p>The domain name of the authorization provider. This applies only to
123      * SAML-based authorization providers.</p>
124      */
DomainNameHasBeenSet()125     inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
126 
127     /**
128      * <p>The domain name of the authorization provider. This applies only to
129      * SAML-based authorization providers.</p>
130      */
SetDomainName(const Aws::String & value)131     inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
132 
133     /**
134      * <p>The domain name of the authorization provider. This applies only to
135      * SAML-based authorization providers.</p>
136      */
SetDomainName(Aws::String && value)137     inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
138 
139     /**
140      * <p>The domain name of the authorization provider. This applies only to
141      * SAML-based authorization providers.</p>
142      */
SetDomainName(const char * value)143     inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
144 
145     /**
146      * <p>The domain name of the authorization provider. This applies only to
147      * SAML-based authorization providers.</p>
148      */
WithDomainName(const Aws::String & value)149     inline WebsiteAuthorizationProviderSummary& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
150 
151     /**
152      * <p>The domain name of the authorization provider. This applies only to
153      * SAML-based authorization providers.</p>
154      */
WithDomainName(Aws::String && value)155     inline WebsiteAuthorizationProviderSummary& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
156 
157     /**
158      * <p>The domain name of the authorization provider. This applies only to
159      * SAML-based authorization providers.</p>
160      */
WithDomainName(const char * value)161     inline WebsiteAuthorizationProviderSummary& WithDomainName(const char* value) { SetDomainName(value); return *this;}
162 
163 
164     /**
165      * <p>The time of creation.</p>
166      */
GetCreatedTime()167     inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
168 
169     /**
170      * <p>The time of creation.</p>
171      */
CreatedTimeHasBeenSet()172     inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
173 
174     /**
175      * <p>The time of creation.</p>
176      */
SetCreatedTime(const Aws::Utils::DateTime & value)177     inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
178 
179     /**
180      * <p>The time of creation.</p>
181      */
SetCreatedTime(Aws::Utils::DateTime && value)182     inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
183 
184     /**
185      * <p>The time of creation.</p>
186      */
WithCreatedTime(const Aws::Utils::DateTime & value)187     inline WebsiteAuthorizationProviderSummary& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
188 
189     /**
190      * <p>The time of creation.</p>
191      */
WithCreatedTime(Aws::Utils::DateTime && value)192     inline WebsiteAuthorizationProviderSummary& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
193 
194   private:
195 
196     Aws::String m_authorizationProviderId;
197     bool m_authorizationProviderIdHasBeenSet;
198 
199     AuthorizationProviderType m_authorizationProviderType;
200     bool m_authorizationProviderTypeHasBeenSet;
201 
202     Aws::String m_domainName;
203     bool m_domainNameHasBeenSet;
204 
205     Aws::Utils::DateTime m_createdTime;
206     bool m_createdTimeHasBeenSet;
207   };
208 
209 } // namespace Model
210 } // namespace WorkLink
211 } // namespace Aws
212