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/cognito-sync/CognitoSync_EXPORTS.h>
8 #include <aws/cognito-sync/CognitoSyncRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/cognito-sync/model/PushSync.h>
11 #include <aws/cognito-sync/model/CognitoStreams.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace CognitoSync
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p>The input for the SetIdentityPoolConfiguration operation.</p><p><h3>See
23    * Also:</h3>   <a
24    * href="http://docs.aws.amazon.com/goto/WebAPI/cognito-sync-2014-06-30/SetIdentityPoolConfigurationRequest">AWS
25    * API Reference</a></p>
26    */
27   class AWS_COGNITOSYNC_API SetIdentityPoolConfigurationRequest : public CognitoSyncRequest
28   {
29   public:
30     SetIdentityPoolConfigurationRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "SetIdentityPoolConfiguration"; }
37 
38     Aws::String SerializePayload() const override;
39 
40 
41     /**
42      * <p>A name-spaced GUID (for example,
43      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
44      * is the ID of the pool to modify.</p>
45      */
GetIdentityPoolId()46     inline const Aws::String& GetIdentityPoolId() const{ return m_identityPoolId; }
47 
48     /**
49      * <p>A name-spaced GUID (for example,
50      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
51      * is the ID of the pool to modify.</p>
52      */
IdentityPoolIdHasBeenSet()53     inline bool IdentityPoolIdHasBeenSet() const { return m_identityPoolIdHasBeenSet; }
54 
55     /**
56      * <p>A name-spaced GUID (for example,
57      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
58      * is the ID of the pool to modify.</p>
59      */
SetIdentityPoolId(const Aws::String & value)60     inline void SetIdentityPoolId(const Aws::String& value) { m_identityPoolIdHasBeenSet = true; m_identityPoolId = value; }
61 
62     /**
63      * <p>A name-spaced GUID (for example,
64      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
65      * is the ID of the pool to modify.</p>
66      */
SetIdentityPoolId(Aws::String && value)67     inline void SetIdentityPoolId(Aws::String&& value) { m_identityPoolIdHasBeenSet = true; m_identityPoolId = std::move(value); }
68 
69     /**
70      * <p>A name-spaced GUID (for example,
71      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
72      * is the ID of the pool to modify.</p>
73      */
SetIdentityPoolId(const char * value)74     inline void SetIdentityPoolId(const char* value) { m_identityPoolIdHasBeenSet = true; m_identityPoolId.assign(value); }
75 
76     /**
77      * <p>A name-spaced GUID (for example,
78      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
79      * is the ID of the pool to modify.</p>
80      */
WithIdentityPoolId(const Aws::String & value)81     inline SetIdentityPoolConfigurationRequest& WithIdentityPoolId(const Aws::String& value) { SetIdentityPoolId(value); return *this;}
82 
83     /**
84      * <p>A name-spaced GUID (for example,
85      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
86      * is the ID of the pool to modify.</p>
87      */
WithIdentityPoolId(Aws::String && value)88     inline SetIdentityPoolConfigurationRequest& WithIdentityPoolId(Aws::String&& value) { SetIdentityPoolId(std::move(value)); return *this;}
89 
90     /**
91      * <p>A name-spaced GUID (for example,
92      * us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This
93      * is the ID of the pool to modify.</p>
94      */
WithIdentityPoolId(const char * value)95     inline SetIdentityPoolConfigurationRequest& WithIdentityPoolId(const char* value) { SetIdentityPoolId(value); return *this;}
96 
97 
98     /**
99      * <p>Options to apply to this identity pool for push synchronization.</p>
100      */
GetPushSync()101     inline const PushSync& GetPushSync() const{ return m_pushSync; }
102 
103     /**
104      * <p>Options to apply to this identity pool for push synchronization.</p>
105      */
PushSyncHasBeenSet()106     inline bool PushSyncHasBeenSet() const { return m_pushSyncHasBeenSet; }
107 
108     /**
109      * <p>Options to apply to this identity pool for push synchronization.</p>
110      */
SetPushSync(const PushSync & value)111     inline void SetPushSync(const PushSync& value) { m_pushSyncHasBeenSet = true; m_pushSync = value; }
112 
113     /**
114      * <p>Options to apply to this identity pool for push synchronization.</p>
115      */
SetPushSync(PushSync && value)116     inline void SetPushSync(PushSync&& value) { m_pushSyncHasBeenSet = true; m_pushSync = std::move(value); }
117 
118     /**
119      * <p>Options to apply to this identity pool for push synchronization.</p>
120      */
WithPushSync(const PushSync & value)121     inline SetIdentityPoolConfigurationRequest& WithPushSync(const PushSync& value) { SetPushSync(value); return *this;}
122 
123     /**
124      * <p>Options to apply to this identity pool for push synchronization.</p>
125      */
WithPushSync(PushSync && value)126     inline SetIdentityPoolConfigurationRequest& WithPushSync(PushSync&& value) { SetPushSync(std::move(value)); return *this;}
127 
128 
129     /**
130      * Options to apply to this identity pool for Amazon Cognito streams.
131      */
GetCognitoStreams()132     inline const CognitoStreams& GetCognitoStreams() const{ return m_cognitoStreams; }
133 
134     /**
135      * Options to apply to this identity pool for Amazon Cognito streams.
136      */
CognitoStreamsHasBeenSet()137     inline bool CognitoStreamsHasBeenSet() const { return m_cognitoStreamsHasBeenSet; }
138 
139     /**
140      * Options to apply to this identity pool for Amazon Cognito streams.
141      */
SetCognitoStreams(const CognitoStreams & value)142     inline void SetCognitoStreams(const CognitoStreams& value) { m_cognitoStreamsHasBeenSet = true; m_cognitoStreams = value; }
143 
144     /**
145      * Options to apply to this identity pool for Amazon Cognito streams.
146      */
SetCognitoStreams(CognitoStreams && value)147     inline void SetCognitoStreams(CognitoStreams&& value) { m_cognitoStreamsHasBeenSet = true; m_cognitoStreams = std::move(value); }
148 
149     /**
150      * Options to apply to this identity pool for Amazon Cognito streams.
151      */
WithCognitoStreams(const CognitoStreams & value)152     inline SetIdentityPoolConfigurationRequest& WithCognitoStreams(const CognitoStreams& value) { SetCognitoStreams(value); return *this;}
153 
154     /**
155      * Options to apply to this identity pool for Amazon Cognito streams.
156      */
WithCognitoStreams(CognitoStreams && value)157     inline SetIdentityPoolConfigurationRequest& WithCognitoStreams(CognitoStreams&& value) { SetCognitoStreams(std::move(value)); return *this;}
158 
159   private:
160 
161     Aws::String m_identityPoolId;
162     bool m_identityPoolIdHasBeenSet;
163 
164     PushSync m_pushSync;
165     bool m_pushSyncHasBeenSet;
166 
167     CognitoStreams m_cognitoStreams;
168     bool m_cognitoStreamsHasBeenSet;
169   };
170 
171 } // namespace Model
172 } // namespace CognitoSync
173 } // namespace Aws
174