No Description

AWSCognitoSyncModel.h 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032
  1. //
  2. // Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License").
  5. // You may not use this file except in compliance with the License.
  6. // A copy of the License is located at
  7. //
  8. // http://aws.amazon.com/apache2.0
  9. //
  10. // or in the "license" file accompanying this file. This file is distributed
  11. // on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  12. // express or implied. See the License for the specific language governing
  13. // permissions and limitations under the License.
  14. //
  15. #import <Foundation/Foundation.h>
  16. #import <AWSCore/AWSNetworking.h>
  17. #import <AWSCore/AWSModel.h>
  18. NS_ASSUME_NONNULL_BEGIN
  19. FOUNDATION_EXPORT NSString *const AWSCognitoSyncErrorDomain;
  20. typedef NS_ENUM(NSInteger, AWSCognitoSyncErrorType) {
  21. AWSCognitoSyncErrorUnknown,
  22. AWSCognitoSyncErrorAlreadyStreamed,
  23. AWSCognitoSyncErrorConcurrentModification,
  24. AWSCognitoSyncErrorDuplicateRequest,
  25. AWSCognitoSyncErrorInternalError,
  26. AWSCognitoSyncErrorInvalidConfiguration,
  27. AWSCognitoSyncErrorInvalidLambdaFunctionOutput,
  28. AWSCognitoSyncErrorInvalidParameter,
  29. AWSCognitoSyncErrorLambdaThrottled,
  30. AWSCognitoSyncErrorLimitExceeded,
  31. AWSCognitoSyncErrorNotAuthorized,
  32. AWSCognitoSyncErrorResourceConflict,
  33. AWSCognitoSyncErrorResourceNotFound,
  34. AWSCognitoSyncErrorTooManyRequests,
  35. };
  36. typedef NS_ENUM(NSInteger, AWSCognitoSyncBulkPublishStatus) {
  37. AWSCognitoSyncBulkPublishStatusUnknown,
  38. AWSCognitoSyncBulkPublishStatusNotStarted,
  39. AWSCognitoSyncBulkPublishStatusInProgress,
  40. AWSCognitoSyncBulkPublishStatusFailed,
  41. AWSCognitoSyncBulkPublishStatusSucceeded,
  42. };
  43. typedef NS_ENUM(NSInteger, AWSCognitoSyncOperation) {
  44. AWSCognitoSyncOperationUnknown,
  45. AWSCognitoSyncOperationReplace,
  46. AWSCognitoSyncOperationRemove,
  47. };
  48. typedef NS_ENUM(NSInteger, AWSCognitoSyncPlatform) {
  49. AWSCognitoSyncPlatformUnknown,
  50. AWSCognitoSyncPlatformApns,
  51. AWSCognitoSyncPlatformApnsSandbox,
  52. AWSCognitoSyncPlatformGcm,
  53. AWSCognitoSyncPlatformAdm,
  54. };
  55. typedef NS_ENUM(NSInteger, AWSCognitoSyncStreamingStatus) {
  56. AWSCognitoSyncStreamingStatusUnknown,
  57. AWSCognitoSyncStreamingStatusEnabled,
  58. AWSCognitoSyncStreamingStatusDisabled,
  59. };
  60. @class AWSCognitoSyncBulkPublishRequest;
  61. @class AWSCognitoSyncBulkPublishResponse;
  62. @class AWSCognitoSyncCognitoStreams;
  63. @class AWSCognitoSyncDataset;
  64. @class AWSCognitoSyncDeleteDatasetRequest;
  65. @class AWSCognitoSyncDeleteDatasetResponse;
  66. @class AWSCognitoSyncDescribeDatasetRequest;
  67. @class AWSCognitoSyncDescribeDatasetResponse;
  68. @class AWSCognitoSyncDescribeIdentityPoolUsageRequest;
  69. @class AWSCognitoSyncDescribeIdentityPoolUsageResponse;
  70. @class AWSCognitoSyncDescribeIdentityUsageRequest;
  71. @class AWSCognitoSyncDescribeIdentityUsageResponse;
  72. @class AWSCognitoSyncGetBulkPublishDetailsRequest;
  73. @class AWSCognitoSyncGetBulkPublishDetailsResponse;
  74. @class AWSCognitoSyncGetCognitoEventsRequest;
  75. @class AWSCognitoSyncGetCognitoEventsResponse;
  76. @class AWSCognitoSyncGetIdentityPoolConfigurationRequest;
  77. @class AWSCognitoSyncGetIdentityPoolConfigurationResponse;
  78. @class AWSCognitoSyncIdentityPoolUsage;
  79. @class AWSCognitoSyncIdentityUsage;
  80. @class AWSCognitoSyncListDatasetsRequest;
  81. @class AWSCognitoSyncListDatasetsResponse;
  82. @class AWSCognitoSyncListIdentityPoolUsageRequest;
  83. @class AWSCognitoSyncListIdentityPoolUsageResponse;
  84. @class AWSCognitoSyncListRecordsRequest;
  85. @class AWSCognitoSyncListRecordsResponse;
  86. @class AWSCognitoSyncPushSync;
  87. @class AWSCognitoSyncRecord;
  88. @class AWSCognitoSyncRecordPatch;
  89. @class AWSCognitoSyncRegisterDeviceRequest;
  90. @class AWSCognitoSyncRegisterDeviceResponse;
  91. @class AWSCognitoSyncSetCognitoEventsRequest;
  92. @class AWSCognitoSyncSetIdentityPoolConfigurationRequest;
  93. @class AWSCognitoSyncSetIdentityPoolConfigurationResponse;
  94. @class AWSCognitoSyncSubscribeToDatasetRequest;
  95. @class AWSCognitoSyncSubscribeToDatasetResponse;
  96. @class AWSCognitoSyncUnsubscribeFromDatasetRequest;
  97. @class AWSCognitoSyncUnsubscribeFromDatasetResponse;
  98. @class AWSCognitoSyncUpdateRecordsRequest;
  99. @class AWSCognitoSyncUpdateRecordsResponse;
  100. /**
  101. The input for the BulkPublish operation.
  102. Required parameters: [IdentityPoolId]
  103. */
  104. @interface AWSCognitoSyncBulkPublishRequest : AWSRequest
  105. /**
  106. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  107. */
  108. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  109. @end
  110. /**
  111. The output for the BulkPublish operation.
  112. */
  113. @interface AWSCognitoSyncBulkPublishResponse : AWSModel
  114. /**
  115. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  116. */
  117. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  118. @end
  119. /**
  120. Configuration options for configure Cognito streams.
  121. */
  122. @interface AWSCognitoSyncCognitoStreams : AWSModel
  123. /**
  124. The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream.
  125. */
  126. @property (nonatomic, strong) NSString * _Nullable roleArn;
  127. /**
  128. The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool.
  129. */
  130. @property (nonatomic, strong) NSString * _Nullable streamName;
  131. /**
  132. Status of the Cognito streams. Valid values are: <p>ENABLED - Streaming of updates to identity pool is enabled.</p><p>DISABLED - Streaming of updates to identity pool is disabled. Bulk publish will also fail if StreamingStatus is DISABLED.</p>
  133. */
  134. @property (nonatomic, assign) AWSCognitoSyncStreamingStatus streamingStatus;
  135. @end
  136. /**
  137. A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.
  138. */
  139. @interface AWSCognitoSyncDataset : AWSModel
  140. /**
  141. Date on which the dataset was created.
  142. */
  143. @property (nonatomic, strong) NSDate * _Nullable creationDate;
  144. /**
  145. Total size in bytes of the records in this dataset.
  146. */
  147. @property (nonatomic, strong) NSNumber * _Nullable dataStorage;
  148. /**
  149. A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
  150. */
  151. @property (nonatomic, strong) NSString * _Nullable datasetName;
  152. /**
  153. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  154. */
  155. @property (nonatomic, strong) NSString * _Nullable identityId;
  156. /**
  157. The device that made the last change to this dataset.
  158. */
  159. @property (nonatomic, strong) NSString * _Nullable lastModifiedBy;
  160. /**
  161. Date when the dataset was last modified.
  162. */
  163. @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate;
  164. /**
  165. Number of records in this dataset.
  166. */
  167. @property (nonatomic, strong) NSNumber * _Nullable numRecords;
  168. @end
  169. /**
  170. A request to delete the specific dataset.
  171. Required parameters: [IdentityPoolId, IdentityId, DatasetName]
  172. */
  173. @interface AWSCognitoSyncDeleteDatasetRequest : AWSRequest
  174. /**
  175. A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
  176. */
  177. @property (nonatomic, strong) NSString * _Nullable datasetName;
  178. /**
  179. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  180. */
  181. @property (nonatomic, strong) NSString * _Nullable identityId;
  182. /**
  183. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  184. */
  185. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  186. @end
  187. /**
  188. Response to a successful DeleteDataset request.
  189. */
  190. @interface AWSCognitoSyncDeleteDatasetResponse : AWSModel
  191. /**
  192. A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.
  193. */
  194. @property (nonatomic, strong) AWSCognitoSyncDataset * _Nullable dataset;
  195. @end
  196. /**
  197. A request for meta data about a dataset (creation date, number of records, size) by owner and dataset name.
  198. Required parameters: [IdentityPoolId, IdentityId, DatasetName]
  199. */
  200. @interface AWSCognitoSyncDescribeDatasetRequest : AWSRequest
  201. /**
  202. A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
  203. */
  204. @property (nonatomic, strong) NSString * _Nullable datasetName;
  205. /**
  206. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  207. */
  208. @property (nonatomic, strong) NSString * _Nullable identityId;
  209. /**
  210. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  211. */
  212. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  213. @end
  214. /**
  215. Response to a successful DescribeDataset request.
  216. */
  217. @interface AWSCognitoSyncDescribeDatasetResponse : AWSModel
  218. /**
  219. Meta data for a collection of data for an identity. An identity can have multiple datasets. A dataset can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.
  220. */
  221. @property (nonatomic, strong) AWSCognitoSyncDataset * _Nullable dataset;
  222. @end
  223. /**
  224. A request for usage information about the identity pool.
  225. Required parameters: [IdentityPoolId]
  226. */
  227. @interface AWSCognitoSyncDescribeIdentityPoolUsageRequest : AWSRequest
  228. /**
  229. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  230. */
  231. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  232. @end
  233. /**
  234. Response to a successful DescribeIdentityPoolUsage request.
  235. */
  236. @interface AWSCognitoSyncDescribeIdentityPoolUsageResponse : AWSModel
  237. /**
  238. Information about the usage of the identity pool.
  239. */
  240. @property (nonatomic, strong) AWSCognitoSyncIdentityPoolUsage * _Nullable identityPoolUsage;
  241. @end
  242. /**
  243. A request for information about the usage of an identity pool.
  244. Required parameters: [IdentityPoolId, IdentityId]
  245. */
  246. @interface AWSCognitoSyncDescribeIdentityUsageRequest : AWSRequest
  247. /**
  248. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  249. */
  250. @property (nonatomic, strong) NSString * _Nullable identityId;
  251. /**
  252. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  253. */
  254. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  255. @end
  256. /**
  257. The response to a successful DescribeIdentityUsage request.
  258. */
  259. @interface AWSCognitoSyncDescribeIdentityUsageResponse : AWSModel
  260. /**
  261. Usage information for the identity.
  262. */
  263. @property (nonatomic, strong) AWSCognitoSyncIdentityUsage * _Nullable identityUsage;
  264. @end
  265. /**
  266. The input for the GetBulkPublishDetails operation.
  267. Required parameters: [IdentityPoolId]
  268. */
  269. @interface AWSCognitoSyncGetBulkPublishDetailsRequest : AWSRequest
  270. /**
  271. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  272. */
  273. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  274. @end
  275. /**
  276. The output for the GetBulkPublishDetails operation.
  277. */
  278. @interface AWSCognitoSyncGetBulkPublishDetailsResponse : AWSModel
  279. /**
  280. If BulkPublishStatus is SUCCEEDED, the time the last bulk publish operation completed.
  281. */
  282. @property (nonatomic, strong) NSDate * _Nullable bulkPublishCompleteTime;
  283. /**
  284. The date/time at which the last bulk publish was initiated.
  285. */
  286. @property (nonatomic, strong) NSDate * _Nullable bulkPublishStartTime;
  287. /**
  288. Status of the last bulk publish operation, valid values are: <p>NOT_STARTED - No bulk publish has been requested for this identity pool</p><p>IN_PROGRESS - Data is being published to the configured stream</p><p>SUCCEEDED - All data for the identity pool has been published to the configured stream</p><p>FAILED - Some portion of the data has failed to publish, check FailureMessage for the cause.</p>
  289. */
  290. @property (nonatomic, assign) AWSCognitoSyncBulkPublishStatus bulkPublishStatus;
  291. /**
  292. If BulkPublishStatus is FAILED this field will contain the error message that caused the bulk publish to fail.
  293. */
  294. @property (nonatomic, strong) NSString * _Nullable failureMessage;
  295. /**
  296. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  297. */
  298. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  299. @end
  300. /**
  301. <p>A request for a list of the configured Cognito Events</p>
  302. Required parameters: [IdentityPoolId]
  303. */
  304. @interface AWSCognitoSyncGetCognitoEventsRequest : AWSRequest
  305. /**
  306. <p>The Cognito Identity Pool ID for the request</p>
  307. */
  308. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  309. @end
  310. /**
  311. <p>The response from the GetCognitoEvents request</p>
  312. */
  313. @interface AWSCognitoSyncGetCognitoEventsResponse : AWSModel
  314. /**
  315. <p>The Cognito Events returned from the GetCognitoEvents request</p>
  316. */
  317. @property (nonatomic, strong) NSDictionary<NSString *, NSString *> * _Nullable events;
  318. @end
  319. /**
  320. <p>The input for the GetIdentityPoolConfiguration operation.</p>
  321. Required parameters: [IdentityPoolId]
  322. */
  323. @interface AWSCognitoSyncGetIdentityPoolConfigurationRequest : AWSRequest
  324. /**
  325. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration.</p>
  326. */
  327. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  328. @end
  329. /**
  330. <p>The output for the GetIdentityPoolConfiguration operation.</p>
  331. */
  332. @interface AWSCognitoSyncGetIdentityPoolConfigurationResponse : AWSModel
  333. /**
  334. Options to apply to this identity pool for Amazon Cognito streams.
  335. */
  336. @property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams;
  337. /**
  338. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.</p>
  339. */
  340. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  341. /**
  342. <p>Options to apply to this identity pool for push synchronization.</p>
  343. */
  344. @property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync;
  345. @end
  346. /**
  347. Usage information for the identity pool.
  348. */
  349. @interface AWSCognitoSyncIdentityPoolUsage : AWSModel
  350. /**
  351. Data storage information for the identity pool.
  352. */
  353. @property (nonatomic, strong) NSNumber * _Nullable dataStorage;
  354. /**
  355. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  356. */
  357. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  358. /**
  359. Date on which the identity pool was last modified.
  360. */
  361. @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate;
  362. /**
  363. Number of sync sessions for the identity pool.
  364. */
  365. @property (nonatomic, strong) NSNumber * _Nullable syncSessionsCount;
  366. @end
  367. /**
  368. Usage information for the identity.
  369. */
  370. @interface AWSCognitoSyncIdentityUsage : AWSModel
  371. /**
  372. Total data storage for this identity.
  373. */
  374. @property (nonatomic, strong) NSNumber * _Nullable dataStorage;
  375. /**
  376. Number of datasets for the identity.
  377. */
  378. @property (nonatomic, strong) NSNumber * _Nullable datasetCount;
  379. /**
  380. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  381. */
  382. @property (nonatomic, strong) NSString * _Nullable identityId;
  383. /**
  384. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  385. */
  386. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  387. /**
  388. Date on which the identity was last modified.
  389. */
  390. @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate;
  391. @end
  392. /**
  393. Request for a list of datasets for an identity.
  394. Required parameters: [IdentityId, IdentityPoolId]
  395. */
  396. @interface AWSCognitoSyncListDatasetsRequest : AWSRequest
  397. /**
  398. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  399. */
  400. @property (nonatomic, strong) NSString * _Nullable identityId;
  401. /**
  402. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  403. */
  404. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  405. /**
  406. The maximum number of results to be returned.
  407. */
  408. @property (nonatomic, strong) NSNumber * _Nullable maxResults;
  409. /**
  410. A pagination token for obtaining the next page of results.
  411. */
  412. @property (nonatomic, strong) NSString * _Nullable nextToken;
  413. @end
  414. /**
  415. Returned for a successful ListDatasets request.
  416. */
  417. @interface AWSCognitoSyncListDatasetsResponse : AWSModel
  418. /**
  419. Number of datasets returned.
  420. */
  421. @property (nonatomic, strong) NSNumber * _Nullable count;
  422. /**
  423. A set of datasets.
  424. */
  425. @property (nonatomic, strong) NSArray<AWSCognitoSyncDataset *> * _Nullable datasets;
  426. /**
  427. A pagination token for obtaining the next page of results.
  428. */
  429. @property (nonatomic, strong) NSString * _Nullable nextToken;
  430. @end
  431. /**
  432. A request for usage information on an identity pool.
  433. */
  434. @interface AWSCognitoSyncListIdentityPoolUsageRequest : AWSRequest
  435. /**
  436. The maximum number of results to be returned.
  437. */
  438. @property (nonatomic, strong) NSNumber * _Nullable maxResults;
  439. /**
  440. A pagination token for obtaining the next page of results.
  441. */
  442. @property (nonatomic, strong) NSString * _Nullable nextToken;
  443. @end
  444. /**
  445. Returned for a successful ListIdentityPoolUsage request.
  446. */
  447. @interface AWSCognitoSyncListIdentityPoolUsageResponse : AWSModel
  448. /**
  449. Total number of identities for the identity pool.
  450. */
  451. @property (nonatomic, strong) NSNumber * _Nullable count;
  452. /**
  453. Usage information for the identity pools.
  454. */
  455. @property (nonatomic, strong) NSArray<AWSCognitoSyncIdentityPoolUsage *> * _Nullable identityPoolUsages;
  456. /**
  457. The maximum number of results to be returned.
  458. */
  459. @property (nonatomic, strong) NSNumber * _Nullable maxResults;
  460. /**
  461. A pagination token for obtaining the next page of results.
  462. */
  463. @property (nonatomic, strong) NSString * _Nullable nextToken;
  464. @end
  465. /**
  466. A request for a list of records.
  467. Required parameters: [IdentityPoolId, IdentityId, DatasetName]
  468. */
  469. @interface AWSCognitoSyncListRecordsRequest : AWSRequest
  470. /**
  471. A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
  472. */
  473. @property (nonatomic, strong) NSString * _Nullable datasetName;
  474. /**
  475. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  476. */
  477. @property (nonatomic, strong) NSString * _Nullable identityId;
  478. /**
  479. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  480. */
  481. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  482. /**
  483. The last server sync count for this record.
  484. */
  485. @property (nonatomic, strong) NSNumber * _Nullable lastSyncCount;
  486. /**
  487. The maximum number of results to be returned.
  488. */
  489. @property (nonatomic, strong) NSNumber * _Nullable maxResults;
  490. /**
  491. A pagination token for obtaining the next page of results.
  492. */
  493. @property (nonatomic, strong) NSString * _Nullable nextToken;
  494. /**
  495. A token containing a session ID, identity ID, and expiration.
  496. */
  497. @property (nonatomic, strong) NSString * _Nullable syncSessionToken;
  498. @end
  499. /**
  500. Returned for a successful ListRecordsRequest.
  501. */
  502. @interface AWSCognitoSyncListRecordsResponse : AWSModel
  503. /**
  504. Total number of records.
  505. */
  506. @property (nonatomic, strong) NSNumber * _Nullable count;
  507. /**
  508. A boolean value specifying whether to delete the dataset locally.
  509. */
  510. @property (nonatomic, strong) NSNumber * _Nullable datasetDeletedAfterRequestedSyncCount;
  511. /**
  512. Indicates whether the dataset exists.
  513. */
  514. @property (nonatomic, strong) NSNumber * _Nullable datasetExists;
  515. /**
  516. Server sync count for this dataset.
  517. */
  518. @property (nonatomic, strong) NSNumber * _Nullable datasetSyncCount;
  519. /**
  520. The user/device that made the last change to this record.
  521. */
  522. @property (nonatomic, strong) NSString * _Nullable lastModifiedBy;
  523. /**
  524. Names of merged datasets.
  525. */
  526. @property (nonatomic, strong) NSArray<NSString *> * _Nullable mergedDatasetNames;
  527. /**
  528. A pagination token for obtaining the next page of results.
  529. */
  530. @property (nonatomic, strong) NSString * _Nullable nextToken;
  531. /**
  532. A list of all records.
  533. */
  534. @property (nonatomic, strong) NSArray<AWSCognitoSyncRecord *> * _Nullable records;
  535. /**
  536. A token containing a session ID, identity ID, and expiration.
  537. */
  538. @property (nonatomic, strong) NSString * _Nullable syncSessionToken;
  539. @end
  540. /**
  541. <p>Configuration options to be applied to the identity pool.</p>
  542. */
  543. @interface AWSCognitoSyncPushSync : AWSModel
  544. /**
  545. <p>List of SNS platform application ARNs that could be used by clients.</p>
  546. */
  547. @property (nonatomic, strong) NSArray<NSString *> * _Nullable applicationArns;
  548. /**
  549. <p>A role configured to allow Cognito to call SNS on behalf of the developer.</p>
  550. */
  551. @property (nonatomic, strong) NSString * _Nullable roleArn;
  552. @end
  553. /**
  554. The basic data structure of a dataset.
  555. */
  556. @interface AWSCognitoSyncRecord : AWSModel
  557. /**
  558. The last modified date of the client device.
  559. */
  560. @property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate;
  561. /**
  562. The key for the record.
  563. */
  564. @property (nonatomic, strong) NSString * _Nullable key;
  565. /**
  566. The user/device that made the last change to this record.
  567. */
  568. @property (nonatomic, strong) NSString * _Nullable lastModifiedBy;
  569. /**
  570. The date on which the record was last modified.
  571. */
  572. @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate;
  573. /**
  574. The server sync count for this record.
  575. */
  576. @property (nonatomic, strong) NSNumber * _Nullable syncCount;
  577. /**
  578. The value for the record.
  579. */
  580. @property (nonatomic, strong) NSString * _Nullable value;
  581. @end
  582. /**
  583. An update operation for a record.
  584. Required parameters: [Op, Key, SyncCount]
  585. */
  586. @interface AWSCognitoSyncRecordPatch : AWSModel
  587. /**
  588. The last modified date of the client device.
  589. */
  590. @property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate;
  591. /**
  592. The key associated with the record patch.
  593. */
  594. @property (nonatomic, strong) NSString * _Nullable key;
  595. /**
  596. An operation, either replace or remove.
  597. */
  598. @property (nonatomic, assign) AWSCognitoSyncOperation op;
  599. /**
  600. Last known server sync count for this record. Set to 0 if unknown.
  601. */
  602. @property (nonatomic, strong) NSNumber * _Nullable syncCount;
  603. /**
  604. The value associated with the record patch.
  605. */
  606. @property (nonatomic, strong) NSString * _Nullable value;
  607. @end
  608. /**
  609. <p>A request to RegisterDevice.</p>
  610. Required parameters: [IdentityPoolId, IdentityId, Platform, Token]
  611. */
  612. @interface AWSCognitoSyncRegisterDeviceRequest : AWSRequest
  613. /**
  614. <p>The unique ID for this identity.</p>
  615. */
  616. @property (nonatomic, strong) NSString * _Nullable identityId;
  617. /**
  618. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.</p>
  619. */
  620. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  621. /**
  622. <p>The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).</p>
  623. */
  624. @property (nonatomic, assign) AWSCognitoSyncPlatform platform;
  625. /**
  626. <p>The push token.</p>
  627. */
  628. @property (nonatomic, strong) NSString * _Nullable token;
  629. @end
  630. /**
  631. <p>Response to a RegisterDevice request.</p>
  632. */
  633. @interface AWSCognitoSyncRegisterDeviceResponse : AWSModel
  634. /**
  635. <p>The unique ID generated for this device by Cognito.</p>
  636. */
  637. @property (nonatomic, strong) NSString * _Nullable deviceId;
  638. @end
  639. /**
  640. <p>A request to configure Cognito Events"</p>"
  641. Required parameters: [IdentityPoolId, Events]
  642. */
  643. @interface AWSCognitoSyncSetCognitoEventsRequest : AWSRequest
  644. /**
  645. <p>The events to configure</p>
  646. */
  647. @property (nonatomic, strong) NSDictionary<NSString *, NSString *> * _Nullable events;
  648. /**
  649. <p>The Cognito Identity Pool to use when configuring Cognito Events</p>
  650. */
  651. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  652. @end
  653. /**
  654. <p>The input for the SetIdentityPoolConfiguration operation.</p>
  655. Required parameters: [IdentityPoolId]
  656. */
  657. @interface AWSCognitoSyncSetIdentityPoolConfigurationRequest : AWSRequest
  658. /**
  659. Options to apply to this identity pool for Amazon Cognito streams.
  660. */
  661. @property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams;
  662. /**
  663. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify.</p>
  664. */
  665. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  666. /**
  667. <p>Options to apply to this identity pool for push synchronization.</p>
  668. */
  669. @property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync;
  670. @end
  671. /**
  672. <p>The output for the SetIdentityPoolConfiguration operation</p>
  673. */
  674. @interface AWSCognitoSyncSetIdentityPoolConfigurationResponse : AWSModel
  675. /**
  676. Options to apply to this identity pool for Amazon Cognito streams.
  677. */
  678. @property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams;
  679. /**
  680. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.</p>
  681. */
  682. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  683. /**
  684. <p>Options to apply to this identity pool for push synchronization.</p>
  685. */
  686. @property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync;
  687. @end
  688. /**
  689. <p>A request to SubscribeToDatasetRequest.</p>
  690. Required parameters: [IdentityPoolId, IdentityId, DatasetName, DeviceId]
  691. */
  692. @interface AWSCognitoSyncSubscribeToDatasetRequest : AWSRequest
  693. /**
  694. <p>The name of the dataset to subcribe to.</p>
  695. */
  696. @property (nonatomic, strong) NSString * _Nullable datasetName;
  697. /**
  698. <p>The unique ID generated for this device by Cognito.</p>
  699. */
  700. @property (nonatomic, strong) NSString * _Nullable deviceId;
  701. /**
  702. <p>Unique ID for this identity.</p>
  703. */
  704. @property (nonatomic, strong) NSString * _Nullable identityId;
  705. /**
  706. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs.</p>
  707. */
  708. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  709. @end
  710. /**
  711. <p>Response to a SubscribeToDataset request.</p>
  712. */
  713. @interface AWSCognitoSyncSubscribeToDatasetResponse : AWSModel
  714. @end
  715. /**
  716. <p>A request to UnsubscribeFromDataset.</p>
  717. Required parameters: [IdentityPoolId, IdentityId, DatasetName, DeviceId]
  718. */
  719. @interface AWSCognitoSyncUnsubscribeFromDatasetRequest : AWSRequest
  720. /**
  721. <p>The name of the dataset from which to unsubcribe.</p>
  722. */
  723. @property (nonatomic, strong) NSString * _Nullable datasetName;
  724. /**
  725. <p>The unique ID generated for this device by Cognito.</p>
  726. */
  727. @property (nonatomic, strong) NSString * _Nullable deviceId;
  728. /**
  729. <p>Unique ID for this identity.</p>
  730. */
  731. @property (nonatomic, strong) NSString * _Nullable identityId;
  732. /**
  733. <p>A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs.</p>
  734. */
  735. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  736. @end
  737. /**
  738. <p>Response to an UnsubscribeFromDataset request.</p>
  739. */
  740. @interface AWSCognitoSyncUnsubscribeFromDatasetResponse : AWSModel
  741. @end
  742. /**
  743. A request to post updates to records or add and delete records for a dataset and user.
  744. Required parameters: [IdentityPoolId, IdentityId, DatasetName, SyncSessionToken]
  745. */
  746. @interface AWSCognitoSyncUpdateRecordsRequest : AWSRequest
  747. /**
  748. Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented.
  749. */
  750. @property (nonatomic, strong) NSString * _Nullable clientContext;
  751. /**
  752. A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
  753. */
  754. @property (nonatomic, strong) NSString * _Nullable datasetName;
  755. /**
  756. <p>The unique ID generated for this device by Cognito.</p>
  757. */
  758. @property (nonatomic, strong) NSString * _Nullable deviceId;
  759. /**
  760. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  761. */
  762. @property (nonatomic, strong) NSString * _Nullable identityId;
  763. /**
  764. A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
  765. */
  766. @property (nonatomic, strong) NSString * _Nullable identityPoolId;
  767. /**
  768. A list of patch operations.
  769. */
  770. @property (nonatomic, strong) NSArray<AWSCognitoSyncRecordPatch *> * _Nullable recordPatches;
  771. /**
  772. The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity.
  773. */
  774. @property (nonatomic, strong) NSString * _Nullable syncSessionToken;
  775. @end
  776. /**
  777. Returned for a successful UpdateRecordsRequest.
  778. */
  779. @interface AWSCognitoSyncUpdateRecordsResponse : AWSModel
  780. /**
  781. A list of records that have been updated.
  782. */
  783. @property (nonatomic, strong) NSArray<AWSCognitoSyncRecord *> * _Nullable records;
  784. @end
  785. NS_ASSUME_NONNULL_END