diff --git a/.travis.yml b/.travis.yml index 0d6cf5f6..eeeb82f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ script: deploy: - provider: releases api_key: - secure: "PSGGcZiDdGE3zwVkCToHRDpiMBfreJ2DmSmKT5UEWnMdyot9BoCFvT7HH0DkC4sxva52NGGQwtIdaEhFOvYltGnXrLVKgbcFgMUYXe7ZlHEbRgZG087+LmljxqtkkyBtY4fAQ//FCWd1vgVFQqy6yv/1vl768teeQgOO3pXK/GOIT/B2fmuPNTMOxxo3uDAlbv0GSat0p71kaCad1kd8KeVpvmm2O7Kkh+14nkhwyj4grZARKO11lPOEWp/bmv/KwkK35cKmgq8WMgN1wkqcrnVVPThiNxR0h/CB9YH3uO9oRqMyloPyvdeA4ZdnirKgHPVK4wltMgRwraNHcbEC0yBQZxkclF3RSSRXWeZEulE/rAx2H2vHN5JONzT7RZ6FMdBzdqg+XyiTybN+UkTS4EQTvIAMmf2upJZwCAQT7N8v1soNX7AzGpcJPJ5fTHjGdGpgnZkOVEnsMMdIC0k/vkI0ylfg+vqwlMhrY3WhYMCAZTLGhs6ZPsIZMSSxWAsRIC5DyLen9MV8VF+vvQmXEc59EE9jeyzFCXR7i6kTsLPZ4VTpYBIuNhx6EFLXwJZNNBAWSVb06d5mlK8RM/ySErdgIUNTThH5W8b33Zxyd32ocU3wpewbz78/knfY60/pbhSK7jzmeSqkrM3PhFMcfNdedFgr5SuKHuD988T/5eI=" + secure: "fljROD9BJXK1N+l7fkCVH8Qck8DX47rMpvBNJBvpnaf+Vs7X1zp6w2lZtM5sk6zFvP5la0ooCZZWHtYUCxiiY3CCbrk78vSIfOjmgXEf0o+VR2N4eR2YY3BT0W7MRvCscOp7mL9OC2GvHmpBmbRx7N6GwaX8KZG90Sk7SLUtjgRE2B+4xFyEuTcxRNB7WxzzhBVuQ7fgii9YA1xWYjiYITFqsFxY0nZ05zde/sXYZMvjZiI/SgpP8Ps1AgN9bNnLOOHFgq9NFhkX1DnX9/4f0CLmveXUl36SRkD7/5ZnV7I93ZDTaZv6ySuJKP75IhD07snSV26ojAkScEcGw/ug5HWmsDzSx6qfi0P4KbAYmhL0cuYd04fHFVajIPDuy2c3L9ZUsDLX8/yw/u3uq6zj9K9iFimXx3fyjOVxrgLpIV4vypN0XFzHD5FlEIUjv9/9fzRaH98w0LtsIs1Z4nWUGnz0FvU+hyUTytXxtmNJ03Bo1ateYXigwWqYJPeprH80ykWUqLMXKdq02xfNcyPV54ZYWdTjPCEHuS95PaFR4ldJqMBPRJqm+N0Uqq4n98wi64RXmKEyE9Dooasw4q5HL/hnmsCZiweGsvGFLh38JO82v0sd0IMbXTbMueaz/AD0ijW0qZpDn+Y9unkANfe81lDJGl6pl7XIySgMD5jJqiM=" file: "$FRAMEWORK_NAME.framework.zip" skip_cleanup: true on: diff --git a/AWSAppSync.podspec b/AWSAppSync.podspec index 9430adb1..aaa2f07b 100644 --- a/AWSAppSync.podspec +++ b/AWSAppSync.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppSync' - s.version = '3.2.1' + s.version = '3.4.1' s.author = 'AWS' s.homepage = 'http://aws.amazon.com/mobile/sdk' s.license = { :type => 'Amazon Software License', :file => 'LICENSE' } @@ -11,7 +11,7 @@ Pod::Spec.new do |s| s.ios.deployment_target = '9.0' s.swift_version = '5.1' - s.dependency 'AWSCore', '~> 2.24.0' + s.dependency 'AWSCore', '~> 2.26.0' s.dependency 'SQLite.swift', '~> 0.12.2' s.dependency 'ReachabilitySwift', '5.0.0' s.dependency 'AppSyncRealTimeClient', '~> 1.4' diff --git a/AWSAppSyncClient.xcodeproj/project.pbxproj b/AWSAppSyncClient.xcodeproj/project.pbxproj index 54655cb9..cba6da17 100644 --- a/AWSAppSyncClient.xcodeproj/project.pbxproj +++ b/AWSAppSyncClient.xcodeproj/project.pbxproj @@ -121,6 +121,10 @@ 21D5286A2416A2B3005186BA /* IAMAuthInterceptorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21D528692416A2B3005186BA /* IAMAuthInterceptorTests.swift */; }; 3D9BF115227836800079F52F /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D9BF114227836800079F52F /* NetworkReachability.swift */; }; 70C68E4D132FE62623DB8C07 /* Pods_AWSAppSyncTestHostApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C707001F57B091A8A001CAB /* Pods_AWSAppSyncTestHostApp.framework */; }; + 7638897026A9E4D70061AF0B /* LambdaBasedConnectionPool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7638896F26A9E4D70061AF0B /* LambdaBasedConnectionPool.swift */; }; + 763C857726B08D74005164B2 /* AWSAppSyncLambdaAuthTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763C857626B08D74005164B2 /* AWSAppSyncLambdaAuthTests.swift */; }; + 763C857926B1C262005164B2 /* LambdaAuthInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763C857826B1C262005164B2 /* LambdaAuthInterceptor.swift */; }; + 763C857B26B1CB18005164B2 /* LambdaBasedConnectionPoolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763C857A26B1CB18005164B2 /* LambdaBasedConnectionPoolTests.swift */; }; 8032C5415EF414C038394D69 /* Pods_AWSAppSyncTestCommon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74071C397A83DEA980BB2F4C /* Pods_AWSAppSyncTestCommon.framework */; }; 90DE0C49240A304D000E875B /* AWSAppSyncAuthTypeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90DE0C48240A304D000E875B /* AWSAppSyncAuthTypeTests.swift */; }; A70604C0C722923A70C937A1 /* Pods_AWSAppSyncTestApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57F5A94352E1ABE35159489D /* Pods_AWSAppSyncTestApp.framework */; }; @@ -510,6 +514,10 @@ 6878E4A0F7372438C7043A88 /* Pods_AWSAppSync_AWSAppSyncTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AWSAppSync_AWSAppSyncTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74071C397A83DEA980BB2F4C /* Pods_AWSAppSyncTestCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AWSAppSyncTestCommon.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 741880AF213878B400523CA8 /* AuthProviderTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthProviderTests.swift; sourceTree = ""; }; + 7638896F26A9E4D70061AF0B /* LambdaBasedConnectionPool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LambdaBasedConnectionPool.swift; sourceTree = ""; }; + 763C857626B08D74005164B2 /* AWSAppSyncLambdaAuthTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AWSAppSyncLambdaAuthTests.swift; sourceTree = ""; }; + 763C857826B1C262005164B2 /* LambdaAuthInterceptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LambdaAuthInterceptor.swift; sourceTree = ""; }; + 763C857A26B1CB18005164B2 /* LambdaBasedConnectionPoolTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LambdaBasedConnectionPoolTests.swift; sourceTree = ""; }; 82E714A3E9BFB80BD9E5EF90 /* Pods-ApolloTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ApolloTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ApolloTests/Pods-ApolloTests.debug.xcconfig"; sourceTree = ""; }; 8623D545D4837963CF2FFF02 /* Pods-AWSAppSyncUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AWSAppSyncUnitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AWSAppSyncUnitTests/Pods-AWSAppSyncUnitTests.debug.xcconfig"; sourceTree = ""; }; 8C707001F57B091A8A001CAB /* Pods_AWSAppSyncTestHostApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_AWSAppSyncTestHostApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -958,6 +966,7 @@ 2171807B23FDB22B00E520C9 /* SubscriptionConnectionFactory.swift */, 2171808123FDB22B00E520C9 /* UserPoolsBasedConnectionPool.swift */, 21D38B91240C099900EC2A8D /* AppSyncRealTimeClientOIDCAuthProvider.swift */, + 7638896F26A9E4D70061AF0B /* LambdaBasedConnectionPool.swift */, ); path = SubscriptionFactory; sourceTree = ""; @@ -970,6 +979,7 @@ 2171808C23FDB28100E520C9 /* UserPoolsBasedConnectionPoolTests.swift */, 2171808D23FDB28100E520C9 /* OIDCBasedConnectionPoolTests.swift */, 2171808E23FDB28100E520C9 /* IAMBasedConnectionPoolTests.swift */, + 763C857A26B1CB18005164B2 /* LambdaBasedConnectionPoolTests.swift */, ); path = ConnectionPool; sourceTree = ""; @@ -978,6 +988,7 @@ isa = PBXGroup; children = ( 21D5286224169CEE005186BA /* IAMAuthInterceptor.swift */, + 763C857826B1C262005164B2 /* LambdaAuthInterceptor.swift */, ); path = AuthInterceptor; sourceTree = ""; @@ -1106,6 +1117,7 @@ FAFD409121D702EA0063D894 /* Helpers */, FADC6B8822679B00008588FC /* Resources */, 741880AF213878B400523CA8 /* AuthProviderTests.swift */, + 763C857626B08D74005164B2 /* AWSAppSyncLambdaAuthTests.swift */, 17664128214F6732003AE269 /* AWSAppSyncAPIKeyAuthTests.swift */, 174F80AE2109229C00775D0D /* AWSAppSyncCognitoAuthTests.swift */, E48168AD226E8325005A1A41 /* AWSAppSyncMultiAuthClientsTests.swift */, @@ -1967,6 +1979,7 @@ 17E009BB1FCAB234005031DB /* GraphQLDependencyTracker.swift in Sources */, 17E009C71FCAB234005031DB /* JSONSerializationFormat.swift in Sources */, 17E009CD1FCAB234005031DB /* Collections.swift in Sources */, + 763C857926B1C262005164B2 /* LambdaAuthInterceptor.swift in Sources */, 17E009C51FCAB234005031DB /* GraphQLResultAccumulator.swift in Sources */, 178B31071FCDB34100EA4619 /* AWSAppSyncClientS3ObjectsExtensions.swift in Sources */, 17E009CF1FCAB234005031DB /* ResultOrPromise.swift in Sources */, @@ -2003,6 +2016,7 @@ CCEF79DD21DE7EED004AD64D /* AWSAppSyncClientError.swift in Sources */, FA0C12BB21CD308A00B438CB /* AWSAppSyncClientConfiguration.swift in Sources */, 178B31081FCDB34100EA4619 /* AWSAppSyncClientConflictResolutionExtensions.swift in Sources */, + 7638897026A9E4D70061AF0B /* LambdaBasedConnectionPool.swift in Sources */, 1729A0D01FA1365900F88594 /* AWSAppSyncSubscriptionWatcher.swift in Sources */, FA0D82582230D0AF00E0EA82 /* AWSAppSyncSubscriptionError.swift in Sources */, FAAACC2421DD7AC600D24B37 /* InternalS3ObjectDetails.swift in Sources */, @@ -2064,6 +2078,7 @@ 21933B3E24DA629B00F4D741 /* JSONValueSerializationTests.swift in Sources */, E47789592284B3DC008E7D6E /* MockAWSAppSyncServiceConfig.swift in Sources */, FA4F0D9521D6ED9E0099D165 /* AppSyncClientComplexObjectMutationUnitTests.swift in Sources */, + 763C857B26B1CB18005164B2 /* LambdaBasedConnectionPoolTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2073,6 +2088,7 @@ files = ( FADC6B8922679B38008588FC /* MutationQueuePerformanceTests.swift in Sources */, FA902D0E21D97E9600C4052F /* AuthProviderTests.swift in Sources */, + 763C857726B08D74005164B2 /* AWSAppSyncLambdaAuthTests.swift in Sources */, FA902D1021D97EB100C4052F /* AWSAppSyncCognitoAuthTests.swift in Sources */, E414DDB52289BD8A004C37CE /* AWSAppSyncMultiAuthClientsTests.swift in Sources */, FA902D1321D97EC500C4052F /* SubscriptionStressTestHelper.swift in Sources */, diff --git a/AWSAppSyncClient/AWSAppSyncAuthProvider.swift b/AWSAppSyncClient/AWSAppSyncAuthProvider.swift index d7d986e6..d387ac95 100644 --- a/AWSAppSyncClient/AWSAppSyncAuthProvider.swift +++ b/AWSAppSyncClient/AWSAppSyncAuthProvider.swift @@ -3,6 +3,7 @@ // AWSAppSync // +// MARK: AWSOIDCAuthProvider // For using OIDC based authorization, this protocol needs to be implemented and passed to configuration object. // Use this for cases where the OIDC token needs to be fetched asynchronously and requires a callback public protocol AWSOIDCAuthProviderAsync: AWSOIDCAuthProvider { @@ -14,6 +15,13 @@ extension AWSOIDCAuthProviderAsync { public func getLatestAuthToken() -> String { fatalError("Callback method required") } } +// For using OIDC based authorization, this protocol needs to be implemented and passed to configuration object. +public protocol AWSOIDCAuthProvider { + /// The method should fetch the token and return it to the client for using in header request. + func getLatestAuthToken() -> String +} + +// MARK: - AWSCognitoUserPoolsProvider // For using User Pool based authorization, this protocol needs to be implemented and passed to configuration object. // Use this for cases where the UserPool auth token needs to be fetched asynchronously and requires a callback public protocol AWSCognitoUserPoolsAuthProviderAsync: AWSCognitoUserPoolsAuthProvider { @@ -25,17 +33,30 @@ extension AWSCognitoUserPoolsAuthProviderAsync { public func getLatestAuthToken() -> String { fatalError("Callback method required") } } -// For using OIDC based authorization, this protocol needs to be implemented and passed to configuration object. -public protocol AWSOIDCAuthProvider { - /// The method should fetch the token and return it to the client for using in header request. - func getLatestAuthToken() -> String -} - // For using Cognito User Pools based authorization, this protocol needs to be implemented and passed to configuration object. public protocol AWSCognitoUserPoolsAuthProvider: AWSOIDCAuthProvider { } +// MARK: - AWSLambdaAuthProvider +// For using Lambda based authorization, this protocol needs to be implemented and passed to configuration object. +// Use this for cases where the authorization token needs to be fetched asynchronously and requires a callback +public protocol AWSLambdaAuthProviderAsync: AWSLambdaAuthProvider { + func getLatestAuthToken(_ callback: @escaping (String?, Error?) -> Void) +} + +// For AWSLambdaAuthProvider that use a callback, the getLatestAuthToken is defaulted to return an empty string +extension AWSLambdaAuthProviderAsync { + public func getLatestAuthToken() -> String { fatalError("Callback method required") } +} + +// For using AWS Lambda based authorization, this protocol needs to be implemented and passed to configuration object. +public protocol AWSLambdaAuthProvider { + /// The method should fetch the token and return it to the client for using in header request. + func getLatestAuthToken() -> String +} + +// MARK: - AWSAPIKeyAuthProvider // For using API Key based authorization, this protocol needs to be implemented and passed to configuration object. public protocol AWSAPIKeyAuthProvider { func getAPIKey() -> String diff --git a/AWSAppSyncClient/AWSAppSyncAuthType.swift b/AWSAppSyncClient/AWSAppSyncAuthType.swift index a75174d2..5e9c19ec 100644 --- a/AWSAppSyncClient/AWSAppSyncAuthType.swift +++ b/AWSAppSyncClient/AWSAppSyncAuthType.swift @@ -17,6 +17,8 @@ public enum AWSAppSyncAuthType: String, Codable, Hashable { /// User directory based authentication case amazonCognitoUserPools = "AMAZON_COGNITO_USER_POOLS" + + case awsLambda = "AWS_LAMBDA" /// Convenience method to use instead of `AuthType(rawValue:)` public static func getAuthType(rawValue: String) throws -> AWSAppSyncAuthType { diff --git a/AWSAppSyncClient/AWSAppSyncClientConfiguration.swift b/AWSAppSyncClient/AWSAppSyncClientConfiguration.swift index b8e2d8ee..e476fad3 100644 --- a/AWSAppSyncClient/AWSAppSyncClientConfiguration.swift +++ b/AWSAppSyncClient/AWSAppSyncClientConfiguration.swift @@ -109,6 +109,7 @@ public class AWSAppSyncClientConfiguration { /// `credentialsProvider`. /// - `oidcAuthProvider` is specified, and `appSyncClientInfo.authType` is "OPENID_CONNECT" /// - `userPoolsAuthProvider` is specified, and `appSyncClientInfo.authType` is "AMAZON_COGNITO_USER_POOLS" + /// - `awsLambdaAuthProvider` is specified, and `appSyncClientInfo.authType` is "AWS_LAMBDA" /// /// If none of those conditions are met, or if more than provider is specified, the initializer will throw an error. /// @@ -117,6 +118,7 @@ public class AWSAppSyncClientConfiguration { /// - apiKeyAuthProvider: A `AWSAPIKeyAuthProvider` protocol object for API Key based authorization. /// - credentialsProvider: A `AWSCredentialsProvider` object for AWS_IAM based authorization. /// - userPoolsAuthProvider: A `AWSCognitoUserPoolsAuthProvider` protocol object for User Pool based authorization. + /// - awsLambdaAuthProvider: A `AWSLambdaAuthProvider` protocol object for AWS Lambda based authorization. /// - oidcAuthProvider: A `AWSOIDCAuthProvider` protocol object for OIDC based authorization. /// - urlSessionConfiguration: A `URLSessionConfiguration` configuration object for custom HTTP configuration. /// - cacheConfiguration: Configuration for local queries, mutations, and subscriptions caches. @@ -131,6 +133,7 @@ public class AWSAppSyncClientConfiguration { credentialsProvider: AWSCredentialsProvider? = nil, oidcAuthProvider: AWSOIDCAuthProvider? = nil, userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider? = nil, + awsLambdaAuthProvider: AWSLambdaAuthProvider? = nil, urlSessionConfiguration: URLSessionConfiguration = URLSessionConfiguration.default, cacheConfiguration: AWSAppSyncCacheConfiguration? = nil, connectionStateChangeHandler: ConnectionStateChangeHandler? = nil, @@ -150,6 +153,7 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: apiKeyAuthProvider, credentialsProvider: credentialsProvider, userPoolsAuthProvider: userPoolsAuthProvider, + awsLambdaAuthProvider: awsLambdaAuthProvider, oidcAuthProvider: oidcAuthProvider, urlSessionConfiguration: urlSessionConfiguration, cacheConfiguration: cacheConfiguration, @@ -177,6 +181,7 @@ public class AWSAppSyncClientConfiguration { /// - credentialsProvider: A `AWSCredentialsProvider` object for AWS_IAM based authorization /// - oidcAuthProvider: A `AWSOIDCAuthProvider` protocol object for OIDC based authorization /// - userPoolsAuthProvider: A `AWSCognitoUserPoolsAuthProvider` protocol object for User Pool based authorization + /// - awsLambdaAuthProvider: A `AWSLambdaAuthProvider` protocol object for AWS Lambda based authorization. /// - urlSessionConfiguration: A `URLSessionConfiguration` configuration object for custom HTTP configuration /// - cacheConfiguration: Configuration for local queries, mutations, and subscriptions caches. /// - connectionStateChangeHandler: The delegate object to be notified when client network state changes @@ -191,6 +196,7 @@ public class AWSAppSyncClientConfiguration { credentialsProvider: AWSCredentialsProvider? = nil, oidcAuthProvider: AWSOIDCAuthProvider? = nil, userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider? = nil, + awsLambdaAuthProvider: AWSLambdaAuthProvider? = nil, urlSessionConfiguration: URLSessionConfiguration = URLSessionConfiguration.default, cacheConfiguration: AWSAppSyncCacheConfiguration? = nil, connectionStateChangeHandler: ConnectionStateChangeHandler? = nil, @@ -207,6 +213,8 @@ public class AWSAppSyncClientConfiguration { authType = .oidcToken } else if userPoolsAuthProvider != nil { authType = .amazonCognitoUserPools + } else if awsLambdaAuthProvider != nil { + authType = .awsLambda } else { throw AWSAppSyncClientConfigurationError.invalidAuthConfiguration("Invalid auth provider configuration. Exactly one of the supported auth providers must be passed") } @@ -218,6 +226,7 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: apiKeyAuthProvider, credentialsProvider: credentialsProvider, userPoolsAuthProvider: userPoolsAuthProvider, + awsLambdaAuthProvider: awsLambdaAuthProvider, oidcAuthProvider: oidcAuthProvider, urlSessionConfiguration: urlSessionConfiguration, cacheConfiguration: cacheConfiguration, @@ -240,6 +249,7 @@ public class AWSAppSyncClientConfiguration { /// - credentialsProvider: A `AWSCredentialsProvider` object for AWS_IAM based authorization. /// - userPoolsAuthProvider: A `AWSCognitoUserPoolsAuthProvider` protocol object for Cognito User Pools based authorization. /// - oidcAuthProvider: A `AWSOIDCAuthProvider` protocol object for any OpenId Connect based authorization. + /// - awsLambdaAuthProvider: A `AWSLambdaAuthProvider` protocol object for AWS Lambda based authorization. /// - urlSessionConfiguration: A `URLSessionConfiguration` configuration object for custom HTTP configuration. /// - cacheConfiguration: Configuration for local queries, mutations, and subscriptions caches. /// - connectionStateChangeHandler: The delegate object to be notified when client network state changes. @@ -254,6 +264,7 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: AWSAPIKeyAuthProvider?, credentialsProvider: AWSCredentialsProvider?, userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider?, + awsLambdaAuthProvider: AWSLambdaAuthProvider? = nil, oidcAuthProvider: AWSOIDCAuthProvider?, urlSessionConfiguration: URLSessionConfiguration = URLSessionConfiguration.default, cacheConfiguration: AWSAppSyncCacheConfiguration?, @@ -287,6 +298,7 @@ public class AWSAppSyncClientConfiguration { region: serviceRegion, apiKeyProvider: apikeyProvider, cognitoUserPoolProvider: userPoolsAuthProvider, + awsLambdaAuthProvider: awsLambdaAuthProvider, oidcAuthProvider: oidcAuthProvider, iamAuthProvider: credentialsProvider) self.networkTransport = try AWSAppSyncClientConfiguration.getNetworkTransport( @@ -298,6 +310,7 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: apiKeyAuthProvider, credentialsProvider: credentialsProvider, userPoolsAuthProvider: userPoolsAuthProvider, + awsLambdaAuthProvider: awsLambdaAuthProvider, oidcAuthProvider: oidcAuthProvider, retryStrategy: retryStrategy ) @@ -315,24 +328,28 @@ public class AWSAppSyncClientConfiguration { /// - credentialsProvider: Should be `nil` unless `authType` is `.awsIAM` /// - oidcAuthProvider: Should be `nil` unless `authType` is `.oidcToken` /// - userPoolsAuthProvider: Should be `nil` unless `authType` is `.amazonCognitoUserPools` + /// - awsLambdaAuthProvider: Should be `nil` unless `authType` is `.awsLambda` /// - Returns: `true` if the auth providers not required for `authType` are all `nil`, `false` otherwise. private static func unusedAuthProvidersAreNil(for authType: AWSAppSyncAuthType, apiKeyAuthProvider: AWSAPIKeyAuthProvider?, credentialsProvider: AWSCredentialsProvider?, oidcAuthProvider: AWSOIDCAuthProvider?, - userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider?) -> Bool { + userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider?, + awsLambdaAuthProvider: AWSLambdaAuthProvider?) -> Bool { let unneededProviders: [Any?] switch authType { case .apiKey: - unneededProviders = [credentialsProvider, userPoolsAuthProvider, oidcAuthProvider] + unneededProviders = [credentialsProvider, userPoolsAuthProvider, oidcAuthProvider, awsLambdaAuthProvider] case .amazonCognitoUserPools: - unneededProviders = [apiKeyAuthProvider, credentialsProvider, oidcAuthProvider] + unneededProviders = [apiKeyAuthProvider, credentialsProvider, oidcAuthProvider, awsLambdaAuthProvider] case .awsIAM: - unneededProviders = [apiKeyAuthProvider, oidcAuthProvider, userPoolsAuthProvider] + unneededProviders = [apiKeyAuthProvider, oidcAuthProvider, userPoolsAuthProvider, awsLambdaAuthProvider] case .oidcToken: - unneededProviders = [apiKeyAuthProvider, credentialsProvider, userPoolsAuthProvider] + unneededProviders = [apiKeyAuthProvider, credentialsProvider, userPoolsAuthProvider, awsLambdaAuthProvider] + case .awsLambda: + unneededProviders = [apiKeyAuthProvider, credentialsProvider, userPoolsAuthProvider, oidcAuthProvider] } return unneededProviders.allSatisfy { $0 == nil } @@ -361,6 +378,7 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: AWSAPIKeyAuthProvider?, credentialsProvider: AWSCredentialsProvider?, userPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider?, + awsLambdaAuthProvider: AWSLambdaAuthProvider?, oidcAuthProvider: AWSOIDCAuthProvider?, retryStrategy: AWSAppSyncRetryStrategy) throws -> AWSAppSyncHTTPNetworkTransport { @@ -370,7 +388,8 @@ public class AWSAppSyncClientConfiguration { apiKeyAuthProvider: apiKeyAuthProvider, credentialsProvider: credentialsProvider, oidcAuthProvider: oidcAuthProvider, - userPoolsAuthProvider: userPoolsAuthProvider + userPoolsAuthProvider: userPoolsAuthProvider, + awsLambdaAuthProvider: awsLambdaAuthProvider ) guard unusedProvidersAreNil else { @@ -405,6 +424,11 @@ public class AWSAppSyncClientConfiguration { urlSessionConfiguration: urlSessionConfiguration, authProvider: oidcAuthProvider, retryStrategy: retryStrategy) + case .awsLambda: + networkTransport = try makeNetworkTransportForAWSLambda(url: url, + urlSessionConfiguration: urlSessionConfiguration, + authProvider: awsLambdaAuthProvider, + retryStrategy: retryStrategy) } return networkTransport @@ -506,6 +530,30 @@ public class AWSAppSyncClientConfiguration { retryStrategy: retryStrategy) return networkTransport } + + /// Returns an AWSAppSyncHTTPNetworkTransport configured to use the provided auth provider + /// + /// - Parameters: + /// - url: The endpoint URL + /// - urlSessionConfiguration: The URLSessionConfiguration to use for network connections managed by the transport + /// - authProvider: The auth provider to use for authenticating network requests + /// - retryStrategy: The retry strategy specified in client configuration + /// - Returns: The AWSAppSyncHTTPNetworkTransport + /// - Throws: An AWSAppSyncClientConfigurationError if the auth provider is nil + private static func makeNetworkTransportForAWSLambda(url: URL, + urlSessionConfiguration: URLSessionConfiguration, + authProvider: AWSLambdaAuthProvider?, + retryStrategy: AWSAppSyncRetryStrategy) throws -> AWSAppSyncHTTPNetworkTransport { + // No default AWS Lambda provider available + guard let authProvider = authProvider else { + throw AWSAppSyncClientConfigurationError.invalidAuthConfiguration("AWSLambdaAuthProvider cannot be nil.") + } + let networkTransport = AWSAppSyncHTTPNetworkTransport(url: url, + awsLambdaAuthProvider: authProvider, + configuration: urlSessionConfiguration, + retryStrategy: retryStrategy) + return networkTransport + } /// Given at least one non-nil parameter, resolves and returns an AWSAPIKeyAuthProvider to use for creating an /// AWSHTTPNetworkTransport. If `apiKeyAuthProvider` is not nil, returns that object. If it is nil, but `apiKey` is not nil, diff --git a/AWSAppSyncClient/AWSAppSyncHTTPNetworkTransport.swift b/AWSAppSyncClient/AWSAppSyncHTTPNetworkTransport.swift index 88679f87..9a1fe78e 100644 --- a/AWSAppSyncClient/AWSAppSyncHTTPNetworkTransport.swift +++ b/AWSAppSyncClient/AWSAppSyncHTTPNetworkTransport.swift @@ -13,6 +13,7 @@ public class AWSAppSyncHTTPNetworkTransport: AWSNetworkTransport { case apiKey(AWSAPIKeyAuthProvider) case oidcToken(AWSOIDCAuthProvider) case amazonCognitoUserPools(AWSCognitoUserPoolsAuthProvider) + case awsLambda(AWSLambdaAuthProvider) public var appSyncAuthType: AWSAppSyncAuthType { switch self { @@ -24,6 +25,8 @@ public class AWSAppSyncHTTPNetworkTransport: AWSNetworkTransport { return .amazonCognitoUserPools case .oidcToken: return .oidcToken + case .awsLambda: + return .awsLambda } } } @@ -132,6 +135,28 @@ public class AWSAppSyncHTTPNetworkTransport: AWSNetworkTransport { retryStrategy: retryStrategy ) } + + /// Creates a network transport with the specified server URL and session configuration. + /// + /// - Parameters: + /// - url: The URL of a GraphQL server to connect to. + /// - awsLambdaAuthProvider: An implementation of `AWSLambdaAuthProvider` protocol. + /// - configuration: A session configuration used to configure the session. Defaults to `URLSessionConfiguration.default`. + /// - sendOperationIdentifiers: Whether to send operation identifiers rather than full operation text, for use with servers that support query persistence. Defaults to false. + /// - retryStrategy: The retry strategy to be followed by HTTP client + public convenience init(url: URL, + awsLambdaAuthProvider: AWSLambdaAuthProvider, + configuration: URLSessionConfiguration = URLSessionConfiguration.default, + sendOperationIdentifiers: Bool = false, + retryStrategy: AWSAppSyncRetryStrategy = .exponential) { + self.init( + url: url, + urlSession: URLSession(configuration: configuration), + authProvider: .awsLambda(awsLambdaAuthProvider), + sendOperationIdentifiers: sendOperationIdentifiers, + retryStrategy: retryStrategy + ) + } /// Creates a network transport with the specified server URL and session configuration. /// @@ -159,8 +184,8 @@ public class AWSAppSyncHTTPNetworkTransport: AWSNetworkTransport { request.httpMethod = "POST" request.setValue(NSDate().aws_stringValue(AWSDateISO8601DateFormat2), forHTTPHeaderField: "X-Amz-Date") request.setValue("application/json", forHTTPHeaderField: "Content-Type") - request.setValue("aws-sdk-ios/3.2.1 AppSyncClient", forHTTPHeaderField: "User-Agent") request.setValue(UUID().uuidString, forHTTPHeaderField: "x-choco-correlation-id") + request.setValue("aws-sdk-ios/3.4.1 AppSyncClient", forHTTPHeaderField: "User-Agent") addDeviceId(request: &request) } @@ -346,6 +371,23 @@ public class AWSAppSyncHTTPNetworkTransport: AWSNetworkTransport { mutableRequest.setValue(provider.getLatestAuthToken(), forHTTPHeaderField: "authorization") completionHandler(.success(())) } + + case .awsLambda(let provider): + guard let asyncProvider = provider as? AWSLambdaAuthProviderAsync else { + mutableRequest.setValue(provider.getLatestAuthToken(), forHTTPHeaderField: "authorization") + completionHandler(.success(())) + break + } + asyncProvider.getLatestAuthToken { (token, error) in + if let error = error { + completionHandler(.failure(error)) + } else if let token = token { + mutableRequest.setValue(token, forHTTPHeaderField: "authorization") + completionHandler(.success(())) + } else { + fatalError("Invalid data returned in token callback") + } + } } } diff --git a/AWSAppSyncClient/Info.plist b/AWSAppSyncClient/Info.plist index b2541366..606090ca 100644 --- a/AWSAppSyncClient/Info.plist +++ b/AWSAppSyncClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.1 + 3.4.1 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAppSyncClient/Internal/AuthInterceptor/LambdaAuthInterceptor.swift b/AWSAppSyncClient/Internal/AuthInterceptor/LambdaAuthInterceptor.swift new file mode 100644 index 00000000..dc50b3cc --- /dev/null +++ b/AWSAppSyncClient/Internal/AuthInterceptor/LambdaAuthInterceptor.swift @@ -0,0 +1,119 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Foundation +import AppSyncRealTimeClient + +/// AWS Lambda Authorizer interceptor +class LambdaAuthInterceptor: AuthInterceptor { + + let authTokenProvider: AWSLambdaAuthProvider + + init(authTokenProvider: AWSLambdaAuthProvider) { + self.authTokenProvider = authTokenProvider + } + + func interceptMessage(_ message: AppSyncMessage, for endpoint: URL) -> AppSyncMessage { + let host = endpoint.host! + guard case let .success(authToken) = self.retrieveLatestAuthToken() else { + return message + } + + guard case .subscribe = message.messageType else { + return message + } + + let authHeader = TokenAuthHeader(token: authToken, host: host) + var payload = message.payload ?? AppSyncMessage.Payload() + payload.authHeader = authHeader + + let signedMessage = AppSyncMessage( + id: message.id, + payload: payload, + type: message.messageType + ) + return signedMessage + } + + func interceptConnection( + _ request: AppSyncConnectionRequest, + for endpoint: URL + ) -> AppSyncConnectionRequest { + let host = endpoint.host! + + guard case let .success(authToken) = self.retrieveLatestAuthToken() else { + return request + } + + let authHeader = TokenAuthHeader(token: authToken, host: host) + let base64Auth = AppSyncJSONHelper.base64AuthenticationBlob(authHeader) + + let payloadData = SubscriptionConstants.emptyPayload.data(using: .utf8) + let payloadBase64 = payloadData?.base64EncodedString() + + guard var urlComponents = URLComponents(url: request.url, resolvingAgainstBaseURL: false) else { + return request + } + let headerQuery = URLQueryItem(name: RealtimeProviderConstants.header, value: base64Auth) + let payloadQuery = URLQueryItem(name: RealtimeProviderConstants.payload, value: payloadBase64) + urlComponents.queryItems = [headerQuery, payloadQuery] + guard let url = urlComponents.url else { + return request + } + let signedRequest = AppSyncConnectionRequest(url: url) + return signedRequest + } + + private func retrieveLatestAuthToken() -> Swift.Result { + guard let asyncAuthProvider = authTokenProvider as? AWSLambdaAuthProviderAsync else { + return .success(authTokenProvider.getLatestAuthToken()) + } + var authToken: String? + var authTokenError: Error? + let result: Swift.Result + + let semaphore = DispatchSemaphore(value: 0) + + asyncAuthProvider.getLatestAuthToken { (token, error) in + authToken = token + authTokenError = error + semaphore.signal() + } + semaphore.wait() + + if let authTokenError = authTokenError { + result = .failure(authTokenError) + } else if let authToken = authToken { + result = .success(authToken) + } else { + fatalError("Incompatible values for authorization token and error: nil, nil") + } + + return result + } +} + +// MARK: - TokenAuthenticationHeader +/// Authentication header for user pool based auth +private class TokenAuthHeader: AuthenticationHeader { + let authorization: String + + init(token: String, host: String) { + self.authorization = token + super.init(host: host) + } + + private enum CodingKeys: String, CodingKey { + case authorization = "Authorization" + } + + override func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(authorization, forKey: .authorization) + try super.encode(to: encoder) + } +} diff --git a/AWSAppSyncClient/Internal/SubscriptionFactory/ConnectionPool/BasicSubscriptionConnectionFactory.swift b/AWSAppSyncClient/Internal/SubscriptionFactory/ConnectionPool/BasicSubscriptionConnectionFactory.swift index 9a437164..e5b8dbcb 100644 --- a/AWSAppSyncClient/Internal/SubscriptionFactory/ConnectionPool/BasicSubscriptionConnectionFactory.swift +++ b/AWSAppSyncClient/Internal/SubscriptionFactory/ConnectionPool/BasicSubscriptionConnectionFactory.swift @@ -14,6 +14,7 @@ class BasicSubscriptionConnectionFactory: SubscriptionConnectionFactory { var userpoolsBasedPool: UserPoolsBasedConnectionPool? var iamBasedPool: IAMBasedConnectionPool? var oidcBasedPool: OIDCBasedConnectionPool? + var lambdaBasedPool: LambdaBasedConnectionPool? let url: URL let retryStrategy: AWSAppSyncRetryStrategy @@ -25,6 +26,7 @@ class BasicSubscriptionConnectionFactory: SubscriptionConnectionFactory { region: AWSRegionType?, apiKeyProvider: AWSAPIKeyAuthProvider?, cognitoUserPoolProvider: AWSCognitoUserPoolsAuthProvider?, + awsLambdaAuthProvider: AWSLambdaAuthProvider?, oidcAuthProvider: AWSOIDCAuthProvider?, iamAuthProvider: AWSCredentialsProvider?) { @@ -44,6 +46,10 @@ class BasicSubscriptionConnectionFactory: SubscriptionConnectionFactory { if let oidcAuthProvider = oidcAuthProvider { self.oidcBasedPool = OIDCBasedConnectionPool(oidcAuthProvider) } + if let awsLambdaAuthProvider = awsLambdaAuthProvider { + self.lambdaBasedPool = LambdaBasedConnectionPool(awsLambdaAuthProvider) + } + } func connection(connectionType: SubscriptionConnectionType) -> SubscriptionConnection? { @@ -70,6 +76,8 @@ class BasicSubscriptionConnectionFactory: SubscriptionConnectionFactory { return userpoolsBasedPool case .oidcToken: return oidcBasedPool + case .awsLambda: + return lambdaBasedPool } } } diff --git a/AWSAppSyncClient/Internal/SubscriptionFactory/LambdaBasedConnectionPool.swift b/AWSAppSyncClient/Internal/SubscriptionFactory/LambdaBasedConnectionPool.swift new file mode 100644 index 00000000..8239a681 --- /dev/null +++ b/AWSAppSyncClient/Internal/SubscriptionFactory/LambdaBasedConnectionPool.swift @@ -0,0 +1,33 @@ +// +// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Licensed under the Amazon Software License +// http://aws.amazon.com/asl/ +// + +import Foundation +import AppSyncRealTimeClient + +class LambdaBasedConnectionPool: SubscriptionConnectionPool { + + private let tokenProvider: AWSLambdaAuthProvider + var endPointToProvider: [String: ConnectionProvider] + + init(_ tokenProvider: AWSLambdaAuthProvider) { + self.tokenProvider = tokenProvider + self.endPointToProvider = [:] + } + + func connection(for url: URL, connectionType: SubscriptionConnectionType) -> SubscriptionConnection { + if let connectionProvider = endPointToProvider[url.absoluteString] { + return AppSyncSubscriptionConnection(provider: connectionProvider) + } + + let authInterceptor = LambdaAuthInterceptor(authTokenProvider: tokenProvider) + let connectionProvider = ConnectionProviderFactory.createConnectionProvider(for: url, + authInterceptor: authInterceptor, + connectionType: connectionType) + endPointToProvider[url.absoluteString] = connectionProvider + + return AppSyncSubscriptionConnection(provider: connectionProvider) + } +} diff --git a/AWSAppSyncIntegrationTests/AWSAppSyncLambdaAuthTests.swift b/AWSAppSyncIntegrationTests/AWSAppSyncLambdaAuthTests.swift new file mode 100644 index 00000000..1c98a94b --- /dev/null +++ b/AWSAppSyncIntegrationTests/AWSAppSyncLambdaAuthTests.swift @@ -0,0 +1,175 @@ +// +// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Licensed under the Amazon Software License +// http://aws.amazon.com/asl/ +// + +import XCTest +@testable import AWSAppSync +@testable import AWSCore +@testable import AWSAppSyncTestCommon + +class AWSAppSyncLambdaAuthTests: XCTestCase { + + var appSyncClient: AWSAppSyncClient? + + /// Use this as our timeout value for any operation that hits the network. Note that this may need to be higher + /// than you think, to account for CI systems running in shared environments + private static let networkOperationTimeout = 180.0 + + private static let mutationQueue = DispatchQueue(label: "com.amazonaws.appsync.AWSAppSyncLambdaAuthTests.mutationQueue") + private static let subscriptionAndFetchQueue = DispatchQueue(label: "com.amazonaws.appsync.AWSAppSyncLambdaAuthTests.subscriptionAndFetchQueue") + + + override func setUp() { + super.setUp() + let authType = AppSyncClientTestHelper.AuthenticationType.lambda + do { + appSyncClient = try AWSAppSyncLambdaAuthTests.makeAppSyncClient(authType: authType) + } catch { + XCTFail(error.localizedDescription) + } + } + + func testMutation() { + let postCreated = expectation(description: "Post created successfully.") + let addPost = DefaultTestPostData.defaultCreatePostWithoutFileUsingParametersMutation + + appSyncClient?.perform(mutation: addPost, queue: AWSAppSyncLambdaAuthTests.mutationQueue, resultHandler: { result, error in + XCTAssertNil(error) + XCTAssertNotNil(result?.data?.createPostWithoutFileUsingParameters?.id) + XCTAssertEqual( + result!.data!.createPostWithoutFileUsingParameters?.author, + DefaultTestPostData.author + ) + print("Created post \(result?.data?.createPostWithoutFileUsingParameters?.id ?? "(ID unexpectedly nil)")") + postCreated.fulfill() + }) + + wait(for: [postCreated], timeout: AWSAppSyncLambdaAuthTests.networkOperationTimeout) + } + + func testQuery() { + let postCreated = expectation(description: "Post created successfully.") + let addPost = DefaultTestPostData.defaultCreatePostWithoutFileUsingParametersMutation + + appSyncClient?.perform(mutation: addPost, queue: AWSAppSyncLambdaAuthTests.mutationQueue, resultHandler: { result, error in + XCTAssertNil(error) + XCTAssertNotNil(result?.data?.createPostWithoutFileUsingParameters?.id) + XCTAssertEqual( + result!.data!.createPostWithoutFileUsingParameters?.author, + DefaultTestPostData.author + ) + postCreated.fulfill() + }) + + wait(for: [postCreated], timeout: AWSAppSyncLambdaAuthTests.networkOperationTimeout) + + let query = ListPostsQuery() + + let listPostsCompleted = expectation(description: "Query done successfully.") + + appSyncClient?.fetch(query: query, cachePolicy: .fetchIgnoringCacheData, queue: AWSAppSyncLambdaAuthTests.subscriptionAndFetchQueue) { result, error in + XCTAssertNil(error) + XCTAssertNotNil(result?.data?.listPosts) + XCTAssertGreaterThan(result!.data!.listPosts!.count, 0, "Expected service to return at least 1 post.") + listPostsCompleted.fulfill() + } + + wait(for: [listPostsCompleted], timeout: AWSAppSyncLambdaAuthTests.networkOperationTimeout) + } + + func testSubscriptionWithAsyncAuthProvider() throws { + let authType = AppSyncClientTestHelper.AuthenticationType.asyncLambda + let appSyncClient = try AWSAppSyncLambdaAuthTests.makeAppSyncClient(authType: authType) + try testSubscription(withClient: appSyncClient) + } + + func testSubscriptionWithSyncAuthProvider() throws { + let authType = AppSyncClientTestHelper.AuthenticationType.lambda + let appSyncClient = try AWSAppSyncLambdaAuthTests.makeAppSyncClient(authType: authType) + try testSubscription(withClient: appSyncClient) + } + + + // MARK: - Utilities + + func testSubscription(withClient client: AWSAppSyncClient?) throws { + let postCreated = expectation(description: "Post created successfully.") + let addPost = DefaultTestPostData.defaultCreatePostWithoutFileUsingParametersMutation + + var idHolder: GraphQLID? + client?.perform(mutation: addPost, queue: Self.subscriptionAndFetchQueue) { result, error in + print("CreatePost result handler invoked") + XCTAssertNil(error) + XCTAssertNotNil(result?.data?.createPostWithoutFileUsingParameters?.id) + XCTAssertEqual(result!.data!.createPostWithoutFileUsingParameters?.author, DefaultTestPostData.author) + idHolder = result?.data?.createPostWithoutFileUsingParameters?.id + postCreated.fulfill() + } + wait(for: [postCreated], timeout: Self.networkOperationTimeout) + + guard let id = idHolder else { + XCTFail("Expected ID from addPost mutation") + return + } + + // This handler will be invoked if an error occurs during the setup, or if we receive a successful mutation response. + let subscriptionResultHandlerInvoked = expectation(description: "Subscription received successfully.") + let subscriptionIsActive = expectation(description: "Upvote subscription should be connected") + + let statusChangeHandler: SubscriptionStatusChangeHandler = { status in + if case .connected = status { + subscriptionIsActive.fulfill() + } + } + + let subscription = try client?.subscribe(subscription: OnUpvotePostSubscription(id: id), + queue: Self.subscriptionAndFetchQueue, + statusChangeHandler: statusChangeHandler) { result, _, error in + print("Subscription result handler invoked") + guard error == nil else { + XCTAssertNil(error) + return + } + + guard result != nil else { + XCTFail("Result was unexpectedly nil") + return + } + subscriptionResultHandlerInvoked.fulfill() + } + XCTAssertNotNil(subscription, "Subscription expected to be non nil.") + + defer { + subscription?.cancel() + } + + wait(for: [subscriptionIsActive], timeout: Self.networkOperationTimeout) + + let upvotePerformed = expectation(description: "Upvote mutation performed") + let upvoteMutation = UpvotePostMutation(id: id) + client?.perform(mutation: upvoteMutation, queue: Self.mutationQueue) { + result, error in + print("Received upvote mutation response.") + XCTAssertNil(error) + XCTAssertNotNil(result?.data?.upvotePost?.id) + upvotePerformed.fulfill() + } + + wait(for: [upvotePerformed, subscriptionResultHandlerInvoked], timeout: Self.networkOperationTimeout) + } + + static func makeAppSyncClient(authType: AppSyncClientTestHelper.AuthenticationType, + cacheConfiguration: AWSAppSyncCacheConfiguration? = nil) throws -> DeinitNotifiableAppSyncClient { + + let testBundle = Bundle(for: AWSAppSyncLambdaAuthTests.self) + let helper = try AppSyncClientTestHelper( + with: authType, + cacheConfiguration: cacheConfiguration, + testBundle: testBundle + ) + return helper.appSyncClient + } +} + diff --git a/AWSAppSyncIntegrationTests/ConsoleResources/appsync-lambda-authorizer.js b/AWSAppSyncIntegrationTests/ConsoleResources/appsync-lambda-authorizer.js new file mode 100644 index 00000000..ce2f2353 --- /dev/null +++ b/AWSAppSyncIntegrationTests/ConsoleResources/appsync-lambda-authorizer.js @@ -0,0 +1,13 @@ +exports.handler = async (event) => { + console.log(`auth event >`, JSON.stringify(event, null, 2)) + const { + authorizationToken, + requestContext: { apiId, accountId }, + } = event + const response = { + isAuthorized: authorizationToken === 'custom-lambda-token', + ttlOverride: 10, + } + console.log(`response >`, JSON.stringify(response, null, 2)) + return response +}; diff --git a/AWSAppSyncTestCommon/AppSyncClientTestConfiguration.swift b/AWSAppSyncTestCommon/AppSyncClientTestConfiguration.swift index 5f59cd22..9947a096 100644 --- a/AWSAppSyncTestCommon/AppSyncClientTestConfiguration.swift +++ b/AWSAppSyncTestCommon/AppSyncClientTestConfiguration.swift @@ -13,6 +13,9 @@ struct AppSyncClientTestConfiguration { static let apiKey = "AppSyncAPIKey" static let apiKeyEndpointURL = "AppSyncEndpointAPIKey" static let apiKeyEndpointRegion = "AppSyncEndpointAPIKeyRegion" + + static let lambdaEndpointURL = "AppSyncEndpointAPIKeyLambda" + static let lambdaEndpointRegion = "AppSyncEndpointAPIKeyLambdaRegion" static let cognitoPoolId = "CognitoIdentityPoolId" static let cognitoPoolRegion = "CognitoIdentityPoolRegion" @@ -37,12 +40,17 @@ struct AppSyncClientTestConfiguration { bucketName: "FOR_UNIT_TESTING", bucketRegion: .USEast1, clientDatabasePrefix: "", - apiKeyForCognitoPoolEndpoint: "FOR_UNIT_TESTING") + apiKeyForCognitoPoolEndpoint: "FOR_UNIT_TESTING", + lambdaEndpointURL: URL(string: "http://www.amazon.com/for_unit_testing")!, + lambdaEndpointRegion: .USEast1) }() let apiKey: String let apiKeyEndpointURL: URL let apiKeyEndpointRegion: AWSRegionType + + let lambdaEndpointURL: URL + let lambdaEndpointRegion: AWSRegionType let cognitoPoolId: String let cognitoPoolRegion: AWSRegionType @@ -74,7 +82,9 @@ struct AppSyncClientTestConfiguration { bucketName: AppSyncClientTestConfigurationDefaults.bucketName, bucketRegion: AppSyncClientTestConfigurationDefaults.bucketRegion, clientDatabasePrefix: "", - apiKeyForCognitoPoolEndpoint: AppSyncClientTestConfigurationDefaults.apiKeyForCognitoPoolEndpoint) + apiKeyForCognitoPoolEndpoint: AppSyncClientTestConfigurationDefaults.apiKeyForCognitoPoolEndpoint, + lambdaEndpointURL: AppSyncClientTestConfigurationDefaults.lambdaEndpointURL, + lambdaEndpointRegion: AppSyncClientTestConfigurationDefaults.lambdaEndpointRegion) } init?(with bundle: Bundle) { @@ -146,6 +156,18 @@ struct AppSyncClientTestConfiguration { } self.bucketRegion = bucketRegionString.aws_regionTypeValue() self.clientDatabasePrefix = "" + + guard let lambdaEndpointRegionString = jsonObject[JSONKeys.lambdaEndpointRegion] as? String else { + return nil + } + self.lambdaEndpointRegion = lambdaEndpointRegionString.aws_regionTypeValue() + + guard let lambdaEndpointString = jsonObject[JSONKeys.lambdaEndpointURL] as? String, + let lambdaEndpoint = URL(string: lambdaEndpointString) else { + return nil + } + self.lambdaEndpointURL = lambdaEndpoint + } private init(apiKey: String, @@ -158,7 +180,9 @@ struct AppSyncClientTestConfiguration { bucketName: String, bucketRegion: AWSRegionType, clientDatabasePrefix: String?, - apiKeyForCognitoPoolEndpoint: String) { + apiKeyForCognitoPoolEndpoint: String, + lambdaEndpointURL: URL, + lambdaEndpointRegion: AWSRegionType) { self.apiKey = apiKey self.apiKeyEndpointURL = apiKeyEndpointURL self.apiKeyEndpointRegion = apiKeyEndpointRegion @@ -170,6 +194,8 @@ struct AppSyncClientTestConfiguration { self.bucketRegion = bucketRegion self.clientDatabasePrefix = clientDatabasePrefix ?? "" self.apiKeyForCognitoPoolEndpoint = apiKeyForCognitoPoolEndpoint + self.lambdaEndpointRegion = lambdaEndpointRegion + self.lambdaEndpointURL = lambdaEndpointURL } } diff --git a/AWSAppSyncTestCommon/AppSyncClientTestConfigurationDefaults.swift b/AWSAppSyncTestCommon/AppSyncClientTestConfigurationDefaults.swift index dce2db35..95495923 100644 --- a/AWSAppSyncTestCommon/AppSyncClientTestConfigurationDefaults.swift +++ b/AWSAppSyncTestCommon/AppSyncClientTestConfigurationDefaults.swift @@ -49,4 +49,10 @@ struct AppSyncClientTestConfigurationDefaults { // Equivalent to the JSON key "BucketRegion" static let bucketRegion = AWSRegionType.USEast1 + + // Equivalent to the JSON key "AppSyncEndpoint" + static let lambdaEndpointURL = URL(string: "https://localhost")! + + // Equivalent to the JSON key "AppSyncRegion" + static let lambdaEndpointRegion = AWSRegionType.USEast1 } diff --git a/AWSAppSyncTestCommon/AppSyncClientTestHelper.swift b/AWSAppSyncTestCommon/AppSyncClientTestHelper.swift index 1e92f751..1e103c08 100644 --- a/AWSAppSyncTestCommon/AppSyncClientTestHelper.swift +++ b/AWSAppSyncTestCommon/AppSyncClientTestHelper.swift @@ -48,6 +48,10 @@ public class AppSyncClientTestHelper: NSObject { case invalidAPIKey case invalidOIDC case invalidStaticCredentials + /// Sync Lambda auth provider + case lambda + /// Async Lambda auth provider + case asyncLambda /// Delay set at 120 seconds case delayedInvalidOIDC } @@ -232,6 +236,22 @@ public class AppSyncClientTestHelper: NSObject { s3ObjectManager: s3ObjectManager ) + case .lambda: + appSyncConfig = try AWSAppSyncClientConfiguration( + url: testConfiguration.lambdaEndpointURL, + serviceRegion: testConfiguration.lambdaEndpointRegion, + awsLambdaAuthProvider: MockLambdaAuthProvider(), + cacheConfiguration: cacheConfiguration, + s3ObjectManager: s3ObjectManager + ) + case .asyncLambda: + appSyncConfig = try AWSAppSyncClientConfiguration( + url: testConfiguration.lambdaEndpointURL, + serviceRegion: testConfiguration.lambdaEndpointRegion, + awsLambdaAuthProvider: MockLambdaAuthAsyncProvider(), + cacheConfiguration: cacheConfiguration, + s3ObjectManager: s3ObjectManager + ) } return appSyncConfig diff --git a/AWSAppSyncTestCommon/MockAuthProviders.swift b/AWSAppSyncTestCommon/MockAuthProviders.swift index 10067841..f2d17673 100644 --- a/AWSAppSyncTestCommon/MockAuthProviders.swift +++ b/AWSAppSyncTestCommon/MockAuthProviders.swift @@ -82,3 +82,28 @@ struct MockAWSCognitoUserPoolsAuthProvider: AWSCognitoUserPoolsAuthProvider { return token } } + + +struct MockLambdaAuthProvider: AWSLambdaAuthProvider { + var token: String + + init(with token: String = "custom-lambda-token") { + self.token = token + } + + func getLatestAuthToken() -> String { + return token + } +} + +struct MockLambdaAuthAsyncProvider: AWSLambdaAuthProviderAsync { + var token: String + + init(with token: String = "custom-lambda-token") { + self.token = token + } + + func getLatestAuthToken(_ callback: @escaping (String?, Error?) -> Void) { + callback(token, nil) + } +} diff --git a/AWSAppSyncUnitTests/AWSAppSyncAuthTypeTests.swift b/AWSAppSyncUnitTests/AWSAppSyncAuthTypeTests.swift index b66837e9..78bee83a 100644 --- a/AWSAppSyncUnitTests/AWSAppSyncAuthTypeTests.swift +++ b/AWSAppSyncUnitTests/AWSAppSyncAuthTypeTests.swift @@ -60,6 +60,10 @@ class AWSAppSyncAuthTypeTests: XCTestCase { try performSuccessDecodableTest(inputString: "AMAZON_COGNITO_USER_POOLS", expectedOutput: .amazonCognitoUserPools) } + func test_SuccessfulDecodable_AWSLambda() throws { + try performSuccessDecodableTest(inputString: "AWS_LAMBDA", expectedOutput: .awsLambda) + } + func test_FailureDecodable_BadData() throws { let inputData = try JSONSerialization.data(withJSONObject: "INVALID_DATA", options: .fragmentsAllowed) XCTAssertThrowsError(try JSONDecoder().decode(AWSAppSyncAuthType.self, from: inputData)) @@ -83,6 +87,10 @@ class AWSAppSyncAuthTypeTests: XCTestCase { try performSuccessEncodableTest(inputType: .amazonCognitoUserPools, expectedString: "AMAZON_COGNITO_USER_POOLS") } + func test_SuccessfulEncodable_AWSLambda() throws { + try performSuccessEncodableTest(inputType: .awsLambda, expectedString: "AWS_LAMBDA") + } + // MARK: - Tests: Hashable func test_Hashable_AwsIAM() { @@ -109,6 +117,14 @@ class AWSAppSyncAuthTypeTests: XCTestCase { XCTAssertNotEqual(oidcToken.hashValue, AWSAppSyncAuthType.amazonCognitoUserPools.hashValue) } + func test_Hashable_AWSLambdaToken() { + let lambdaToken = AWSAppSyncAuthType.awsLambda + XCTAssertEqual(lambdaToken.hashValue, AWSAppSyncAuthType.awsLambda.hashValue) + XCTAssertNotEqual(lambdaToken.hashValue, AWSAppSyncAuthType.awsIAM.hashValue) + XCTAssertNotEqual(lambdaToken.hashValue, AWSAppSyncAuthType.apiKey.hashValue) + XCTAssertNotEqual(lambdaToken.hashValue, AWSAppSyncAuthType.amazonCognitoUserPools.hashValue) + } + func test_Hashable_AmazonCognitoUserPools() { let amazonCognitoUserPools = AWSAppSyncAuthType.amazonCognitoUserPools XCTAssertEqual(amazonCognitoUserPools.hashValue, AWSAppSyncAuthType.amazonCognitoUserPools.hashValue) diff --git a/AWSAppSyncUnitTests/AWSAppSyncClientConfigurationTests.swift b/AWSAppSyncUnitTests/AWSAppSyncClientConfigurationTests.swift index fa24f740..1336388a 100644 --- a/AWSAppSyncUnitTests/AWSAppSyncClientConfigurationTests.swift +++ b/AWSAppSyncUnitTests/AWSAppSyncClientConfigurationTests.swift @@ -355,6 +355,27 @@ class AWSAppSyncClientConfigurationTests: XCTestCase { XCTAssert(clientInfoError.localizedDescription.starts(with: "Invalid Auth Configuration"), "Expected error to begin with 'Invalid Auth Configuration', but got '\(clientInfoError.localizedDescription)'") } } + + func testInitializer_MultipleProviders_AWSLambda() { + let serviceConfig = MockAWSAppSyncServiceConfig( + endpoint: URL(string: "http://www.amazon.com/for_unit_testing")!, + region: .USEast1, + authType: .awsLambda + ) + + do { + let _ = try AWSAppSyncClientConfiguration(appSyncServiceConfig: serviceConfig, + apiKeyAuthProvider: MockAWSAPIKeyAuthProvider(), + awsLambdaAuthProvider: MockLambdaAuthProvider()) + XCTFail("Expected validation to fail with multiple auth providers") + } catch { + guard let clientInfoError = error as? AWSAppSyncClientConfigurationError else { + XCTFail("Expected validation to throw AWSAppSyncClientInfoError if specifying multiple providers, but got \(type(of: error))") + return + } + XCTAssert(clientInfoError.localizedDescription.starts(with: "Invalid Auth Configuration"), "Expected error to begin with 'Invalid Auth Configuration', but got '\(clientInfoError.localizedDescription)'") + } + } // MARK: - Test other derived properties diff --git a/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/LambdaBasedConnectionPoolTests.swift b/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/LambdaBasedConnectionPoolTests.swift new file mode 100644 index 00000000..083898f3 --- /dev/null +++ b/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/LambdaBasedConnectionPoolTests.swift @@ -0,0 +1,76 @@ +// +// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Licensed under the Amazon Software License +// http://aws.amazon.com/asl/ +// + +import XCTest +@testable import AWSAppSync +@testable import AWSAppSyncTestCommon + +class LambdaBasedConnectionPoolTests: XCTestCase { + + var connectionPool: LambdaBasedConnectionPool! + + let url = URL(string: "http://appsyncendpoint.com/graphql")! + let url2 = URL(string: "http://appsyncendpoint-2.com/graphql")! + + override func setUp() { + connectionPool = LambdaBasedConnectionPool(MockLambdaAuthProvider()) + } + + /// Test retrieve connection + /// + /// - Given: A connection pool + /// - When: + /// - I call connection(for:connectionType:) + /// - Then: + /// - I should get a non-nil connection + /// + func testRetrieveConnection() { + let connection = connectionPool.connection(for: url, connectionType: .appSyncRealtime) + XCTAssertNotNil(connection) + } + + /// Test retrieving multiple connection using the same url + /// + /// - Given: A connection pool + /// - When: + /// - I try to retrieve multiple connection with same url + /// - Then: + /// - I should get non-nil connections for each request. And the internal count of provider should be 1. + /// + func testRetreiveMultipleConnectionSameUrl() { + let connection1 = connectionPool.connection(for: url, connectionType: .appSyncRealtime) + XCTAssertNotNil(connection1) + XCTAssertEqual(connectionPool.endPointToProvider.count, 1, "Only one connection provider should be created") + let provider1 = connectionPool.endPointToProvider[url.absoluteString] + + let connection2 = connectionPool.connection(for: url, connectionType: .appSyncRealtime) + XCTAssertNotNil(connection2) + XCTAssertEqual(connectionPool.endPointToProvider.count, 1, "Only one connection provider should be created") + let provider2 = connectionPool.endPointToProvider[url.absoluteString] + XCTAssertTrue(provider1 === provider2, "Internal connection provider should be same") + } + + /// Test retrieving multiple connection using the different url + /// + /// - Given: A connection pool + /// - When: + /// - I try to retrieve multiple connection with 2 different urls + /// - Then: + /// - I should get non-nil connections for each request. And the internal count of provider should be 2. + /// + func testRetreiveMultipleConnectionDifferentUrl() { + let connection1 = connectionPool.connection(for: url, connectionType: .appSyncRealtime) + XCTAssertNotNil(connection1) + XCTAssertEqual(connectionPool.endPointToProvider.count, 1, "Only one connection provider should be created") + let provider1 = connectionPool.endPointToProvider[url.absoluteString] + + let connection2 = connectionPool.connection(for: url2, connectionType: .appSyncRealtime) + XCTAssertNotNil(connection2) + XCTAssertEqual(connectionPool.endPointToProvider.count, 2, "Second connection provider should be created") + let provider2 = connectionPool.endPointToProvider[url2.absoluteString] + XCTAssertFalse(provider1 === provider2, "Internal connection provider should not be same") + } +} diff --git a/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/SubscriptionConnectionFactoryTests.swift b/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/SubscriptionConnectionFactoryTests.swift index 82ca09fb..9371f1f7 100644 --- a/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/SubscriptionConnectionFactoryTests.swift +++ b/AWSAppSyncUnitTests/Subscription/Connection/ConnectionPool/SubscriptionConnectionFactoryTests.swift @@ -20,6 +20,7 @@ class SubscriptionConnectionFactoryTests: XCTestCase { region: .USWest2, apiKeyProvider: MockAPIKeyAuthProvider(), cognitoUserPoolProvider: MockUserPoolsAuthProvider(), + awsLambdaAuthProvider: MockLambdaAuthProvider(), oidcAuthProvider: MockUserPoolsAuthProvider(), iamAuthProvider: MockIAMAuthProvider()) } diff --git a/ApolloTests/ReadWriteFromStoreTests.swift b/ApolloTests/ReadWriteFromStoreTests.swift index 71d63660..065d0c2e 100644 --- a/ApolloTests/ReadWriteFromStoreTests.swift +++ b/ApolloTests/ReadWriteFromStoreTests.swift @@ -15,7 +15,7 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroNameQuery() - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in let data = try transaction.read(query: query) XCTAssertEqual(data.hero?.__typename, "Droid") @@ -35,7 +35,7 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroNameQuery(episode: .jedi) - try await(store.withinReadWriteTransaction { transaction in + try awaitWith(store.withinReadWriteTransaction { transaction in try? transaction.update(query: query, { (data) in data.hero!.name = "asd" }) @@ -60,7 +60,7 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroNameQuery() - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in XCTAssertThrowsError(try transaction.read(query: query)) { error in if case let error as GraphQLResultError = error { XCTAssertEqual(error.path, ["hero", "name"]) @@ -85,7 +85,7 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroNameQuery(episode: .jedi) - try await(store.withinReadWriteTransaction { transaction in + try awaitWith(store.withinReadWriteTransaction { transaction in try transaction.update(query: query) { (data) in data.hero?.name = "Artoo" @@ -93,7 +93,7 @@ class ReadWriteFromStoreTests: XCTestCase { } }) - let result = try await(store.load(query: query)) + let result = try awaitWith(store.load(query: query)) guard let data = result.data else { XCTFail(); return } @@ -124,7 +124,7 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroAndFriendsNamesQuery() - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in let data = try transaction.read(query: query) XCTAssertEqual(data.hero?.name, "R2-D2") @@ -156,13 +156,13 @@ class ReadWriteFromStoreTests: XCTestCase { let query = HeroAndFriendsNamesQuery() - try await(store.withinReadWriteTransaction { transaction in + try awaitWith(store.withinReadWriteTransaction { transaction in try transaction.update(query: query) { (data: inout HeroAndFriendsNamesQuery.Data) in data.hero?.friends?.append(.makeDroid(name: "C-3PO")) } }) - let result = try await(store.load(query: query)) + let result = try awaitWith(store.load(query: query)) guard let data = result.data else { XCTFail(); return } XCTAssertEqual(data.hero?.name, "R2-D2") @@ -179,7 +179,7 @@ class ReadWriteFromStoreTests: XCTestCase { try withCache(initialRecords: initialRecords) { (cache) in let store = ApolloStore(cache: cache) - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in let r2d2 = try transaction.readObject(ofType: HeroDetails.self, withKey: "2001") XCTAssertEqual(r2d2.name, "R2-D2") @@ -196,7 +196,7 @@ class ReadWriteFromStoreTests: XCTestCase { try withCache(initialRecords: initialRecords) { (cache) in let store = ApolloStore(cache: cache) - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in XCTAssertNoThrow(try transaction.readObject(ofType: HeroDetails.self, withKey: "2001")) }) } @@ -222,7 +222,7 @@ class ReadWriteFromStoreTests: XCTestCase { try withCache(initialRecords: initialRecords) { (cache) in let store = ApolloStore(cache: cache) - try await(store.withinReadTransaction { transaction in + try awaitWith(store.withinReadTransaction { transaction in let friendsNamesFragment = try transaction.readObject(ofType: FriendsNames.self, withKey: "2001") let friendsNames = friendsNamesFragment.friends?.compactMap { $0?.name } @@ -251,13 +251,13 @@ class ReadWriteFromStoreTests: XCTestCase { try withCache(initialRecords: initialRecords) { (cache) in let store = ApolloStore(cache: cache) - try await(store.withinReadWriteTransaction { transaction in + try awaitWith(store.withinReadWriteTransaction { transaction in try transaction.updateObject(ofType: FriendsNames.self, withKey: "2001") { (friendsNames: inout FriendsNames) in friendsNames.friends?.append(.makeDroid(name: "C-3PO")) } }) - let result = try await(store.load(query: HeroAndFriendsNamesQuery())) + let result = try awaitWith(store.load(query: HeroAndFriendsNamesQuery())) guard let data = result.data else { XCTFail(); return } XCTAssertEqual(data.hero?.name, "R2-D2") diff --git a/ApolloTests/WatchQueryTests.swift b/ApolloTests/WatchQueryTests.swift index 366bdd17..5736496e 100644 --- a/ApolloTests/WatchQueryTests.swift +++ b/ApolloTests/WatchQueryTests.swift @@ -296,7 +296,7 @@ class WatchQueryTests: XCTestCase { waitForExpectations(timeout: 5, handler: nil) let nameQuery = HeroNameQuery() - try await(store.withinReadWriteTransaction { transaction in + try awaitWith(store.withinReadWriteTransaction { transaction in try transaction.update(query: nameQuery) { (data: inout HeroNameQuery.Data) in data.hero?.name = "Artoo" } diff --git a/ApolloTests/XCTestCase+Promise.swift b/ApolloTests/XCTestCase+Promise.swift index a1d3d03b..2e813ac5 100644 --- a/ApolloTests/XCTestCase+Promise.swift +++ b/ApolloTests/XCTestCase+Promise.swift @@ -2,7 +2,7 @@ import XCTest @testable import AWSAppSync extension XCTestCase { - public func await(_ promise: Promise) throws -> T { + public func awaitWith(_ promise: Promise) throws -> T { let expectation = self.expectation(description: "Expected promise to be resolved") promise.finally { diff --git a/CHANGELOG.md b/CHANGELOG.md index 33d6a451..8a20d7e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,28 @@ also includes support for offline operations. *Changes merged to `main`, but not yet released on a tag.* +## 3.4.1 + +### Misc. Updates + +- Update to 2.26.0 SDK dependencies ([PR #492](https://github.com/awslabs/aws-mobile-appsync-sdk-ios/pull/492)) + +## 3.4.0 + +### Misc. Updates +- Updated `LambdaAuthInterceptor` to support async auth provider ([PR #488](https://github.com/awslabs/aws-mobile-appsync-sdk-ios/pull/488)) + +## 3.3.1 + +### Misc. Updates + +- Update to 2.25.0 SDK dependencies ([PR #484](https://github.com/awslabs/aws-mobile-appsync-sdk-ios/pull/484)) + +## 3.3.0 + +### New Features +- Added support for AWS Lambda auth mode ([PR #478](https://github.com/awslabs/aws-mobile-appsync-sdk-ios/pull/478)) + ## 3.2.1 ### Misc. Updates diff --git a/Cartfile b/Cartfile index a6daa637..3e59f994 100644 --- a/Cartfile +++ b/Cartfile @@ -1,4 +1,4 @@ -github "aws/aws-sdk-ios" ~> 2.24.0 +github "aws/aws-sdk-ios" ~> 2.26.0 github "stephencelis/SQLite.swift" ~> 0.12.2 github "ashleymills/Reachability.swift" "v5.0.0" github "aws-amplify/aws-appsync-realtime-client-ios" ~> 1.4 diff --git a/Package.resolved b/Package.resolved index cc68a4bb..40f5013b 100644 --- a/Package.resolved +++ b/Package.resolved @@ -15,8 +15,8 @@ "repositoryURL": "https://github.com/aws-amplify/aws-sdk-ios-spm.git", "state": { "branch": null, - "revision": "7be6c13ea6fdcfdf54d50c08a10928e2e0bc3fb0", - "version": "2.24.0" + "revision": "26642a3932c92a8978e84f0467a2f1f0595b77f2", + "version": "2.26.0" } }, { diff --git a/Package.swift b/Package.swift index f0a80f78..18237c74 100644 --- a/Package.swift +++ b/Package.swift @@ -14,7 +14,7 @@ let package = Package( .package( name: "AWSiOSSDKV2", url: "https://github.com/aws-amplify/aws-sdk-ios-spm.git", - .upToNextMinor(from: "2.24.0") + .upToNextMinor(from: "2.26.0") ), .package( name: "AppSyncRealTimeClient", diff --git a/Podfile b/Podfile index ab3a3df9..1c853652 100644 --- a/Podfile +++ b/Podfile @@ -3,7 +3,7 @@ platform :ios, "9.0" use_frameworks! inhibit_all_warnings! -AWS_SDK_VERSION = "2.24.0" +AWS_SDK_VERSION = "2.26.0" target "AWSAppSync" do pod "AWSCore", "~> #{AWS_SDK_VERSION}" diff --git a/Podfile.lock b/Podfile.lock index 9d2f258e..28bf8ba0 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,32 +1,32 @@ PODS: - - AppSyncRealTimeClient (1.4.4): + - AppSyncRealTimeClient (1.5.0): - Starscream (~> 3.1.1) - - AWSAuthCore (2.24.0): - - AWSCore (= 2.24.0) - - AWSCognitoIdentityProvider (2.24.0): - - AWSCognitoIdentityProviderASF (= 2.24.0) - - AWSCore (= 2.24.0) - - AWSCognitoIdentityProviderASF (2.24.0) - - AWSCore (2.24.0) - - AWSMobileClient (2.24.0): - - AWSAuthCore (= 2.24.0) - - AWSCognitoIdentityProvider (= 2.24.0) - - AWSCognitoIdentityProviderASF (= 2.24.0) - - AWSCore (= 2.24.0) - - AWSS3 (2.24.0): - - AWSCore (= 2.24.0) + - AWSAuthCore (2.26.0): + - AWSCore (= 2.26.0) + - AWSCognitoIdentityProvider (2.26.0): + - AWSCognitoIdentityProviderASF (= 2.26.0) + - AWSCore (= 2.26.0) + - AWSCognitoIdentityProviderASF (2.26.0) + - AWSCore (2.26.0) + - AWSMobileClient (2.26.0): + - AWSAuthCore (= 2.26.0) + - AWSCognitoIdentityProvider (= 2.26.0) + - AWSCognitoIdentityProviderASF (= 2.26.0) + - AWSCore (= 2.26.0) + - AWSS3 (2.26.0): + - AWSCore (= 2.26.0) - ReachabilitySwift (5.0.0) - SQLite.swift (0.12.2): - SQLite.swift/standard (= 0.12.2) - SQLite.swift/standard (0.12.2) - Starscream (3.1.1) - - SwiftLint (0.43.1) + - SwiftLint (0.44.0) DEPENDENCIES: - AppSyncRealTimeClient (~> 1.4) - - AWSCore (~> 2.24.0) - - AWSMobileClient (~> 2.24.0) - - AWSS3 (~> 2.24.0) + - AWSCore (~> 2.26.0) + - AWSMobileClient (~> 2.26.0) + - AWSS3 (~> 2.26.0) - ReachabilitySwift (= 5.0.0) - SQLite.swift (~> 0.12.2) - SwiftLint @@ -46,18 +46,18 @@ SPEC REPOS: - SwiftLint SPEC CHECKSUMS: - AppSyncRealTimeClient: 4479354d262a23d2cc9fea1760f3815b75a4091a - AWSAuthCore: f5325c5e076e8da6ad66932029ddb04451aa28cd - AWSCognitoIdentityProvider: 874160e2f79fc957efd28745ee7389bccd59dfaf - AWSCognitoIdentityProviderASF: a604ce4b892fe7be0729d22a77a36f8b641e35a4 - AWSCore: d5cd1311b33a4ae9faacda839c0ac9fff711cd79 - AWSMobileClient: 0cd4603f1dff10edb1e7b32e07753c864a21c5ed - AWSS3: d2e6ec331c46d1e00e4d25d061f2f9e85de22977 + AppSyncRealTimeClient: 2b4482b1770a3e5cf64f9714a6d198550017b5a2 + AWSAuthCore: e33e7d1c2a7e6c08a026865f9396b0ef870faac3 + AWSCognitoIdentityProvider: 4119e1492b23fc408a18c6dafe06888ef03c96e3 + AWSCognitoIdentityProviderASF: a7f1e8cbafbac53ea1150ca50eac870d5c04dacf + AWSCore: b6d8dda67f24c6fc4c354334ec6d34238f37b735 + AWSMobileClient: a9a498884df72531e3e73c9d7bb087f72364204d + AWSS3: add6253ef16fea349eac27143885d3a44d62dad9 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 SQLite.swift: d2b4642190917051ce6bd1d49aab565fe794eea3 Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0 - SwiftLint: 99f82d07b837b942dd563c668de129a03fc3fb52 + SwiftLint: e96c0a8c770c7ebbc4d36c55baf9096bb65c4584 -PODFILE CHECKSUM: 32e0ac12e43edbf6b9f2e07d8cc58e931a4cfced +PODFILE CHECKSUM: 51402155c984b01c9259c5c9aff2083760f75bce COCOAPODS: 1.10.1 diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h index e993dc88..c7fcc01f 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h index 46b23631..9f501da1 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -50,8 +50,11 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderErrorType) { AWSCognitoIdentityProviderErrorSoftwareTokenMFANotFound, AWSCognitoIdentityProviderErrorTooManyFailedAttempts, AWSCognitoIdentityProviderErrorTooManyRequests, + AWSCognitoIdentityProviderErrorUnauthorized, AWSCognitoIdentityProviderErrorUnexpectedLambda, AWSCognitoIdentityProviderErrorUnsupportedIdentityProvider, + AWSCognitoIdentityProviderErrorUnsupportedOperation, + AWSCognitoIdentityProviderErrorUnsupportedTokenType, AWSCognitoIdentityProviderErrorUnsupportedUserState, AWSCognitoIdentityProviderErrorUserImportInProgress, AWSCognitoIdentityProviderErrorUserLambdaValidation, @@ -516,6 +519,8 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @class AWSCognitoIdentityProviderResourceServerType; @class AWSCognitoIdentityProviderRespondToAuthChallengeRequest; @class AWSCognitoIdentityProviderRespondToAuthChallengeResponse; +@class AWSCognitoIdentityProviderRevokeTokenRequest; +@class AWSCognitoIdentityProviderRevokeTokenResponse; @class AWSCognitoIdentityProviderRiskConfigurationType; @class AWSCognitoIdentityProviderRiskExceptionConfigurationType; @class AWSCognitoIdentityProviderSMSMfaSettingsType; @@ -713,7 +718,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the AWS Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in AWS Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -768,7 +773,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -905,7 +910,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @end /** -

Represents the request to disable any user as an administrator.

+

Represents the request to disable the user as an administrator.

Required parameters: [UserPoolId, Username] */ @interface AWSCognitoIdentityProviderAdminDisableUserRequest : AWSRequest @@ -1121,7 +1126,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -1149,7 +1154,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; /** -

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

+

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

  • MFA_SETUP: For users who are required to setup an MFA factor before they can sign-in. The MFA types enabled for the user pool will be listed in the challenge parameters MFA_CAN_SETUP value.

    To setup software token MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users will need help from an administrator to add a phone number to their account and then call InitiateAuth again to restart sign-in.

*/ @property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; @@ -1366,7 +1371,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -1408,7 +1413,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; /** -

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

+

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • MFA_SETUP requires USERNAME, plus you need to use the session value returned by VerifySoftwareToken in the Session parameter.

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

*/ @property (nonatomic, strong) NSDictionary * _Nullable challengeResponses; @@ -1418,7 +1423,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -1652,7 +1657,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -2061,7 +2066,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -2118,7 +2123,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -2389,7 +2394,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSNumber * _Nullable allowedOAuthFlowsUserPoolClient; /** -

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

+

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

*/ @property (nonatomic, strong) NSArray * _Nullable allowedOAuthScopes; @@ -2413,6 +2418,11 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse */ @property (nonatomic, strong) NSString * _Nullable defaultRedirectURI; +/** +

Enables or disables token revocation. For more information about revoking tokens, see RevokeToken.

If you don't include this parameter, token revocation is automatically enabled for the new user pool client.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enableTokenRevocation; + /**

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

*/ @@ -2567,7 +2577,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable emailVerificationSubject; /** -

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the AWS CLI, see add-permission .

+

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the CLI, see add-permission .

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; @@ -2654,7 +2664,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

+

The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

*/ @property (nonatomic, strong) NSString * _Nullable certificateArn; @@ -3138,7 +3148,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The AWS account ID for the user pool owner.

+

The account ID for the user pool owner.

*/ @property (nonatomic, strong) NSString * _Nullable AWSAccountId; @@ -3186,12 +3196,12 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.

  • IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.

+

The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other Amazon Web Services services such as SNS and CloudWatch.

  • IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.

*/ @property (nonatomic, strong) NSString * _Nullable configurationSet; /** -

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

  • EmailVerificationMessage

  • EmailVerificationSubject

  • InviteMessageTemplate.EmailMessage

  • InviteMessageTemplate.EmailSubject

  • VerificationMessageTemplate.EmailMessage

  • VerificationMessageTemplate.EmailMessageByLink

  • VerificationMessageTemplate.EmailSubject,

  • VerificationMessageTemplate.EmailSubjectByLink

DEVELOPER EmailSendingAccount is required.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your AWS account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

+

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

  • EmailVerificationMessage

  • EmailVerificationSubject

  • InviteMessageTemplate.EmailMessage

  • InviteMessageTemplate.EmailSubject

  • VerificationMessageTemplate.EmailMessage

  • VerificationMessageTemplate.EmailMessageByLink

  • VerificationMessageTemplate.EmailSubject,

  • VerificationMessageTemplate.EmailSubjectByLink

DEVELOPER EmailSendingAccount is required.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

*/ @property (nonatomic, assign) AWSCognitoIdentityProviderEmailSendingAccountType emailSendingAccount; @@ -3329,7 +3339,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -3566,7 +3576,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable attributeName; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -3779,7 +3789,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; /** -

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Facebook:

    • client_id

    • client_secret

    • authorize_scopes

    • api_version

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

    • authorize_scopes

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignOut optional

+

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Facebook:

    • client_id

    • client_secret

    • authorize_scopes

    • api_version

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignOut optional

*/ @property (nonatomic, strong) NSDictionary * _Nullable providerDetails; @@ -3828,7 +3838,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -3851,7 +3861,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; /** -

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

+

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

  • MFA_SETUP: For users who are required to setup an MFA factor before they can sign-in. The MFA types enabled for the user pool will be listed in the challenge parameters MFA_CAN_SETUP value.

    To setup software token MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users will need help from an administrator to add a phone number to their account and then call InitiateAuth again to restart sign-in.

*/ @property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; @@ -3868,7 +3878,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @end /** -

Specifies the configuration for AWS Lambda triggers.

+

Specifies the configuration for Lambda triggers.

*/ @interface AWSCognitoIdentityProviderLambdaConfigType : AWSModel @@ -3879,17 +3889,17 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable createAuthChallenge; /** -

A custom email sender AWS Lambda trigger.

+

A custom email sender Lambda trigger.

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderCustomEmailLambdaVersionConfigType * _Nullable customEmailSender; /** -

A custom Message AWS Lambda trigger.

+

A custom Message Lambda trigger.

*/ @property (nonatomic, strong) NSString * _Nullable customMessage; /** -

A custom SMS sender AWS Lambda trigger.

+

A custom SMS sender Lambda trigger.

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderCustomSMSLambdaVersionConfigType * _Nullable customSMSSender; @@ -3904,22 +3914,22 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable KMSKeyID; /** -

A post-authentication AWS Lambda trigger.

+

A post-authentication Lambda trigger.

*/ @property (nonatomic, strong) NSString * _Nullable postAuthentication; /** -

A post-confirmation AWS Lambda trigger.

+

A post-confirmation Lambda trigger.

*/ @property (nonatomic, strong) NSString * _Nullable postConfirmation; /** -

A pre-authentication AWS Lambda trigger.

+

A pre-authentication Lambda trigger.

*/ @property (nonatomic, strong) NSString * _Nullable preAuthentication; /** -

A pre-registration AWS Lambda trigger.

+

A pre-registration Lambda trigger.

*/ @property (nonatomic, strong) NSString * _Nullable preSignUp; @@ -4616,7 +4626,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -4715,7 +4725,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; /** -

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA).

  • SMS_MFA: SMS_MFA_CODE, USERNAME.

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME.

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME.

  • SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes.

  • DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).

  • DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY.

+

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA).

  • SMS_MFA: SMS_MFA_CODE, USERNAME.

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME.

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME.

  • SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes.

  • DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).

  • DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY.

  • MFA_SETUP requires USERNAME, plus you need to use the session value returned by VerifySoftwareToken in the Session parameter.

*/ @property (nonatomic, strong) NSDictionary * _Nullable challengeResponses; @@ -4725,7 +4735,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -4767,6 +4777,37 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse */ @property (nonatomic, strong) NSString * _Nullable session; +@end + +/** + + */ +@interface AWSCognitoIdentityProviderRevokeTokenRequest : AWSRequest + + +/** +

The client ID for the token that you want to revoke.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The secret for the client ID. This is required only if the client ID has a secret.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientSecret; + +/** +

The token that you want to revoke.

+ */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSCognitoIdentityProviderRevokeTokenResponse : AWSModel + + @end /** @@ -5011,7 +5052,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The MFA configuration. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

+

The MFA configuration. Users who don't have an MFA factor set up won't be able to sign-in if you set the MfaConfiguration value to ‘ON’. See Adding Multi-Factor Authentication (MFA) to a User Pool to learn more. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

*/ @property (nonatomic, assign) AWSCognitoIdentityProviderUserPoolMfaType mfaConfiguration; @@ -5100,7 +5141,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -5161,19 +5202,19 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @end /** -

The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your AWS account. The Cognito User Pool makes the request to the Amazon SNS Service by using an AWS IAM role that you provide for your AWS account.

+

The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your account. The Cognito User Pool makes the request to the Amazon SNS Service by using an IAM role that you provide for your account.

Required parameters: [SnsCallerArn] */ @interface AWSCognitoIdentityProviderSmsConfigurationType : AWSModel /** -

The external ID is a value that we recommend you use to add security to your IAM role which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, the Cognito User Pool will include it when attempting to assume your IAM role, so that you can set your roles trust policy to require the ExternalID. If you use the Cognito Management Console to create a role for SMS MFA, Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

+

The external ID is a value that we recommend you use to add security to your IAM role which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, the Cognito User Pool will include it when attempting to assume your IAM role, so that you can set your roles trust policy to require the ExternalID. If you use the Cognito Management Console to create a role for SMS MFA, Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

For more information about the ExternalId of a role, see How to use an external ID when granting access to your Amazon Web Services resources to a third party

*/ @property (nonatomic, strong) NSString * _Nullable externalId; /** -

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS messages. SMS messages are subject to a spending limit.

+

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. This is the ARN of the IAM role in your account which Cognito will use to send SMS messages. SMS messages are subject to a spending limit.

*/ @property (nonatomic, strong) NSString * _Nullable snsCallerArn; @@ -5647,7 +5688,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable accessToken; /** -

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

+

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

*/ @property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; @@ -5694,7 +5735,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSNumber * _Nullable allowedOAuthFlowsUserPoolClient; /** -

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

+

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

*/ @property (nonatomic, strong) NSArray * _Nullable allowedOAuthScopes; @@ -5723,6 +5764,11 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse */ @property (nonatomic, strong) NSString * _Nullable defaultRedirectURI; +/** +

Enables or disables token revocation. For more information about revoking tokens, see RevokeToken.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enableTokenRevocation; + /**

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

*/ @@ -5868,12 +5914,12 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable emailVerificationSubject; /** -

The AWS Lambda configuration information from the request to update the user pool.

+

The Lambda configuration information from the request to update the user pool.

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; /** -

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

+

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify ON when you are initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA "ON" for existing user pools.

  • OPTIONAL - Users have the option when registering to create an MFA token.

*/ @property (nonatomic, assign) AWSCognitoIdentityProviderUserPoolMfaType mfaConfiguration; @@ -6072,7 +6118,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSNumber * _Nullable allowedOAuthFlowsUserPoolClient; /** -

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

+

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

*/ @property (nonatomic, strong) NSArray * _Nullable allowedOAuthScopes; @@ -6111,6 +6157,11 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse */ @property (nonatomic, strong) NSString * _Nullable defaultRedirectURI; +/** +

Indicates whether token revocation is enabled for the user pool client. When you create a new user pool client, token revocation is enabled by default. For more information about revoking tokens, see RevokeToken.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enableTokenRevocation; + /**

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

*/ @@ -6185,7 +6236,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable identifier; /** -

The AWS Lambda configuration information in a user pool description.

+

The Lambda configuration information in a user pool description.

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; @@ -6301,7 +6352,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable identifier; /** -

The AWS Lambda triggers associated with the user pool.

+

The Lambda triggers associated with the user pool.

*/ @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; @@ -6341,7 +6392,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderSmsConfigurationType * _Nullable smsConfiguration; /** -

The reason why the SMS configuration cannot send the messages to your users.

+

The reason why the SMS configuration cannot send the messages to your users.

This message might include comma-separated values to describe why your SMS configuration can't send messages to user pool end users.

  • InvalidSmsRoleAccessPolicyException - The IAM role which Cognito uses to send SMS messages is not properly configured. For more information, see SmsConfigurationType.

  • SNSSandbox - The account is in SNS Sandbox and messages won’t reach unverified end users. This parameter won’t get populated with SNSSandbox if the IAM user creating the user pool doesn’t have SNS permissions. To learn how to move your account out of the sandbox, see Moving out of the SMS sandbox.

*/ @property (nonatomic, strong) NSString * _Nullable smsConfigurationFailure; diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m index c8eab01d..271bf113 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -1994,6 +1994,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"callbackURLs" : @"CallbackURLs", @"clientName" : @"ClientName", @"defaultRedirectURI" : @"DefaultRedirectURI", + @"enableTokenRevocation" : @"EnableTokenRevocation", @"explicitAuthFlows" : @"ExplicitAuthFlows", @"generateSecret" : @"GenerateSecret", @"idTokenValidity" : @"IdTokenValidity", @@ -4562,6 +4563,30 @@ + (NSValueTransformer *)challengeNameJSONTransformer { @end +@implementation AWSCognitoIdentityProviderRevokeTokenRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"clientId" : @"ClientId", + @"clientSecret" : @"ClientSecret", + @"token" : @"Token", + }; +} + +@end + +@implementation AWSCognitoIdentityProviderRevokeTokenResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSCognitoIdentityProviderRiskConfigurationType + (BOOL)supportsSecureCoding { @@ -5584,6 +5609,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"clientId" : @"ClientId", @"clientName" : @"ClientName", @"defaultRedirectURI" : @"DefaultRedirectURI", + @"enableTokenRevocation" : @"EnableTokenRevocation", @"explicitAuthFlows" : @"ExplicitAuthFlows", @"idTokenValidity" : @"IdTokenValidity", @"logoutURLs" : @"LogoutURLs", @@ -5970,6 +5996,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"clientSecret" : @"ClientSecret", @"creationDate" : @"CreationDate", @"defaultRedirectURI" : @"DefaultRedirectURI", + @"enableTokenRevocation" : @"EnableTokenRevocation", @"explicitAuthFlows" : @"ExplicitAuthFlows", @"idTokenValidity" : @"IdTokenValidity", @"lastModifiedDate" : @"LastModifiedDate", diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h index 22ccf0cb..c8c04b3e 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m index bc323bb3..2002d0e6 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -154,7 +154,7 @@ - (NSString *)definitionString { {\"shape\":\"UnsupportedUserStateException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

\"\ + \"documentation\":\"

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

\"\ },\ \"AdminDeleteUser\":{\ \"name\":\"AdminDeleteUser\",\ @@ -325,7 +325,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotFoundException\"},\ {\"shape\":\"UserNotConfirmedException\"}\ ],\ - \"documentation\":\"

Initiates the authentication flow, as an administrator.

Calling this action requires developer credentials.

\"\ + \"documentation\":\"

Initiates the authentication flow, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

\"\ },\ \"AdminLinkProviderForUser\":{\ \"name\":\"AdminLinkProviderForUser\",\ @@ -442,7 +442,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Calling this action requires developer credentials.

\"\ + \"documentation\":\"

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

\"\ },\ \"AdminRespondToAuthChallenge\":{\ \"name\":\"AdminRespondToAuthChallenge\",\ @@ -474,7 +474,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotConfirmedException\"},\ {\"shape\":\"SoftwareTokenMFANotFoundException\"}\ ],\ - \"documentation\":\"

Responds to an authentication challenge, as an administrator.

Calling this action requires developer credentials.

\"\ + \"documentation\":\"

Responds to an authentication challenge, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

\"\ },\ \"AdminSetUserMFAPreference\":{\ \"name\":\"AdminSetUserMFAPreference\",\ @@ -592,7 +592,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidEmailRoleAccessPolicyException\"},\ {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"}\ ],\ - \"documentation\":\"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Calling this action requires developer credentials.

\"\ + \"documentation\":\"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

\"\ },\ \"AdminUserGlobalSignOut\":{\ \"name\":\"AdminUserGlobalSignOut\",\ @@ -628,7 +628,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"SoftwareTokenMFANotFoundException\"}\ ],\ - \"documentation\":\"

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

\"\ + \"documentation\":\"

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

Calling AssociateSoftwareToken immediately disassociates the existing software token from the user account. If the user doesn't subsequently verify the software token, their account is essentially set up to authenticate without MFA. If MFA config is set to Optional at the user pool level, the user can then login without MFA. However, if MFA is set to Required for the user pool, the user will be asked to setup a new software token MFA during sign in.

\"\ },\ \"ChangePassword\":{\ \"name\":\"ChangePassword\",\ @@ -826,7 +826,7 @@ - (NSString *)definitionString { {\"shape\":\"UserPoolTaggingException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

\"\ + \"documentation\":\"

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\"\ },\ \"CreateUserPoolClient\":{\ \"name\":\"CreateUserPoolClient\",\ @@ -846,7 +846,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidOAuthFlowException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Creates the user pool client.

\"\ + \"documentation\":\"

Creates the user pool client.

When you create a new user pool client, token revocation is automatically enabled. For more information about revoking tokens, see RevokeToken.

\"\ },\ \"CreateUserPoolDomain\":{\ \"name\":\"CreateUserPoolDomain\",\ @@ -879,7 +879,7 @@ - (NSString *)definitionString { {\"shape\":\"NotAuthorizedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Deletes a group. Currently only groups with no members can be deleted.

Calling this action requires developer credentials.

\"\ + \"documentation\":\"

Deletes a group.

Calling this action requires developer credentials.

\"\ },\ \"DeleteIdentityProvider\":{\ \"name\":\"DeleteIdentityProvider\",\ @@ -1169,7 +1169,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotConfirmedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

\",\ + \"documentation\":\"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"GetCSVHeader\":{\ @@ -1323,7 +1323,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotConfirmedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Gets the user attribute verification code for the specified attribute name.

\",\ + \"documentation\":\"

Gets the user attribute verification code for the specified attribute name.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"GetUserPoolMfaConfig\":{\ @@ -1386,7 +1386,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidSmsRoleAccessPolicyException\"},\ {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"}\ ],\ - \"documentation\":\"

Initiates the authentication flow.

\",\ + \"documentation\":\"

Initiates the authentication flow.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"ListDevices\":{\ @@ -1526,7 +1526,7 @@ - (NSString *)definitionString { {\"shape\":\"NotAuthorizedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Lists the user pools associated with an AWS account.

\"\ + \"documentation\":\"

Lists the user pools associated with an account.

\"\ },\ \"ListUsers\":{\ \"name\":\"ListUsers\",\ @@ -1586,7 +1586,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotFoundException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

\",\ + \"documentation\":\"

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"RespondToAuthChallenge\":{\ @@ -1619,9 +1619,27 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"SoftwareTokenMFANotFoundException\"}\ ],\ - \"documentation\":\"

Responds to the authentication challenge.

\",\ + \"documentation\":\"

Responds to the authentication challenge.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ + \"RevokeToken\":{\ + \"name\":\"RevokeToken\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"RevokeTokenRequest\"},\ + \"output\":{\"shape\":\"RevokeTokenResponse\"},\ + \"errors\":[\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"InternalErrorException\"},\ + {\"shape\":\"UnauthorizedException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"UnsupportedOperationException\"},\ + {\"shape\":\"UnsupportedTokenTypeException\"}\ + ],\ + \"documentation\":\"

Revokes all of the access tokens generated by the specified refresh token. After the token is revoked, you can not use the revoked token to access Cognito authenticated APIs.

\"\ + },\ \"SetRiskConfiguration\":{\ \"name\":\"SetRiskConfiguration\",\ \"http\":{\ @@ -1695,7 +1713,7 @@ - (NSString *)definitionString { {\"shape\":\"NotAuthorizedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Set the user pool multi-factor authentication (MFA) configuration.

\"\ + \"documentation\":\"

Set the user pool multi-factor authentication (MFA) configuration.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\"\ },\ \"SetUserSettings\":{\ \"name\":\"SetUserSettings\",\ @@ -1741,7 +1759,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidEmailRoleAccessPolicyException\"},\ {\"shape\":\"CodeDeliveryFailureException\"}\ ],\ - \"documentation\":\"

Registers the user in the specified user pool and creates a user name, password, and user attributes.

\",\ + \"documentation\":\"

Registers the user in the specified user pool and creates a user name, password, and user attributes.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"StartUserImportJob\":{\ @@ -1869,7 +1887,7 @@ - (NSString *)definitionString { {\"shape\":\"NotAuthorizedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

If you don't provide a value for an attribute, it will be set to the default value.

\"\ + \"documentation\":\"

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

\"\ },\ \"UpdateIdentityProvider\":{\ \"name\":\"UpdateIdentityProvider\",\ @@ -1934,7 +1952,7 @@ - (NSString *)definitionString { {\"shape\":\"UserNotConfirmedException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Allows a user to update a specific attribute (one at a time).

\",\ + \"documentation\":\"

Allows a user to update a specific attribute (one at a time).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"UpdateUserPool\":{\ @@ -1958,7 +1976,7 @@ - (NSString *)definitionString { {\"shape\":\"UserPoolTaggingException\"},\ {\"shape\":\"InvalidEmailRoleAccessPolicyException\"}\ ],\ - \"documentation\":\"

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool.

If you don't provide a value for an attribute, it will be set to the default value.

\"\ + \"documentation\":\"

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool. If you don't provide a value for an attribute, it will be set to the default value.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode , you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

\"\ },\ \"UpdateUserPoolClient\":{\ \"name\":\"UpdateUserPoolClient\",\ @@ -1978,7 +1996,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidOAuthFlowException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

\"\ + \"documentation\":\"

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

You can also use this operation to enable token revocation for user pool clients. For more information about revoking tokens, see RevokeToken.

\"\ },\ \"UpdateUserPoolDomain\":{\ \"name\":\"UpdateUserPoolDomain\",\ @@ -1995,7 +2013,7 @@ - (NSString *)definitionString { {\"shape\":\"TooManyRequestsException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

\"\ + \"documentation\":\"

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

\"\ },\ \"VerifySoftwareToken\":{\ \"name\":\"VerifySoftwareToken\",\ @@ -2188,7 +2206,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the AWS Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in AWS Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to confirm user registration.

\"\ @@ -2258,7 +2276,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to create a user in the specified user pool.

\"\ @@ -2363,7 +2381,7 @@ - (NSString *)definitionString { \"documentation\":\"

The user name of the user you wish to disable.

\"\ }\ },\ - \"documentation\":\"

Represents the request to disable any user as an administrator.

\"\ + \"documentation\":\"

Represents the request to disable the user as an administrator.

\"\ },\ \"AdminDisableUserResponse\":{\ \"type\":\"structure\",\ @@ -2539,7 +2557,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ },\ \"AnalyticsMetadata\":{\ \"shape\":\"AnalyticsMetadataType\",\ @@ -2557,7 +2575,7 @@ - (NSString *)definitionString { \"members\":{\ \"ChallengeName\":{\ \"shape\":\"ChallengeNameType\",\ - \"documentation\":\"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

\"\ + \"documentation\":\"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

  • MFA_SETUP: For users who are required to setup an MFA factor before they can sign-in. The MFA types enabled for the user pool will be listed in the challenge parameters MFA_CAN_SETUP value.

    To setup software token MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users will need help from an administrator to add a phone number to their account and then call InitiateAuth again to restart sign-in.

\"\ },\ \"Session\":{\ \"shape\":\"SessionType\",\ @@ -2756,7 +2774,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to reset a user's password as an administrator.

\"\ @@ -2789,7 +2807,7 @@ - (NSString *)definitionString { },\ \"ChallengeResponses\":{\ \"shape\":\"ChallengeResponsesType\",\ - \"documentation\":\"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

\"\ + \"documentation\":\"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • MFA_SETUP requires USERNAME, plus you need to use the session value returned by VerifySoftwareToken in the Session parameter.

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

\"\ },\ \"Session\":{\ \"shape\":\"SessionType\",\ @@ -2805,7 +2823,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

The request to respond to the authentication challenge, as an administrator.

\"\ @@ -3009,7 +3027,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to update the user's attributes as an administrator.

\"\ @@ -3589,7 +3607,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

The request representing the confirmation for a password reset.

\"\ @@ -3638,7 +3656,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to confirm registration of a user.

\"\ @@ -3908,7 +3926,7 @@ - (NSString *)definitionString { },\ \"AllowedOAuthScopes\":{\ \"shape\":\"ScopeListType\",\ - \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ + \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ },\ \"AllowedOAuthFlowsUserPoolClient\":{\ \"shape\":\"BooleanType\",\ @@ -3921,6 +3939,10 @@ - (NSString *)definitionString { \"PreventUserExistenceErrors\":{\ \"shape\":\"PreventUserExistenceErrorTypes\",\ \"documentation\":\"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

\"\ + },\ + \"EnableTokenRevocation\":{\ + \"shape\":\"WrappedBooleanType\",\ + \"documentation\":\"

Enables or disables token revocation. For more information about revoking tokens, see RevokeToken.

If you don't include this parameter, token revocation is automatically enabled for the new user pool client.

\"\ }\ },\ \"documentation\":\"

Represents the request to create a user pool client.

\"\ @@ -3979,7 +4001,7 @@ - (NSString *)definitionString { },\ \"LambdaConfig\":{\ \"shape\":\"LambdaConfigType\",\ - \"documentation\":\"

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the AWS CLI, see add-permission .

\"\ + \"documentation\":\"

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the CLI, see add-permission .

\"\ },\ \"AutoVerifiedAttributes\":{\ \"shape\":\"VerifiedAttributesListType\",\ @@ -4084,7 +4106,7 @@ - (NSString *)definitionString { \"members\":{\ \"CertificateArn\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

\"\ }\ },\ \"documentation\":\"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

\"\ @@ -4552,7 +4574,7 @@ - (NSString *)definitionString { },\ \"AWSAccountId\":{\ \"shape\":\"AWSAccountIdType\",\ - \"documentation\":\"

The AWS account ID for the user pool owner.

\"\ + \"documentation\":\"

The account ID for the user pool owner.

\"\ },\ \"Domain\":{\ \"shape\":\"DomainType\",\ @@ -4627,7 +4649,7 @@ - (NSString *)definitionString { },\ \"EmailSendingAccount\":{\ \"shape\":\"EmailSendingAccountType\",\ - \"documentation\":\"

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

  • EmailVerificationMessage

  • EmailVerificationSubject

  • InviteMessageTemplate.EmailMessage

  • InviteMessageTemplate.EmailSubject

  • VerificationMessageTemplate.EmailMessage

  • VerificationMessageTemplate.EmailMessageByLink

  • VerificationMessageTemplate.EmailSubject,

  • VerificationMessageTemplate.EmailSubjectByLink

DEVELOPER EmailSendingAccount is required.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your AWS account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

\"\ + \"documentation\":\"

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

If EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't allowed:

  • EmailVerificationMessage

  • EmailVerificationSubject

  • InviteMessageTemplate.EmailMessage

  • InviteMessageTemplate.EmailSubject

  • VerificationMessageTemplate.EmailMessage

  • VerificationMessageTemplate.EmailMessageByLink

  • VerificationMessageTemplate.EmailSubject,

  • VerificationMessageTemplate.EmailSubjectByLink

DEVELOPER EmailSendingAccount is required.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

\"\ },\ \"From\":{\ \"shape\":\"StringType\",\ @@ -4635,7 +4657,7 @@ - (NSString *)definitionString { },\ \"ConfigurationSet\":{\ \"shape\":\"SESConfigurationSet\",\ - \"documentation\":\"

The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.

  • IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.

\"\ + \"documentation\":\"

The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other Amazon Web Services services such as SNS and CloudWatch.

  • IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.

\"\ }\ },\ \"documentation\":\"

The email configuration type.

Amazon Cognito has specific regions for use with Amazon SES. For more information on the supported regions, see Email Settings for Amazon Cognito User Pools.

\"\ @@ -4870,7 +4892,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to reset a user's password.

\"\ @@ -5052,7 +5074,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to get user attribute verification.

\"\ @@ -5248,7 +5270,7 @@ - (NSString *)definitionString { },\ \"ProviderDetails\":{\ \"shape\":\"ProviderDetailsType\",\ - \"documentation\":\"

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Facebook:

    • client_id

    • client_secret

    • authorize_scopes

    • api_version

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

    • authorize_scopes

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignOut optional

\"\ + \"documentation\":\"

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Facebook:

    • client_id

    • client_secret

    • authorize_scopes

    • api_version

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignOut optional

\"\ },\ \"AttributeMapping\":{\ \"shape\":\"AttributeMappingType\",\ @@ -5311,7 +5333,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ },\ \"ClientId\":{\ \"shape\":\"ClientIdType\",\ @@ -5333,7 +5355,7 @@ - (NSString *)definitionString { \"members\":{\ \"ChallengeName\":{\ \"shape\":\"ChallengeNameType\",\ - \"documentation\":\"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

\"\ + \"documentation\":\"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

  • MFA_SETUP: For users who are required to setup an MFA factor before they can sign-in. The MFA types enabled for the user pool will be listed in the challenge parameters MFA_CAN_SETUP value.

    To setup software token MFA, use the session returned here from InitiateAuth as an input to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete sign-in. To setup SMS MFA, users will need help from an administrator to add a phone number to their account and then call InitiateAuth again to restart sign-in.

\"\ },\ \"Session\":{\ \"shape\":\"SessionType\",\ @@ -5379,10 +5401,10 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\ \"shape\":\"MessageType\",\ - \"documentation\":\"

The message returned when the Amazon Cognito service throws an invalid AWS Lambda response exception.

\"\ + \"documentation\":\"

The message returned when the Amazon Cognito service throws an invalid Lambda response exception.

\"\ }\ },\ - \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters an invalid AWS Lambda response.

\",\ + \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters an invalid Lambda response.

\",\ \"exception\":true\ },\ \"InvalidOAuthFlowException\":{\ @@ -5434,7 +5456,7 @@ - (NSString *)definitionString { \"documentation\":\"

The message returned when the role trust relationship for the SMS message is invalid.

\"\ }\ },\ - \"documentation\":\"

This exception is thrown when the trust relationship is invalid for the role provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com or the external ID provided in the role does not match what is provided in the SMS configuration for the user pool.

\",\ + \"documentation\":\"

This exception is thrown when the trust relationship is invalid for the role provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com or the external ID provided in the role does not match what is provided in the SMS configuration for the user pool.

\",\ \"exception\":true\ },\ \"InvalidUserPoolConfigurationException\":{\ @@ -5453,23 +5475,23 @@ - (NSString *)definitionString { \"members\":{\ \"PreSignUp\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

A pre-registration AWS Lambda trigger.

\"\ + \"documentation\":\"

A pre-registration Lambda trigger.

\"\ },\ \"CustomMessage\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

A custom Message AWS Lambda trigger.

\"\ + \"documentation\":\"

A custom Message Lambda trigger.

\"\ },\ \"PostConfirmation\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

A post-confirmation AWS Lambda trigger.

\"\ + \"documentation\":\"

A post-confirmation Lambda trigger.

\"\ },\ \"PreAuthentication\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

A pre-authentication AWS Lambda trigger.

\"\ + \"documentation\":\"

A pre-authentication Lambda trigger.

\"\ },\ \"PostAuthentication\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

A post-authentication AWS Lambda trigger.

\"\ + \"documentation\":\"

A post-authentication Lambda trigger.

\"\ },\ \"DefineAuthChallenge\":{\ \"shape\":\"ArnType\",\ @@ -5493,18 +5515,18 @@ - (NSString *)definitionString { },\ \"CustomSMSSender\":{\ \"shape\":\"CustomSMSLambdaVersionConfigType\",\ - \"documentation\":\"

A custom SMS sender AWS Lambda trigger.

\"\ + \"documentation\":\"

A custom SMS sender Lambda trigger.

\"\ },\ \"CustomEmailSender\":{\ \"shape\":\"CustomEmailLambdaVersionConfigType\",\ - \"documentation\":\"

A custom email sender AWS Lambda trigger.

\"\ + \"documentation\":\"

A custom email sender Lambda trigger.

\"\ },\ \"KMSKeyID\":{\ \"shape\":\"ArnType\",\ \"documentation\":\"

The Amazon Resource Name of Key Management Service Customer master keys . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to CustomEmailSender and CustomSMSSender.

\"\ }\ },\ - \"documentation\":\"

Specifies the configuration for AWS Lambda triggers.

\"\ + \"documentation\":\"

Specifies the configuration for Lambda triggers.

\"\ },\ \"LimitExceededException\":{\ \"type\":\"structure\",\ @@ -5514,7 +5536,7 @@ - (NSString *)definitionString { \"documentation\":\"

The message returned when Amazon Cognito throws a limit exceeded exception.

\"\ }\ },\ - \"documentation\":\"

This exception is thrown when a user exceeds the limit for a requested AWS resource.

\",\ + \"documentation\":\"

This exception is thrown when a user exceeds the limit for a requested Amazon Web Services resource.

\",\ \"exception\":true\ },\ \"ListDevicesRequest\":{\ @@ -6265,7 +6287,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to resend the confirmation code.

\"\ @@ -6384,7 +6406,7 @@ - (NSString *)definitionString { },\ \"ChallengeResponses\":{\ \"shape\":\"ChallengeResponsesType\",\ - \"documentation\":\"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA).

  • SMS_MFA: SMS_MFA_CODE, USERNAME.

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME.

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME.

  • SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes.

  • DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).

  • DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY.

\"\ + \"documentation\":\"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA).

  • SMS_MFA: SMS_MFA_CODE, USERNAME.

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME.

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME.

  • SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes.

  • DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).

  • DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY.

  • MFA_SETUP requires USERNAME, plus you need to use the session value returned by VerifySoftwareToken in the Session parameter.

\"\ },\ \"AnalyticsMetadata\":{\ \"shape\":\"AnalyticsMetadataType\",\ @@ -6396,7 +6418,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

The request to respond to an authentication challenge.

\"\ @@ -6423,6 +6445,32 @@ - (NSString *)definitionString { },\ \"documentation\":\"

The response to respond to the authentication challenge.

\"\ },\ + \"RevokeTokenRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"Token\",\ + \"ClientId\"\ + ],\ + \"members\":{\ + \"Token\":{\ + \"shape\":\"TokenModelType\",\ + \"documentation\":\"

The token that you want to revoke.

\"\ + },\ + \"ClientId\":{\ + \"shape\":\"ClientIdType\",\ + \"documentation\":\"

The client ID for the token that you want to revoke.

\"\ + },\ + \"ClientSecret\":{\ + \"shape\":\"ClientSecretType\",\ + \"documentation\":\"

The secret for the client ID. This is required only if the client ID has a secret.

\"\ + }\ + }\ + },\ + \"RevokeTokenResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ \"RiskConfigurationType\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -6707,7 +6755,7 @@ - (NSString *)definitionString { },\ \"MfaConfiguration\":{\ \"shape\":\"UserPoolMfaType\",\ - \"documentation\":\"

The MFA configuration. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

\"\ + \"documentation\":\"

The MFA configuration. Users who don't have an MFA factor set up won't be able to sign-in if you set the MfaConfiguration value to ‘ON’. See Adding Multi-Factor Authentication (MFA) to a User Pool to learn more. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

\"\ }\ }\ },\ @@ -6794,7 +6842,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to register a user.

\"\ @@ -6832,14 +6880,14 @@ - (NSString *)definitionString { \"members\":{\ \"SnsCallerArn\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS messages. SMS messages are subject to a spending limit.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. This is the ARN of the IAM role in your account which Cognito will use to send SMS messages. SMS messages are subject to a spending limit.

\"\ },\ \"ExternalId\":{\ \"shape\":\"StringType\",\ - \"documentation\":\"

The external ID is a value that we recommend you use to add security to your IAM role which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, the Cognito User Pool will include it when attempting to assume your IAM role, so that you can set your roles trust policy to require the ExternalID. If you use the Cognito Management Console to create a role for SMS MFA, Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

\"\ + \"documentation\":\"

The external ID is a value that we recommend you use to add security to your IAM role which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, the Cognito User Pool will include it when attempting to assume your IAM role, so that you can set your roles trust policy to require the ExternalID. If you use the Cognito Management Console to create a role for SMS MFA, Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

For more information about the ExternalId of a role, see How to use an external ID when granting access to your Amazon Web Services resources to a third party

\"\ }\ },\ - \"documentation\":\"

The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your AWS account. The Cognito User Pool makes the request to the Amazon SNS Service by using an AWS IAM role that you provide for your AWS account.

\"\ + \"documentation\":\"

The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your account. The Cognito User Pool makes the request to the Amazon SNS Service by using an IAM role that you provide for your account.

\"\ },\ \"SmsMfaConfigType\":{\ \"type\":\"structure\",\ @@ -7106,15 +7154,23 @@ - (NSString *)definitionString { },\ \"documentation\":\"

A container for the UI customization information for a user pool's built-in app UI.

\"\ },\ + \"UnauthorizedException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"MessageType\"}\ + },\ + \"documentation\":\"

This exception is thrown when the request is not authorized. This can happen due to an invalid access token in the request.

\",\ + \"exception\":true\ + },\ \"UnexpectedLambdaException\":{\ \"type\":\"structure\",\ \"members\":{\ \"message\":{\ \"shape\":\"MessageType\",\ - \"documentation\":\"

The message returned when the Amazon Cognito service returns an unexpected AWS Lambda exception.

\"\ + \"documentation\":\"

The message returned when the Amazon Cognito service returns an unexpected Lambda exception.

\"\ }\ },\ - \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

\",\ + \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters an unexpected exception with the Lambda service.

\",\ \"exception\":true\ },\ \"UnsupportedIdentityProviderException\":{\ @@ -7125,6 +7181,22 @@ - (NSString *)definitionString { \"documentation\":\"

This exception is thrown when the specified identifier is not supported.

\",\ \"exception\":true\ },\ + \"UnsupportedOperationException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"MessageType\"}\ + },\ + \"documentation\":\"

This exception is thrown when you attempt to perform an operation that is not enabled for the user pool client.

\",\ + \"exception\":true\ + },\ + \"UnsupportedTokenTypeException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"MessageType\"}\ + },\ + \"documentation\":\"

This exception is thrown when an unsupported token is passed to an operation.

\",\ + \"exception\":true\ + },\ \"UnsupportedUserStateException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -7353,7 +7425,7 @@ - (NSString *)definitionString { },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ - \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ + \"documentation\":\"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

\"\ }\ },\ \"documentation\":\"

Represents the request to update user attributes.

\"\ @@ -7437,7 +7509,7 @@ - (NSString *)definitionString { },\ \"AllowedOAuthScopes\":{\ \"shape\":\"ScopeListType\",\ - \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ + \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ },\ \"AllowedOAuthFlowsUserPoolClient\":{\ \"shape\":\"BooleanType\",\ @@ -7450,6 +7522,10 @@ - (NSString *)definitionString { \"PreventUserExistenceErrors\":{\ \"shape\":\"PreventUserExistenceErrorTypes\",\ \"documentation\":\"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

\"\ + },\ + \"EnableTokenRevocation\":{\ + \"shape\":\"WrappedBooleanType\",\ + \"documentation\":\"

Enables or disables token revocation. For more information about revoking tokens, see RevokeToken.

\"\ }\ },\ \"documentation\":\"

Represents the request to update the user pool client.

\"\ @@ -7511,7 +7587,7 @@ - (NSString *)definitionString { },\ \"LambdaConfig\":{\ \"shape\":\"LambdaConfigType\",\ - \"documentation\":\"

The AWS Lambda configuration information from the request to update the user pool.

\"\ + \"documentation\":\"

The Lambda configuration information from the request to update the user pool.

\"\ },\ \"AutoVerifiedAttributes\":{\ \"shape\":\"VerifiedAttributesListType\",\ @@ -7539,7 +7615,7 @@ - (NSString *)definitionString { },\ \"MfaConfiguration\":{\ \"shape\":\"UserPoolMfaType\",\ - \"documentation\":\"

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

\"\ + \"documentation\":\"

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify ON when you are initially creating a user pool. You can use the SetUserPoolMfaConfig API operation to turn MFA \\\"ON\\\" for existing user pools.

  • OPTIONAL - Users have the option when registering to create an MFA token.

\"\ },\ \"DeviceConfiguration\":{\ \"shape\":\"DeviceConfigurationType\",\ @@ -7697,10 +7773,10 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\ \"shape\":\"MessageType\",\ - \"documentation\":\"

The message returned when the Amazon Cognito service returns a user validation exception with the AWS Lambda service.

\"\ + \"documentation\":\"

The message returned when the Amazon Cognito service returns a user validation exception with the Lambda service.

\"\ }\ },\ - \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

\",\ + \"documentation\":\"

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the Lambda service.

\",\ \"exception\":true\ },\ \"UserMFASettingListType\":{\ @@ -7847,7 +7923,7 @@ - (NSString *)definitionString { },\ \"AllowedOAuthScopes\":{\ \"shape\":\"ScopeListType\",\ - \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ + \"documentation\":\"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

\"\ },\ \"AllowedOAuthFlowsUserPoolClient\":{\ \"shape\":\"BooleanType\",\ @@ -7861,6 +7937,10 @@ - (NSString *)definitionString { \"PreventUserExistenceErrors\":{\ \"shape\":\"PreventUserExistenceErrorTypes\",\ \"documentation\":\"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

\"\ + },\ + \"EnableTokenRevocation\":{\ + \"shape\":\"WrappedBooleanType\",\ + \"documentation\":\"

Indicates whether token revocation is enabled for the user pool client. When you create a new user pool client, token revocation is enabled by default. For more information about revoking tokens, see RevokeToken.

\"\ }\ },\ \"documentation\":\"

Contains information about a user pool client.

\"\ @@ -7878,7 +7958,7 @@ - (NSString *)definitionString { },\ \"LambdaConfig\":{\ \"shape\":\"LambdaConfigType\",\ - \"documentation\":\"

The AWS Lambda configuration information in a user pool description.

\"\ + \"documentation\":\"

The Lambda configuration information in a user pool description.

\"\ },\ \"Status\":{\ \"shape\":\"StatusType\",\ @@ -7963,7 +8043,7 @@ - (NSString *)definitionString { },\ \"LambdaConfig\":{\ \"shape\":\"LambdaConfigType\",\ - \"documentation\":\"

The AWS Lambda triggers associated with the user pool.

\"\ + \"documentation\":\"

The Lambda triggers associated with the user pool.

\"\ },\ \"Status\":{\ \"shape\":\"StatusType\",\ @@ -8039,7 +8119,7 @@ - (NSString *)definitionString { },\ \"SmsConfigurationFailure\":{\ \"shape\":\"StringType\",\ - \"documentation\":\"

The reason why the SMS configuration cannot send the messages to your users.

\"\ + \"documentation\":\"

The reason why the SMS configuration cannot send the messages to your users.

This message might include comma-separated values to describe why your SMS configuration can't send messages to user pool end users.

  • InvalidSmsRoleAccessPolicyException - The IAM role which Cognito uses to send SMS messages is not properly configured. For more information, see SmsConfigurationType.

  • SNSSandbox - The account is in SNS Sandbox and messages won’t reach unverified end users. This parameter won’t get populated with SNSSandbox if the IAM user creating the user pool doesn’t have SNS permissions. To learn how to move your account out of the sandbox, see Moving out of the SMS sandbox.

\"\ },\ \"EmailConfigurationFailure\":{\ \"shape\":\"StringType\",\ @@ -8280,7 +8360,7 @@ - (NSString *)definitionString { },\ \"WrappedBooleanType\":{\"type\":\"boolean\"}\ },\ - \"documentation\":\"

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

\"\ + \"documentation\":\"

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

\"\ }\ "; } diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h index 0635508e..f62893af 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; /** -

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

+

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

*/ @interface AWSCognitoIdentityProvider : AWSService @@ -247,7 +247,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminConfirmSignUp:(AWSCognitoIdentityProviderAdminConfirmSignUpRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminConfirmSignUpResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

+

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

@param request A container for the necessary parameters to execute the AdminCreateUser service method. @@ -259,7 +259,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminCreateUser:(AWSCognitoIdentityProviderAdminCreateUserRequest *)request; /** -

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

+

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

@param request A container for the necessary parameters to execute the AdminCreateUser service method. @param completionHandler The completion handler to call when the load request is complete. @@ -466,7 +466,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminGetUser:(AWSCognitoIdentityProviderAdminGetUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminGetUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates the authentication flow, as an administrator.

Calling this action requires developer credentials.

+

Initiates the authentication flow, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminInitiateAuth service method. @@ -478,7 +478,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminInitiateAuth:(AWSCognitoIdentityProviderAdminInitiateAuthRequest *)request; /** -

Initiates the authentication flow, as an administrator.

Calling this action requires developer credentials.

+

Initiates the authentication flow, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminInitiateAuth service method. @param completionHandler The completion handler to call when the load request is complete. @@ -613,7 +613,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminRemoveUserFromGroup:(AWSCognitoIdentityProviderAdminRemoveUserFromGroupRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Calling this action requires developer credentials.

+

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminResetUserPassword service method. @@ -625,7 +625,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminResetUserPassword:(AWSCognitoIdentityProviderAdminResetUserPasswordRequest *)request; /** -

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Calling this action requires developer credentials.

+

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminResetUserPassword service method. @param completionHandler The completion handler to call when the load request is complete. @@ -638,7 +638,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminResetUserPassword:(AWSCognitoIdentityProviderAdminResetUserPasswordRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminResetUserPasswordResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Responds to an authentication challenge, as an administrator.

Calling this action requires developer credentials.

+

Responds to an authentication challenge, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminRespondToAuthChallenge service method. @@ -650,7 +650,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminRespondToAuthChallenge:(AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest *)request; /** -

Responds to an authentication challenge, as an administrator.

Calling this action requires developer credentials.

+

Responds to an authentication challenge, as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminRespondToAuthChallenge service method. @param completionHandler The completion handler to call when the load request is complete. @@ -788,7 +788,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminUpdateDeviceStatus:(AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Calling this action requires developer credentials.

+

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. @@ -800,7 +800,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminUpdateUserAttributes:(AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest *)request; /** -

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Calling this action requires developer credentials.

+

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -838,7 +838,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminUserGlobalSignOut:(AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

+

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

Calling AssociateSoftwareToken immediately disassociates the existing software token from the user account. If the user doesn't subsequently verify the software token, their account is essentially set up to authenticate without MFA. If MFA config is set to Optional at the user pool level, the user can then login without MFA. However, if MFA is set to Required for the user pool, the user will be asked to setup a new software token MFA during sign in.

@param request A container for the necessary parameters to execute the AssociateSoftwareToken service method. @@ -850,7 +850,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)associateSoftwareToken:(AWSCognitoIdentityProviderAssociateSoftwareTokenRequest *)request; /** -

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

+

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

Calling AssociateSoftwareToken immediately disassociates the existing software token from the user account. If the user doesn't subsequently verify the software token, their account is essentially set up to authenticate without MFA. If MFA config is set to Optional at the user pool level, the user can then login without MFA. However, if MFA is set to Required for the user pool, the user will be asked to setup a new software token MFA during sign in.

@param request A container for the necessary parameters to execute the AssociateSoftwareToken service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1063,7 +1063,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)createUserImportJob:(AWSCognitoIdentityProviderCreateUserImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

+

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the CreateUserPool service method. @@ -1075,7 +1075,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)createUserPool:(AWSCognitoIdentityProviderCreateUserPoolRequest *)request; /** -

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

+

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the CreateUserPool service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1088,7 +1088,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)createUserPool:(AWSCognitoIdentityProviderCreateUserPoolRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserPoolResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates the user pool client.

+

Creates the user pool client.

When you create a new user pool client, token revocation is automatically enabled. For more information about revoking tokens, see RevokeToken.

@param request A container for the necessary parameters to execute the CreateUserPoolClient service method. @@ -1100,7 +1100,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)createUserPoolClient:(AWSCognitoIdentityProviderCreateUserPoolClientRequest *)request; /** -

Creates the user pool client.

+

Creates the user pool client.

When you create a new user pool client, token revocation is automatically enabled. For more information about revoking tokens, see RevokeToken.

@param request A container for the necessary parameters to execute the CreateUserPoolClient service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1138,7 +1138,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)createUserPoolDomain:(AWSCognitoIdentityProviderCreateUserPoolDomainRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserPoolDomainResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes a group. Currently only groups with no members can be deleted.

Calling this action requires developer credentials.

+

Deletes a group.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the DeleteGroup service method. @@ -1149,7 +1149,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)deleteGroup:(AWSCognitoIdentityProviderDeleteGroupRequest *)request; /** -

Deletes a group. Currently only groups with no members can be deleted.

Calling this action requires developer credentials.

+

Deletes a group.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the DeleteGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1517,7 +1517,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)forgetDevice:(AWSCognitoIdentityProviderForgetDeviceRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

+

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ForgotPassword service method. @@ -1529,7 +1529,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)forgotPassword:(AWSCognitoIdentityProviderForgotPasswordRequest *)request; /** -

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

+

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ForgotPassword service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1717,7 +1717,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)getUser:(AWSCognitoIdentityProviderGetUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGetUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets the user attribute verification code for the specified attribute name.

+

Gets the user attribute verification code for the specified attribute name.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the GetUserAttributeVerificationCode service method. @@ -1729,7 +1729,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)getUserAttributeVerificationCode:(AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest *)request; /** -

Gets the user attribute verification code for the specified attribute name.

+

Gets the user attribute verification code for the specified attribute name.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the GetUserAttributeVerificationCode service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1792,7 +1792,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)globalSignOut:(AWSCognitoIdentityProviderGlobalSignOutRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGlobalSignOutResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates the authentication flow.

+

Initiates the authentication flow.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the InitiateAuth service method. @@ -1804,7 +1804,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)initiateAuth:(AWSCognitoIdentityProviderInitiateAuthRequest *)request; /** -

Initiates the authentication flow.

+

Initiates the authentication flow.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the InitiateAuth service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1992,7 +1992,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)listUserPoolClients:(AWSCognitoIdentityProviderListUserPoolClientsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUserPoolClientsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists the user pools associated with an AWS account.

+

Lists the user pools associated with an account.

@param request A container for the necessary parameters to execute the ListUserPools service method. @@ -2004,7 +2004,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)listUserPools:(AWSCognitoIdentityProviderListUserPoolsRequest *)request; /** -

Lists the user pools associated with an AWS account.

+

Lists the user pools associated with an account.

@param request A container for the necessary parameters to execute the ListUserPools service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2067,7 +2067,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)listUsersInGroup:(AWSCognitoIdentityProviderListUsersInGroupRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUsersInGroupResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

+

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ResendConfirmationCode service method. @@ -2079,7 +2079,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)resendConfirmationCode:(AWSCognitoIdentityProviderResendConfirmationCodeRequest *)request; /** -

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

+

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ResendConfirmationCode service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2092,7 +2092,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)resendConfirmationCode:(AWSCognitoIdentityProviderResendConfirmationCodeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderResendConfirmationCodeResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Responds to the authentication challenge.

+

Responds to the authentication challenge.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the RespondToAuthChallenge service method. @@ -2104,7 +2104,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)respondToAuthChallenge:(AWSCognitoIdentityProviderRespondToAuthChallengeRequest *)request; /** -

Responds to the authentication challenge.

+

Responds to the authentication challenge.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the RespondToAuthChallenge service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2116,6 +2116,31 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; */ - (void)respondToAuthChallenge:(AWSCognitoIdentityProviderRespondToAuthChallengeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderRespondToAuthChallengeResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Revokes all of the access tokens generated by the specified refresh token. After the token is revoked, you can not use the revoked token to access Cognito authenticated APIs.

+ + @param request A container for the necessary parameters to execute the RevokeToken service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderRevokeTokenResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorUnauthorized`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnsupportedOperation`, `AWSCognitoIdentityProviderErrorUnsupportedTokenType`. + + @see AWSCognitoIdentityProviderRevokeTokenRequest + @see AWSCognitoIdentityProviderRevokeTokenResponse + */ +- (AWSTask *)revokeToken:(AWSCognitoIdentityProviderRevokeTokenRequest *)request; + +/** +

Revokes all of the access tokens generated by the specified refresh token. After the token is revoked, you can not use the revoked token to access Cognito authenticated APIs.

+ + @param request A container for the necessary parameters to execute the RevokeToken service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorUnauthorized`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnsupportedOperation`, `AWSCognitoIdentityProviderErrorUnsupportedTokenType`. + + @see AWSCognitoIdentityProviderRevokeTokenRequest + @see AWSCognitoIdentityProviderRevokeTokenResponse + */ +- (void)revokeToken:(AWSCognitoIdentityProviderRevokeTokenRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderRevokeTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Configures actions on detected risks. To delete the risk configuration for UserPoolId or ClientId, pass null values for all four configuration types.

To enable Amazon Cognito advanced security features, update the user pool to include the UserPoolAddOns keyAdvancedSecurityMode.

@@ -2192,7 +2217,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)setUserMFAPreference:(AWSCognitoIdentityProviderSetUserMFAPreferenceRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderSetUserMFAPreferenceResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Set the user pool multi-factor authentication (MFA) configuration.

+

Set the user pool multi-factor authentication (MFA) configuration.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the SetUserPoolMfaConfig service method. @@ -2204,7 +2229,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)setUserPoolMfaConfig:(AWSCognitoIdentityProviderSetUserPoolMfaConfigRequest *)request; /** -

Set the user pool multi-factor authentication (MFA) configuration.

+

Set the user pool multi-factor authentication (MFA) configuration.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the SetUserPoolMfaConfig service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2242,7 +2267,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)setUserSettings:(AWSCognitoIdentityProviderSetUserSettingsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderSetUserSettingsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Registers the user in the specified user pool and creates a user name, password, and user attributes.

+

Registers the user in the specified user pool and creates a user name, password, and user attributes.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the SignUp service method. @@ -2254,7 +2279,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)signUp:(AWSCognitoIdentityProviderSignUpRequest *)request; /** -

Registers the user in the specified user pool and creates a user name, password, and user attributes.

+

Registers the user in the specified user pool and creates a user name, password, and user attributes.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the SignUp service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2417,7 +2442,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)updateDeviceStatus:(AWSCognitoIdentityProviderUpdateDeviceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateDeviceStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the UpdateGroup service method. @@ -2429,7 +2454,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)updateGroup:(AWSCognitoIdentityProviderUpdateGroupRequest *)request; /** -

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

@param request A container for the necessary parameters to execute the UpdateGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2492,7 +2517,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)updateResourceServer:(AWSCognitoIdentityProviderUpdateResourceServerRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateResourceServerResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Allows a user to update a specific attribute (one at a time).

+

Allows a user to update a specific attribute (one at a time).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the UpdateUserAttributes service method. @@ -2504,7 +2529,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)updateUserAttributes:(AWSCognitoIdentityProviderUpdateUserAttributesRequest *)request; /** -

Allows a user to update a specific attribute (one at a time).

+

Allows a user to update a specific attribute (one at a time).

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the UpdateUserAttributes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2517,7 +2542,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)updateUserAttributes:(AWSCognitoIdentityProviderUpdateUserAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool. If you don't provide a value for an attribute, it will be set to the default value.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the UpdateUserPool service method. @@ -2529,7 +2554,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)updateUserPool:(AWSCognitoIdentityProviderUpdateUserPoolRequest *)request; /** -

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using DescribeUserPool. If you don't provide a value for an attribute, it will be set to the default value.

This action might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers require that you register an origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Cognito will use the the registered number automatically. Otherwise, Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode, you’ll have limitations, such as sending messages to only verified phone numbers. After testing in the sandbox environment, you can move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the UpdateUserPool service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2542,7 +2567,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)updateUserPool:(AWSCognitoIdentityProviderUpdateUserPoolRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserPoolResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

You can also use this operation to enable token revocation for user pool clients. For more information about revoking tokens, see RevokeToken.

@param request A container for the necessary parameters to execute the UpdateUserPoolClient service method. @@ -2554,7 +2579,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)updateUserPoolClient:(AWSCognitoIdentityProviderUpdateUserPoolClientRequest *)request; /** -

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

+

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using DescribeUserPoolClient.

If you don't provide a value for an attribute, it will be set to the default value.

You can also use this operation to enable token revocation for user pool clients. For more information about revoking tokens, see RevokeToken.

@param request A container for the necessary parameters to execute the UpdateUserPoolClient service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2567,7 +2592,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)updateUserPoolClient:(AWSCognitoIdentityProviderUpdateUserPoolClientRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserPoolClientResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

+

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

@param request A container for the necessary parameters to execute the UpdateUserPoolDomain service method. @@ -2579,7 +2604,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)updateUserPoolDomain:(AWSCognitoIdentityProviderUpdateUserPoolDomainRequest *)request; /** -

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

+

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

@param request A container for the necessary parameters to execute the UpdateUserPoolDomain service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index e0a1cf6f..ac3df0b5 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -25,7 +25,7 @@ #import "AWSCognitoIdentityProviderResources.h" static NSString *const AWSInfoCognitoIdentityProvider = @"CognitoIdentityProvider"; -NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.24.0"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.26.0"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer @@ -66,8 +66,11 @@ + (void)initialize { @"SoftwareTokenMFANotFoundException" : @(AWSCognitoIdentityProviderErrorSoftwareTokenMFANotFound), @"TooManyFailedAttemptsException" : @(AWSCognitoIdentityProviderErrorTooManyFailedAttempts), @"TooManyRequestsException" : @(AWSCognitoIdentityProviderErrorTooManyRequests), + @"UnauthorizedException" : @(AWSCognitoIdentityProviderErrorUnauthorized), @"UnexpectedLambdaException" : @(AWSCognitoIdentityProviderErrorUnexpectedLambda), @"UnsupportedIdentityProviderException" : @(AWSCognitoIdentityProviderErrorUnsupportedIdentityProvider), + @"UnsupportedOperationException" : @(AWSCognitoIdentityProviderErrorUnsupportedOperation), + @"UnsupportedTokenTypeException" : @(AWSCognitoIdentityProviderErrorUnsupportedTokenType), @"UnsupportedUserStateException" : @(AWSCognitoIdentityProviderErrorUnsupportedUserState), @"UserImportInProgressException" : @(AWSCognitoIdentityProviderErrorUserImportInProgress), @"UserLambdaValidationException" : @(AWSCognitoIdentityProviderErrorUserLambdaValidation), @@ -2116,6 +2119,29 @@ - (void)respondToAuthChallenge:(AWSCognitoIdentityProviderRespondToAuthChallenge }]; } +- (AWSTask *)revokeToken:(AWSCognitoIdentityProviderRevokeTokenRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"AWSCognitoIdentityProviderService" + operationName:@"RevokeToken" + outputClass:[AWSCognitoIdentityProviderRevokeTokenResponse class]]; +} + +- (void)revokeToken:(AWSCognitoIdentityProviderRevokeTokenRequest *)request + completionHandler:(void (^)(AWSCognitoIdentityProviderRevokeTokenResponse *response, NSError *error))completionHandler { + [[self revokeToken:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSCognitoIdentityProviderRevokeTokenResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)setRiskConfiguration:(AWSCognitoIdentityProviderSetRiskConfigurationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h index 79fad7a9..871dddc5 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h @@ -70,6 +70,11 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, readonly, getter=isSignedIn) BOOL signedIn; +/** + Determines whether this user's session is revocable. If the access token has "origin_jti" claim, then the revocation feature is enabled. +*/ +@property (nonatomic, readonly, getter=isSessionRevocable) BOOL sessionRevocable; + /** Get the device id */ @@ -219,6 +224,11 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)signOut; +/** + Revoke all tokens for this user. Check Access Token for claims for validity to revoke tokens. + */ +- (AWSTask *) revokeToken; + /** Invalidate any active sessions with the service. Last known user remains. */ diff --git a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m index 300d7078..15b69b50 100644 --- a/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m +++ b/Pods/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m @@ -1488,6 +1488,24 @@ -(BOOL) isSignedIn { return refreshToken != nil; } +-(BOOL) isSessionRevocable { + NSString * keyChainNamespace = [self keyChainNamespaceClientId]; + NSString * accessTokenKey = [self keyChainKey:keyChainNamespace key:AWSCognitoIdentityUserAccessToken]; + NSString * accessTokenString = self.pool.keychain[accessTokenKey]; + AWSCognitoIdentityUserSessionToken * accessToken = [[AWSCognitoIdentityUserSessionToken alloc] initWithToken:accessTokenString]; + return [accessToken.tokenClaims objectForKey:@"origin_jti"]; +} + +- (AWSTask *) revokeToken { + NSString * keyChainNamespace = [self keyChainNamespaceClientId]; + AWSCognitoIdentityProviderRevokeTokenRequest *request = [AWSCognitoIdentityProviderRevokeTokenRequest new]; + NSString * refreshToken = [self refreshTokenFromKeyChain:keyChainNamespace]; + request.token = refreshToken; + request.clientId = self.pool.userPoolConfiguration.clientId; + request.clientSecret = self.pool.userPoolConfiguration.clientSecret; + return [self.pool.client revokeToken:request]; +} + - (AWSTask *) globalSignOut { AWSCognitoIdentityProviderGlobalSignOutRequest *request = [AWSCognitoIdentityProviderGlobalSignOutRequest new]; return [[self getSession] continueWithSuccessBlock:^id _Nullable(AWSTask * _Nonnull task) { diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTS.h b/Pods/AWSCore/AWSCore/STS/AWSSTS.h index fb2b9e22..d99e9d5b 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTS.h +++ b/Pods/AWSCore/AWSCore/STS/AWSSTS.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSModel.h b/Pods/AWSCore/AWSCore/STS/AWSSTSModel.h index 726fede5..0d52d284 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSModel.h +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSModel.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -62,22 +62,22 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

+

The duration, in seconds, of the role session. The value specified can can range from 900 seconds (15 minutes) up to the maximum session duration that is set for the role. The maximum session duration setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting or the administrator setting (whichever is lower), the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable durationSeconds; /** -

A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

+

A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your Amazon Web Services Resources to a Third Party in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

*/ @property (nonatomic, strong) NSString * _Nullable externalId; /** -

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

+

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

*/ @property (nonatomic, strong) NSString * _Nullable policy; /** -

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

+

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable policyArns; @@ -87,7 +87,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable roleArn; /** -

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their AWS CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

*/ @property (nonatomic, strong) NSString * _Nullable roleSessionName; @@ -97,12 +97,17 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable serialNumber; /** -

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging AWS STS Sessions in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the AWS CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

+

The source identity specified by the principal that is calling the AssumeRole operation.

You can require users to specify a source identity when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. You can use source identity information in CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity condition key to further control access to Amazon Web Services resources based on the value of source identity. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-. You cannot use a value that begins with the text aws:. This prefix is reserved for Amazon Web Services internal use.

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceIdentity; + +/** +

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging STS Sessions in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable tags; /** -

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA (that is, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an "access denied" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

+

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA. (In other words, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an "access denied" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

*/ @property (nonatomic, strong) NSString * _Nullable tokenCode; @@ -114,7 +119,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @end /** -

Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.

+

Contains the response to a successful AssumeRole request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

*/ @interface AWSSTSAssumeRoleResponse : AWSModel @@ -134,6 +139,11 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { */ @property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; +/** +

The source identity specified by the principal that is calling the AssumeRole operation.

You can require users to specify a source identity when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. You can use source identity information in CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity condition key to further control access to Amazon Web Services resources based on the value of source identity. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceIdentity; + @end /** @@ -143,17 +153,17 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

+

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable durationSeconds; /** -

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

+

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

*/ @property (nonatomic, strong) NSString * _Nullable policy; /** -

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

+

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable policyArns; @@ -168,14 +178,14 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable roleArn; /** -

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

+

The base64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable SAMLAssertion; @end /** -

Contains the response to a successful AssumeRoleWithSAML request, including temporary AWS credentials that can be used to make AWS requests.

+

Contains the response to a successful AssumeRoleWithSAML request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

*/ @interface AWSSTSAssumeRoleWithSAMLResponse : AWSModel @@ -201,7 +211,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable issuer; /** -

A hash value based on the concatenation of the Issuer response value, the AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider in IAM. The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" ) )

+

A hash value based on the concatenation of the following:

  • The Issuer response value.

  • The Amazon Web Services account ID.

  • The friendly name (the last part of the ARN) of the SAML provider in IAM.

The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" ) )

*/ @property (nonatomic, strong) NSString * _Nullable nameQualifier; @@ -210,6 +220,11 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { */ @property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; +/** +

The value in the SourceIdentity attribute in the SAML assertion.

You can require users to set a source identity value when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the role are associated with that user. After the source identity is set, the value cannot be changed. It is present in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your SAML identity provider to use an attribute associated with your users, like user name or email, as the source identity when calling AssumeRoleWithSAML. You do this by adding an attribute to the SAML assertion. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceIdentity; + /**

The value of the NameID element in the Subject element of the SAML assertion.

*/ @@ -229,17 +244,17 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

+

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable durationSeconds; /** -

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

+

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

*/ @property (nonatomic, strong) NSString * _Nullable policy; /** -

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

+

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable policyArns; @@ -266,7 +281,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @end /** -

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary AWS credentials that can be used to make AWS requests.

+

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

*/ @interface AWSSTSAssumeRoleWithWebIdentityResponse : AWSModel @@ -296,6 +311,11 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { */ @property (nonatomic, strong) NSString * _Nullable provider; +/** +

The value of the source identity that is returned in the JSON web token (JWT) from the identity provider.

You can require users to set a source identity value when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the role are associated with that user. After the source identity is set, the value cannot be changed. It is present in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceIdentity; + /**

The unique user identifier that is returned by the identity provider. This identifier is associated with the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The identifier is typically unique to the user and the application that acquired the WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity provider as the token's sub (Subject) claim.

*/ @@ -316,14 +336,14 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable arn; /** -

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by AWS when the role is created.

+

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by Amazon Web Services when the role is created.

*/ @property (nonatomic, strong) NSString * _Nullable assumedRoleId; @end /** -

AWS credentials for API authentication.

+

Amazon Web Services credentials for API authentication.

Required parameters: [AccessKeyId, SecretAccessKey, SessionToken, Expiration] */ @interface AWSSTSCredentials : AWSModel @@ -365,7 +385,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @end /** -

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an AWS request.

+

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an Amazon Web Services request.

*/ @interface AWSSTSDecodeAuthorizationMessageResponse : AWSModel @@ -416,7 +436,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The number used to identify the AWS account.

+

The number used to identify the Amazon Web Services account.

*/ @property (nonatomic, strong) NSString * _Nullable account; @@ -437,12 +457,12 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The AWS account ID number of the account that owns or contains the calling entity.

+

The Amazon Web Services account ID number of the account that owns or contains the calling entity.

*/ @property (nonatomic, strong) NSString * _Nullable account; /** -

The AWS ARN associated with the calling entity.

+

The Amazon Web Services ARN associated with the calling entity.

*/ @property (nonatomic, strong) NSString * _Nullable arn; @@ -460,7 +480,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

+

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using Amazon Web Services account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

*/ @property (nonatomic, strong) NSNumber * _Nullable durationSeconds; @@ -470,24 +490,24 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @property (nonatomic, strong) NSString * _Nullable name; /** -

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

+

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\u0020 through \u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

*/ @property (nonatomic, strong) NSString * _Nullable policy; /** -

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

+

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

*/ @property (nonatomic, strong) NSArray * _Nullable policyArns; /** -

A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

+

A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

*/ @property (nonatomic, strong) NSArray * _Nullable tags; @end /** -

Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.

+

Contains the response to a successful GetFederationToken request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

*/ @interface AWSSTSGetFederationTokenResponse : AWSModel @@ -516,12 +536,12 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

+

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for Amazon Web Services account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for Amazon Web Services account owners defaults to one hour.

*/ @property (nonatomic, strong) NSNumber * _Nullable durationSeconds; /** -

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

+

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

*/ @property (nonatomic, strong) NSString * _Nullable serialNumber; @@ -533,7 +553,7 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { @end /** -

Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

+

Contains the response to a successful GetSessionToken request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

*/ @interface AWSSTSGetSessionTokenResponse : AWSModel @@ -552,14 +572,14 @@ typedef NS_ENUM(NSInteger, AWSSTSErrorType) { /** -

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

+

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

*/ @property (nonatomic, strong) NSString * _Nullable arn; @end /** -

You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging AWS STS Sessions in the IAM User Guide.

+

You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging STS Sessions in the IAM User Guide.

Required parameters: [Key, Value] */ @interface AWSSTSTag : AWSModel diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSModel.m b/Pods/AWSCore/AWSCore/STS/AWSSTSModel.m index 3222b730..b9eb885c 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSModel.m +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSModel.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -33,6 +33,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"roleArn" : @"RoleArn", @"roleSessionName" : @"RoleSessionName", @"serialNumber" : @"SerialNumber", + @"sourceIdentity" : @"SourceIdentity", @"tags" : @"Tags", @"tokenCode" : @"TokenCode", @"transitiveTagKeys" : @"TransitiveTagKeys", @@ -60,6 +61,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"assumedRoleUser" : @"AssumedRoleUser", @"credentials" : @"Credentials", @"packedPolicySize" : @"PackedPolicySize", + @"sourceIdentity" : @"SourceIdentity", }; } @@ -110,6 +112,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"issuer" : @"Issuer", @"nameQualifier" : @"NameQualifier", @"packedPolicySize" : @"PackedPolicySize", + @"sourceIdentity" : @"SourceIdentity", @"subject" : @"Subject", @"subjectType" : @"SubjectType", }; @@ -162,6 +165,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"credentials" : @"Credentials", @"packedPolicySize" : @"PackedPolicySize", @"provider" : @"Provider", + @"sourceIdentity" : @"SourceIdentity", @"subjectFromWebIdentityToken" : @"SubjectFromWebIdentityToken", }; } diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSResources.h b/Pods/AWSCore/AWSCore/STS/AWSSTSResources.h index 667b5e29..bd3bfa38 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSResources.h +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSResources.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSResources.m b/Pods/AWSCore/AWSCore/STS/AWSSTSResources.m index ba4c5e8f..d5c12fc9 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSResources.m +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSResources.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -88,7 +88,7 @@ - (NSString *)definitionString { {\"shape\":\"RegionDisabledException\"},\ {\"shape\":\"ExpiredTokenException\"}\ ],\ - \"documentation\":\"

Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide.

Session Duration

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\\\"Condition\\\": {\\\"Bool\\\": {\\\"aws:MultiFactorAuthPresent\\\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

\"\ + \"documentation\":\"

Returns a set of temporary security credentials that you can use to access Amazon Web Services resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any Amazon Web Services service with the following exception: You cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\\\"Condition\\\": {\\\"Bool\\\": {\\\"aws:MultiFactorAuthPresent\\\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

\"\ },\ \"AssumeRoleWithSAML\":{\ \"name\":\"AssumeRoleWithSAML\",\ @@ -109,7 +109,7 @@ - (NSString *)definitionString { {\"shape\":\"ExpiredTokenException\"},\ {\"shape\":\"RegionDisabledException\"}\ ],\ - \"documentation\":\"

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

\"\ + \"documentation\":\"

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

\"\ },\ \"AssumeRoleWithWebIdentity\":{\ \"name\":\"AssumeRoleWithWebIdentity\",\ @@ -131,7 +131,7 @@ - (NSString *)definitionString { {\"shape\":\"ExpiredTokenException\"},\ {\"shape\":\"RegionDisabledException\"}\ ],\ - \"documentation\":\"

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

\"\ + \"documentation\":\"

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the Amazon Web Services SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

\"\ },\ \"DecodeAuthorizationMessage\":{\ \"name\":\"DecodeAuthorizationMessage\",\ @@ -147,7 +147,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"InvalidAuthorizationMessageException\"}\ ],\ - \"documentation\":\"

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

\"\ + \"documentation\":\"

Decodes additional information about the authorization status of a request from an encoded message returned in response to an Amazon Web Services request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some Amazon Web Services operations additionally return an encoded message that can provide details about this authorization failure.

Only certain Amazon Web Services operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

\"\ },\ \"GetAccessKeyInfo\":{\ \"name\":\"GetAccessKeyInfo\",\ @@ -160,7 +160,7 @@ - (NSString *)definitionString { \"shape\":\"GetAccessKeyInfoResponse\",\ \"resultWrapper\":\"GetAccessKeyInfoResult\"\ },\ - \"documentation\":\"

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the AWS account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the AWS account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

\"\ + \"documentation\":\"

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the Amazon Web Services account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the Amazon Web Services account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

\"\ },\ \"GetCallerIdentity\":{\ \"name\":\"GetCallerIdentity\",\ @@ -191,7 +191,7 @@ - (NSString *)definitionString { {\"shape\":\"PackedPolicyTooLargeException\"},\ {\"shape\":\"RegionDisabledException\"}\ ],\ - \"documentation\":\"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any AWS service except the following:

  • You cannot call any IAM operations using the AWS CLI or the AWS API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

\"\ + \"documentation\":\"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

\"\ },\ \"GetSessionToken\":{\ \"name\":\"GetSessionToken\",\ @@ -207,7 +207,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"RegionDisabledException\"}\ ],\ - \"documentation\":\"

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API except AssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

\"\ + \"documentation\":\"

Returns a set of temporary credentials for an Amazon Web Services account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific Amazon Web Services API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term Amazon Web Services security credentials of the Amazon Web Services account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any Amazon Web Services service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API except AssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with Amazon Web Services account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with Amazon Web Services.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using Amazon Web Services account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

\"\ }\ },\ \"shapes\":{\ @@ -224,23 +224,23 @@ - (NSString *)definitionString { },\ \"RoleSessionName\":{\ \"shape\":\"roleSessionNameType\",\ - \"documentation\":\"

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their AWS CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

\"\ + \"documentation\":\"

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

\"\ },\ \"PolicyArns\":{\ \"shape\":\"policyDescriptorListType\",\ - \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ },\ \"Policy\":{\ \"shape\":\"sessionPolicyDocumentType\",\ - \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ + \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"DurationSeconds\":{\ \"shape\":\"roleDurationSecondsType\",\ - \"documentation\":\"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

\"\ + \"documentation\":\"

The duration, in seconds, of the role session. The value specified can can range from 900 seconds (15 minutes) up to the maximum session duration that is set for the role. The maximum session duration setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting or the administrator setting (whichever is lower), the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

\"\ },\ \"Tags\":{\ \"shape\":\"tagListType\",\ - \"documentation\":\"

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging AWS STS Sessions in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the AWS CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

\"\ + \"documentation\":\"

A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging STS Sessions in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

\"\ },\ \"TransitiveTagKeys\":{\ \"shape\":\"tagKeyListType\",\ @@ -248,7 +248,7 @@ - (NSString *)definitionString { },\ \"ExternalId\":{\ \"shape\":\"externalIdType\",\ - \"documentation\":\"

A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

\"\ + \"documentation\":\"

A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your Amazon Web Services Resources to a Third Party in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

\"\ },\ \"SerialNumber\":{\ \"shape\":\"serialNumberType\",\ @@ -256,7 +256,11 @@ - (NSString *)definitionString { },\ \"TokenCode\":{\ \"shape\":\"tokenCodeType\",\ - \"documentation\":\"

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA (that is, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an \\\"access denied\\\" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

\"\ + \"documentation\":\"

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA. (In other words, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an \\\"access denied\\\" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

\"\ + },\ + \"SourceIdentity\":{\ + \"shape\":\"sourceIdentityType\",\ + \"documentation\":\"

The source identity specified by the principal that is calling the AssumeRole operation.

You can require users to specify a source identity when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. You can use source identity information in CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity condition key to further control access to Amazon Web Services resources based on the value of source identity. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-. You cannot use a value that begins with the text aws:. This prefix is reserved for Amazon Web Services internal use.

\"\ }\ }\ },\ @@ -274,9 +278,13 @@ - (NSString *)definitionString { \"PackedPolicySize\":{\ \"shape\":\"nonNegativeIntegerType\",\ \"documentation\":\"

A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

\"\ + },\ + \"SourceIdentity\":{\ + \"shape\":\"sourceIdentityType\",\ + \"documentation\":\"

The source identity specified by the principal that is calling the AssumeRole operation.

You can require users to specify a source identity when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. You can use source identity information in CloudTrail logs to determine who took actions with a role. You can use the aws:SourceIdentity condition key to further control access to Amazon Web Services resources based on the value of source identity. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

\"\ }\ },\ - \"documentation\":\"

Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.

\"\ + \"documentation\":\"

Contains the response to a successful AssumeRole request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

\"\ },\ \"AssumeRoleWithSAMLRequest\":{\ \"type\":\"structure\",\ @@ -296,19 +304,19 @@ - (NSString *)definitionString { },\ \"SAMLAssertion\":{\ \"shape\":\"SAMLAssertionType\",\ - \"documentation\":\"

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

\"\ + \"documentation\":\"

The base64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

\"\ },\ \"PolicyArns\":{\ \"shape\":\"policyDescriptorListType\",\ - \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ },\ \"Policy\":{\ \"shape\":\"sessionPolicyDocumentType\",\ - \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ + \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"DurationSeconds\":{\ \"shape\":\"roleDurationSecondsType\",\ - \"documentation\":\"

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

\"\ + \"documentation\":\"

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

\"\ }\ }\ },\ @@ -345,10 +353,14 @@ - (NSString *)definitionString { },\ \"NameQualifier\":{\ \"shape\":\"NameQualifier\",\ - \"documentation\":\"

A hash value based on the concatenation of the Issuer response value, the AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider in IAM. The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( \\\"https://example.com/saml\\\" + \\\"123456789012\\\" + \\\"/MySAMLIdP\\\" ) )

\"\ + \"documentation\":\"

A hash value based on the concatenation of the following:

  • The Issuer response value.

  • The Amazon Web Services account ID.

  • The friendly name (the last part of the ARN) of the SAML provider in IAM.

The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( \\\"https://example.com/saml\\\" + \\\"123456789012\\\" + \\\"/MySAMLIdP\\\" ) )

\"\ + },\ + \"SourceIdentity\":{\ + \"shape\":\"sourceIdentityType\",\ + \"documentation\":\"

The value in the SourceIdentity attribute in the SAML assertion.

You can require users to set a source identity value when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the role are associated with that user. After the source identity is set, the value cannot be changed. It is present in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your SAML identity provider to use an attribute associated with your users, like user name or email, as the source identity when calling AssumeRoleWithSAML. You do this by adding an attribute to the SAML assertion. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

\"\ }\ },\ - \"documentation\":\"

Contains the response to a successful AssumeRoleWithSAML request, including temporary AWS credentials that can be used to make AWS requests.

\"\ + \"documentation\":\"

Contains the response to a successful AssumeRoleWithSAML request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

\"\ },\ \"AssumeRoleWithWebIdentityRequest\":{\ \"type\":\"structure\",\ @@ -376,15 +388,15 @@ - (NSString *)definitionString { },\ \"PolicyArns\":{\ \"shape\":\"policyDescriptorListType\",\ - \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ },\ \"Policy\":{\ \"shape\":\"sessionPolicyDocumentType\",\ - \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ + \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"DurationSeconds\":{\ \"shape\":\"roleDurationSecondsType\",\ - \"documentation\":\"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

\"\ + \"documentation\":\"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the Management Console in the IAM User Guide.

\"\ }\ }\ },\ @@ -414,9 +426,13 @@ - (NSString *)definitionString { \"Audience\":{\ \"shape\":\"Audience\",\ \"documentation\":\"

The intended audience (also known as client ID) of the web identity token. This is traditionally the client identifier issued to the application that requested the web identity token.

\"\ + },\ + \"SourceIdentity\":{\ + \"shape\":\"sourceIdentityType\",\ + \"documentation\":\"

The value of the source identity that is returned in the JSON web token (JWT) from the identity provider.

You can require users to set a source identity value when they assume a role. You do this by using the sts:SourceIdentity condition key in a role trust policy. That way, actions that are taken with the role are associated with that user. After the source identity is set, the value cannot be changed. It is present in the request for all actions that are taken by the role and persists across chained role sessions. You can configure your identity provider to use an attribute associated with your users, like user name or email, as the source identity when calling AssumeRoleWithWebIdentity. You do this by adding a claim to the JSON web token. To learn more about OIDC tokens and claims, see Using Tokens with User Pools in the Amazon Cognito Developer Guide. For more information about using source identity, see Monitor and control actions taken with assumed roles in the IAM User Guide.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

\"\ }\ },\ - \"documentation\":\"

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary AWS credentials that can be used to make AWS requests.

\"\ + \"documentation\":\"

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

\"\ },\ \"AssumedRoleUser\":{\ \"type\":\"structure\",\ @@ -427,7 +443,7 @@ - (NSString *)definitionString { \"members\":{\ \"AssumedRoleId\":{\ \"shape\":\"assumedRoleIdType\",\ - \"documentation\":\"

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by AWS when the role is created.

\"\ + \"documentation\":\"

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by Amazon Web Services when the role is created.

\"\ },\ \"Arn\":{\ \"shape\":\"arnType\",\ @@ -463,7 +479,7 @@ - (NSString *)definitionString { \"documentation\":\"

The date on which the current credentials expire.

\"\ }\ },\ - \"documentation\":\"

AWS credentials for API authentication.

\"\ + \"documentation\":\"

Amazon Web Services credentials for API authentication.

\"\ },\ \"DecodeAuthorizationMessageRequest\":{\ \"type\":\"structure\",\ @@ -483,7 +499,7 @@ - (NSString *)definitionString { \"documentation\":\"

An XML document that contains the decoded message.

\"\ }\ },\ - \"documentation\":\"

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an AWS request.

\"\ + \"documentation\":\"

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an Amazon Web Services request.

\"\ },\ \"ExpiredTokenException\":{\ \"type\":\"structure\",\ @@ -531,7 +547,7 @@ - (NSString *)definitionString { \"members\":{\ \"Account\":{\ \"shape\":\"accountType\",\ - \"documentation\":\"

The number used to identify the AWS account.

\"\ + \"documentation\":\"

The number used to identify the Amazon Web Services account.

\"\ }\ }\ },\ @@ -549,11 +565,11 @@ - (NSString *)definitionString { },\ \"Account\":{\ \"shape\":\"accountType\",\ - \"documentation\":\"

The AWS account ID number of the account that owns or contains the calling entity.

\"\ + \"documentation\":\"

The Amazon Web Services account ID number of the account that owns or contains the calling entity.

\"\ },\ \"Arn\":{\ \"shape\":\"arnType\",\ - \"documentation\":\"

The AWS ARN associated with the calling entity.

\"\ + \"documentation\":\"

The Amazon Web Services ARN associated with the calling entity.

\"\ }\ },\ \"documentation\":\"

Contains the response to a successful GetCallerIdentity request, including information about the entity making the request.

\"\ @@ -568,19 +584,19 @@ - (NSString *)definitionString { },\ \"Policy\":{\ \"shape\":\"sessionPolicyDocumentType\",\ - \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ + \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"PolicyArns\":{\ \"shape\":\"policyDescriptorListType\",\ - \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ + \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"DurationSeconds\":{\ \"shape\":\"durationSecondsType\",\ - \"documentation\":\"

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

\"\ + \"documentation\":\"

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using Amazon Web Services account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

\"\ },\ \"Tags\":{\ \"shape\":\"tagListType\",\ - \"documentation\":\"

A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

\"\ + \"documentation\":\"

A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

This parameter is optional. You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

\"\ }\ }\ },\ @@ -600,18 +616,18 @@ - (NSString *)definitionString { \"documentation\":\"

A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

\"\ }\ },\ - \"documentation\":\"

Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.

\"\ + \"documentation\":\"

Contains the response to a successful GetFederationToken request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

\"\ },\ \"GetSessionTokenRequest\":{\ \"type\":\"structure\",\ \"members\":{\ \"DurationSeconds\":{\ \"shape\":\"durationSecondsType\",\ - \"documentation\":\"

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

\"\ + \"documentation\":\"

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for Amazon Web Services account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for Amazon Web Services account owners defaults to one hour.

\"\ },\ \"SerialNumber\":{\ \"shape\":\"serialNumberType\",\ - \"documentation\":\"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

\"\ + \"documentation\":\"

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

\"\ },\ \"TokenCode\":{\ \"shape\":\"tokenCodeType\",\ @@ -627,7 +643,7 @@ - (NSString *)definitionString { \"documentation\":\"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

\"\ }\ },\ - \"documentation\":\"

Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

\"\ + \"documentation\":\"

Contains the response to a successful GetSessionToken request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests.

\"\ },\ \"IDPCommunicationErrorException\":{\ \"type\":\"structure\",\ @@ -673,7 +689,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"invalidIdentityTokenMessage\"}\ },\ - \"documentation\":\"

The web identity token that was passed could not be validated by AWS. Get a new identity token from the identity provider and then retry the request.

\",\ + \"documentation\":\"

The web identity token that was passed could not be validated by Amazon Web Services. Get a new identity token from the identity provider and then retry the request.

\",\ \"error\":{\ \"code\":\"InvalidIdentityToken\",\ \"httpStatusCode\":400,\ @@ -701,7 +717,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"packedPolicyTooLargeMessage\"}\ },\ - \"documentation\":\"

The request was rejected because the total packed size of the session policies and session tags combined was too large. An AWS conversion compresses the session policy document, session policy ARNs, and session tags into a packed binary format that has a separate limit. The error message indicates by percentage how close the policies and tags are to the upper size limit. For more information, see Passing Session Tags in STS in the IAM User Guide.

You could receive this error even though you meet other defined session policy and session tag limits. For more information, see IAM and STS Entity Character Limits in the IAM User Guide.

\",\ + \"documentation\":\"

The request was rejected because the total packed size of the session policies and session tags combined was too large. An Amazon Web Services conversion compresses the session policy document, session policy ARNs, and session tags into a packed binary format that has a separate limit. The error message indicates by percentage how close the policies and tags are to the upper size limit. For more information, see Passing Session Tags in STS in the IAM User Guide.

You could receive this error even though you meet other defined session policy and session tag limits. For more information, see IAM and STS Entity Character Limits in the IAM User Guide.

\",\ \"error\":{\ \"code\":\"PackedPolicyTooLarge\",\ \"httpStatusCode\":400,\ @@ -714,7 +730,7 @@ - (NSString *)definitionString { \"members\":{\ \"arn\":{\ \"shape\":\"arnType\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

\"\ }\ },\ \"documentation\":\"

A reference to the IAM managed policy that is passed as a session policy for a role session or a federated user session.

\"\ @@ -724,7 +740,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"regionDisabledMessage\"}\ },\ - \"documentation\":\"

STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

\",\ + \"documentation\":\"

STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating Amazon Web Services STS in an Amazon Web Services Region in the IAM User Guide.

\",\ \"error\":{\ \"code\":\"RegionDisabledException\",\ \"httpStatusCode\":403,\ @@ -755,7 +771,7 @@ - (NSString *)definitionString { \"documentation\":\"

The value for a session tag.

You can pass up to 50 session tags. The plain text session tag values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

\"\ }\ },\ - \"documentation\":\"

You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging AWS STS Sessions in the IAM User Guide.

\"\ + \"documentation\":\"

You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging STS Sessions in the IAM User Guide.

\"\ },\ \"accessKeyIdType\":{\ \"type\":\"string\",\ @@ -779,7 +795,7 @@ - (NSString *)definitionString { },\ \"clientTokenType\":{\ \"type\":\"string\",\ - \"max\":2048,\ + \"max\":20000,\ \"min\":4\ },\ \"dateType\":{\"type\":\"timestamp\"},\ @@ -845,6 +861,12 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\"[\\\\u0009\\\\u000A\\\\u000D\\\\u0020-\\\\u00FF]+\"\ },\ + \"sourceIdentityType\":{\ + \"type\":\"string\",\ + \"max\":64,\ + \"min\":2,\ + \"pattern\":\"[\\\\w+=,.@-]*\"\ + },\ \"tagKeyListType\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"tagKeyType\"},\ @@ -892,7 +914,7 @@ - (NSString *)definitionString { \"min\":6\ }\ },\ - \"documentation\":\"AWS Security Token Service

AWS Security Token Service (STS) enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials.

\"\ + \"documentation\":\"Security Token Service

Security Token Service (STS) enables you to request temporary, limited-privilege credentials for Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials.

\"\ }\ "; } diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSService.h b/Pods/AWSCore/AWSCore/STS/AWSSTSService.h index d0dc7ad0..b2447931 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSService.h +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSService.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN /** - AWS Security Token Service

AWS Security Token Service (STS) enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials.

+ Security Token Service

Security Token Service (STS) enables you to request temporary, limited-privilege credentials for Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more information about using this service, see Temporary Security Credentials.

*/ @interface AWSSTS : AWSService @@ -172,7 +172,7 @@ NS_ASSUME_NONNULL_BEGIN + (void)removeSTSForKey:(NSString *)key; /** -

Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide.

Session Duration

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

+

Returns a set of temporary security credentials that you can use to access Amazon Web Services resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any Amazon Web Services service with the following exception: You cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

@param request A container for the necessary parameters to execute the AssumeRole service method. @@ -184,7 +184,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)assumeRole:(AWSSTSAssumeRoleRequest *)request; /** -

Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide.

Session Duration

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

+

Returns a set of temporary security credentials that you can use to access Amazon Web Services resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRole can be used to make API calls to any Amazon Web Services service with the following exception: You cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

To assume a role from a different account, your account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

  • Attach a policy to the user (identical to the previous user in a different account).

  • Add the user as a principal directly in the role's trust policy.

In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Tags

(Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Using MFA with AssumeRole

(Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an Amazon Web Services MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

@param request A container for the necessary parameters to execute the AssumeRole service method. @param completionHandler The completion handler to call when the load request is complete. @@ -197,7 +197,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)assumeRole:(AWSSTSAssumeRoleRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

+

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

@param request A container for the necessary parameters to execute the AssumeRoleWithSAML service method. @@ -209,7 +209,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)assumeRoleWithSAML:(AWSSTSAssumeRoleWithSAMLRequest *)request; /** -

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

+

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based Amazon Web Services access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services services.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Role chaining limits your CLI or Amazon Web Services API role session to a maximum of one hour. When you use the AssumeRole API operation to assume a role, you can specify the duration of your role session with the DurationSeconds parameter. You can specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum session duration setting for your role. However, if you assume a role using role chaining and provide a DurationSeconds parameter value greater than one hour, the operation fails.

Permissions

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Calling AssumeRoleWithSAML does not require the use of Amazon Web Services security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

Tags

(Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

SAML Configuration

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by Amazon Web Services. Additionally, you must use Identity and Access Management (IAM) to create a SAML provider entity in your Amazon Web Services account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

For more information, see the following resources:

@param request A container for the necessary parameters to execute the AssumeRoleWithSAML service method. @param completionHandler The completion handler to call when the load request is complete. @@ -222,7 +222,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)assumeRoleWithSAML:(AWSSTSAssumeRoleWithSAMLRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleWithSAMLResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

+

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the Amazon Web Services SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

@param request A container for the necessary parameters to execute the AssumeRoleWithWebIdentity service method. @@ -234,7 +234,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)assumeRoleWithWebIdentity:(AWSSTSAssumeRoleWithWebIdentityRequest *)request; /** -

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

+

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide and the Amazon Web Services SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in Amazon Web Services SDK for Android Developer Guide and Amazon Cognito Overview in the Amazon Web Services SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of Amazon Web Services security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term Amazon Web Services credentials in the application. You also don't need to deploy server-based proxy services that use long-term Amazon Web Services credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to Amazon Web Services service API operations.

Session Duration

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

Permissions

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any Amazon Web Services service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

(Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

Tags

(Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can pass up to 50 session tags. The plaintext session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

An Amazon Web Services conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

Identities

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your CloudTrail logs. The entry includes the Subject of the provided web identity token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

@param request A container for the necessary parameters to execute the AssumeRoleWithWebIdentity service method. @param completionHandler The completion handler to call when the load request is complete. @@ -247,7 +247,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)assumeRoleWithWebIdentity:(AWSSTSAssumeRoleWithWebIdentityRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleWithWebIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

+

Decodes additional information about the authorization status of a request from an encoded message returned in response to an Amazon Web Services request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some Amazon Web Services operations additionally return an encoded message that can provide details about this authorization failure.

Only certain Amazon Web Services operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

@param request A container for the necessary parameters to execute the DecodeAuthorizationMessage service method. @@ -259,7 +259,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)decodeAuthorizationMessage:(AWSSTSDecodeAuthorizationMessageRequest *)request; /** -

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

+

Decodes additional information about the authorization status of a request from an encoded message returned in response to an Amazon Web Services request.

For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some Amazon Web Services operations additionally return an encoded message that can provide details about this authorization failure.

Only certain Amazon Web Services operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

@param request A container for the necessary parameters to execute the DecodeAuthorizationMessage service method. @param completionHandler The completion handler to call when the load request is complete. @@ -272,7 +272,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)decodeAuthorizationMessage:(AWSSTSDecodeAuthorizationMessageRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSDecodeAuthorizationMessageResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the AWS account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the AWS account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

+

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the Amazon Web Services account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the Amazon Web Services account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

@param request A container for the necessary parameters to execute the GetAccessKeyInfo service method. @@ -284,7 +284,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)getAccessKeyInfo:(AWSSTSGetAccessKeyInfoRequest *)request; /** -

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the AWS account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the AWS account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

+

Returns the account identifier for the specified access key ID.

Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

When you pass an access key ID to this operation, it returns the ID of the Amazon Web Services account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the Amazon Web Services account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

@param request A container for the necessary parameters to execute the GetAccessKeyInfo service method. @param completionHandler The completion handler to call when the load request is complete. @@ -322,7 +322,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)getCallerIdentity:(AWSSTSGetCallerIdentityRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSGetCallerIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any AWS service except the following:

  • You cannot call any IAM operations using the AWS CLI or the AWS API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

+

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

@param request A container for the necessary parameters to execute the GetFederationToken service method. @@ -334,7 +334,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)getFederationToken:(AWSSTSGetFederationTokenRequest *)request; /** -

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any AWS service except the following:

  • You cannot call any IAM operations using the AWS CLI or the AWS API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

+

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

You can also call GetFederationToken using the security credentials of an Amazon Web Services account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

Session duration

The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using Amazon Web Services account root user credentials have a maximum duration of 3,600 seconds (1 hour).

Permissions

You can use the temporary credentials created by GetFederationToken in any Amazon Web Services service except the following:

  • You cannot call any IAM operations using the CLI or the Amazon Web Services API.

  • You cannot call any STS operations except GetCallerIdentity.

You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

Tags

(Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

@param request A container for the necessary parameters to execute the GetFederationToken service method. @param completionHandler The completion handler to call when the load request is complete. @@ -347,7 +347,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)getFederationToken:(AWSSTSGetFederationTokenRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSGetFederationTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

+

Returns a set of temporary credentials for an Amazon Web Services account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific Amazon Web Services API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term Amazon Web Services security credentials of the Amazon Web Services account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any Amazon Web Services service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with Amazon Web Services account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with Amazon Web Services.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using Amazon Web Services account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

@param request A container for the necessary parameters to execute the GetSessionToken service method. @@ -359,7 +359,7 @@ NS_ASSUME_NONNULL_BEGIN - (AWSTask *)getSessionToken:(AWSSTSGetSessionTokenRequest *)request; /** -

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

+

Returns a set of temporary credentials for an Amazon Web Services account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific Amazon Web Services API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the STS API operations in the IAM User Guide.

Session Duration

The GetSessionToken operation must be called by using the long-term Amazon Web Services security credentials of the Amazon Web Services account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

Permissions

The temporary security credentials created by GetSessionToken can be used to make API calls to any Amazon Web Services service with the following exceptions:

  • You cannot call any IAM API operations unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with Amazon Web Services account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with Amazon Web Services.

The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using Amazon Web Services account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

@param request A container for the necessary parameters to execute the GetSessionToken service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/Pods/AWSCore/AWSCore/STS/AWSSTSService.m b/Pods/AWSCore/AWSCore/STS/AWSSTSService.m index 3c6e9562..301e8ad0 100644 --- a/Pods/AWSCore/AWSCore/STS/AWSSTSService.m +++ b/Pods/AWSCore/AWSCore/STS/AWSSTSService.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/Pods/AWSCore/AWSCore/Serialization/AWSSerialization.m b/Pods/AWSCore/AWSCore/Serialization/AWSSerialization.m index 4d3a95f3..9802e16b 100644 --- a/Pods/AWSCore/AWSCore/Serialization/AWSSerialization.m +++ b/Pods/AWSCore/AWSCore/Serialization/AWSSerialization.m @@ -1360,6 +1360,11 @@ + (BOOL)failWithCode:(NSInteger)code description:(NSString *)description error:( return NO; } ++ (BOOL)checkIfLocationService:(NSDictionary *)serviceDefinitionRule { + NSString *serviceId = serviceDefinitionRule[@"metadata"][@"serviceId"]; + return [serviceId isEqualToString:@"Location"]; +} + + (NSDictionary *)dictionaryForJsonData:(NSData *)data response:(NSHTTPURLResponse *)response actionName:(NSString *)actionName @@ -1369,6 +1374,8 @@ + (NSDictionary *)dictionaryForJsonData:(NSData *)data return [NSMutableDictionary new]; } + BOOL isLocationService = [self checkIfLocationService:serviceDefinitionRule]; + // Amazon Lambda may return non-array/non-dictionary top level objects. // They are valid JSON texts according to RFC 7159 and ECMA 404. // (RFC 4627 was replaced with RFC 7159 in March 2014.) @@ -1414,7 +1421,8 @@ + (NSDictionary *)dictionaryForJsonData:(NSData *)data if ((rules[@"members"][isPayloadData][@"streaming"]) || ([shapeName isEqual:@"JsonDocument"]) || ([shapeName isEqual:@"BlobStream"]) || - ([shapeName isEqual:@"BodyBlob"])) { + ([shapeName isEqual:@"BodyBlob"]) || + ([shapeName isEqual:@"Blob"] && isLocationService)) { parsedData[isPayloadData] = data; if (error) *error = nil; return parsedData; diff --git a/Pods/AWSCore/AWSCore/Serialization/AWSTimestampSerialization.m b/Pods/AWSCore/AWSCore/Serialization/AWSTimestampSerialization.m index 663eb5fe..63759eca 100644 --- a/Pods/AWSCore/AWSCore/Serialization/AWSTimestampSerialization.m +++ b/Pods/AWSCore/AWSCore/Serialization/AWSTimestampSerialization.m @@ -53,7 +53,7 @@ + (nullable NSDate *)parseTimestamp:(id)value{ // Check and handle `timestampFormat` trait if present on a timestamp object + (nullable NSString *)serializeTimestamp:(NSDictionary *)rules value:(id)value error:(NSError *__autoreleasing *)error { - if (!value || ![rules[@"type"] isEqualToString:@"timestamp"]) { + if (!value || [value isEqual:[NSNull null]] || ![rules[@"type"] isEqualToString:@"timestamp"]) { return nil; } else { //generate string presentation of timestamp diff --git a/Pods/AWSCore/AWSCore/Service/AWSService.m b/Pods/AWSCore/AWSCore/Service/AWSService.m index 66e6d423..adba281d 100644 --- a/Pods/AWSCore/AWSCore/Service/AWSService.m +++ b/Pods/AWSCore/AWSCore/Service/AWSService.m @@ -21,7 +21,7 @@ #import "AWSCocoaLumberjack.h" #import "AWSCategory.h" -NSString *const AWSiOSSDKVersion = @"2.24.0"; +NSString *const AWSiOSSDKVersion = @"2.26.0"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; @@ -308,6 +308,8 @@ - (id)copyWithZone:(NSZone *)zone { static NSString *const AWSServiceNameTranscribeStreaming = @"transcribe"; static NSString *const AWSServiceNameTranslate = @"translate"; static NSString *const AWSServiceNameLocation = @"location"; +static NSString *const AWSServiceNameChimeSDKMessaging = @"chime"; +static NSString *const AWSServiceNameChimeSDKIdentity = @"chime"; @interface AWSEndpoint() @@ -576,6 +578,10 @@ - (NSString *)serviceNameFromType:(AWSServiceType)serviceType { return AWSServiceNameTranslate; case AWSServiceLocation: return AWSServiceNameLocation; + case AWSServiceChimeSDKMessaging: + return AWSServiceNameChimeSDKMessaging; + case AWSServiceChimeSDKIdentity: + return AWSServiceNameChimeSDKIdentity; default: return nil; } @@ -648,6 +654,10 @@ - (NSURL *)URLWithRegion:(AWSRegionType)regionType URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://participant.connect.%@.amazonaws.com", HTTPType, regionName]]; } else if (serviceType == AWSServiceLocation) { URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://geo.%@.amazonaws.com", HTTPType, regionName]]; + } else if (serviceType == AWSServiceChimeSDKMessaging) { + URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://messaging-chime.%@.amazonaws.com", HTTPType, regionName]]; + } else if (serviceType == AWSServiceChimeSDKIdentity) { + URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://identity-chime.%@.amazonaws.com", HTTPType, regionName]]; } else { URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@.%@.amazonaws.com", HTTPType, serviceName, regionName]]; } diff --git a/Pods/AWSCore/AWSCore/Service/AWSServiceEnum.h b/Pods/AWSCore/AWSCore/Service/AWSServiceEnum.h index 066bd880..49e947e4 100644 --- a/Pods/AWSCore/AWSCore/Service/AWSServiceEnum.h +++ b/Pods/AWSCore/AWSCore/Service/AWSServiceEnum.h @@ -296,7 +296,14 @@ typedef NS_ENUM(NSInteger, AWSServiceType) { * Amazon Location */ AWSServiceLocation NS_SWIFT_NAME(Location), - + /** + * Amazon Chime Messaging + */ + AWSServiceChimeSDKMessaging NS_SWIFT_NAME(ChimeSDKMessaging), + /** + * Amazon Chime Identity + */ + AWSServiceChimeSDKIdentity NS_SWIFT_NAME(ChimeSDKIdentity), }; #endif diff --git a/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift b/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift index a2787122..5c27e17a 100644 --- a/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift +++ b/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift @@ -396,13 +396,20 @@ final public class AWSMobileClient: _AWSMobileClient { public func showSignIn(presentationAnchor: ASPresentationAnchor, hostedUIOptions: HostedUIOptions, _ completionHandler: @escaping(UserState?, Error?) -> Void) { + if case .signedIn = self.currentUserState { + completionHandler(nil, AWSMobileClientError.invalidState(message: "There is already a user which is signed in. Please log out the user before calling showSignIn.")) + return + } developerNavigationController = nil configureAndRegisterCognitoAuth(hostedUIOptions: hostedUIOptions, completionHandler) let cognitoAuth = AWSCognitoAuth.init(forKey: CognitoAuthRegistrationKey) cognitoAuth.delegate = self - cognitoAuth.getSessionWithWebUI(presentationAnchor) { (session, error) in + // Clear the keychain if there is an existing user details + cognitoAuth.signOutLocally() + + cognitoAuth.launchSignIn(withWebUI: presentationAnchor) { (session, error) in self.handleCognitoAuthGetSession(hostedUIOptions: hostedUIOptions, session: session, error: error, @@ -443,7 +450,10 @@ final public class AWSMobileClient: _AWSMobileClient { let cognitoAuth = AWSCognitoAuth.init(forKey: CognitoAuthRegistrationKey) cognitoAuth.delegate = self - cognitoAuth.getSession(navigationController.viewControllers.first!) { (session, error) in + // Clear the keychain if there is an existing user details + cognitoAuth.signOutLocally() + + cognitoAuth.launchSignIn(with: navigationController.viewControllers.first!) { (session, error) in self.handleCognitoAuthGetSession(hostedUIOptions: hostedUIOptions, session: session, error: error, diff --git a/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift b/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift index 872b360d..fd506987 100644 --- a/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift +++ b/Pods/AWSMobileClient/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift @@ -550,10 +550,16 @@ extension AWSMobileClient { // If using hosted UI, we need to launch SFSafariVC/SFAuthSession/ASWebAuthenticationSession to invalidate token if federationProvider == .hostedUI { if options.invalidateTokens { - if let anchor = presentationAnchor { - self.hostedUISignOut(presentationAnchor: anchor, completionHandler: completionHandler) - } else { - self.hostedUILegacySignOut(completionHandler: completionHandler) + revokeIfSessionIsRevocable { _ in + // Ensure UI actions are performed on the main thread since revoke token may be performed on a + // background thread. + DispatchQueue.main.async { + if let anchor = presentationAnchor { + self.hostedUISignOut(presentationAnchor: anchor, completionHandler: completionHandler) + } else { + self.hostedUILegacySignOut(completionHandler: completionHandler) + } + } } } return @@ -573,10 +579,37 @@ extension AWSMobileClient { } return } + // If using userpools sign in (not global sign out or federated sign in), revoke the token before signing out + if federationProvider == .userPools { + revokeIfSessionIsRevocable { _ in + self.signOut() + completionHandler(nil) + } + return + } + // If signing in with federated sign in, perform local sign out signOut() completionHandler(nil) } + /// Returns if the session is not revocable, attempts to revoke the token if it is. + private func revokeIfSessionIsRevocable(completionHandler: @escaping ((Error?) -> Void)) { + guard let isSessionRevocable = self.userpoolOpsHelper.currentActiveUser?.isSessionRevocable, + isSessionRevocable else { + completionHandler(nil) + return + } + + let _ = self.userpoolOpsHelper.currentActiveUser?.revokeToken().continueWith { (task) -> Any? in + if let error = task.error { + completionHandler(AWSMobileClientError.makeMobileClientError(from: error)) + } else if let _ = task.result { + completionHandler(nil) + } + return nil + } + } + private func hostedUISignOut(presentationAnchor: ASPresentationAnchor, completionHandler: @escaping ((Error?) -> Void)) { if #available(iOS 13, *) { @@ -940,8 +973,18 @@ extension AWSMobileClient { completionHandler(nil, AWSMobileClientError.notSignedIn(message: notSignedInErrorMessage)) return } - let userDetails = AWSMobileClientUserDetails(with: self.userpoolOpsHelper.currentActiveUser!) - userDetails.getUserAttributes(completionHandler: completionHandler) + guard let currentActiveUser = self.userpoolOpsHelper.currentActiveUser else { + completionHandler(nil, AWSMobileClientError.notSignedIn(message: self.notSignedInErrorMessage)) + return + } + self.getTokens { _, error in + guard error == nil else { + completionHandler(nil, error) + return + } + let userDetails = AWSMobileClientUserDetails(with: currentActiveUser) + userDetails.getUserAttributes(completionHandler: completionHandler) + } } /// Confirm the updated attributes using a confirmation code. diff --git a/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.h b/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.h index 11af5046..cdd7ceb0 100644 --- a/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.h +++ b/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.h @@ -105,6 +105,27 @@ typedef void (^AWSCognitoAuthSignOutBlock)(NSError * _Nullable error); */ + (void)removeCognitoAuthForKey:(NSString *)key; +/** + Launches the signin UI and updates the session after the user logs in. + @param vc Presentation view controller to display the hosted UI signIn + @param completion completion block to invoke on completion + */ +- (void)launchSignInWithViewController:(UIViewController *) vc + completion:(nullable AWSCognitoAuthGetSessionBlock) completion; + +/** + Launches the signin UI and updates the session after the user logs in. + @param anchor Presentation anchor to display the hosted UI signIn + @param completion completion block to invoke on completion + */ +- (void)launchSignInWithWebUI:(nonnull ASPresentationAnchor) anchor + completion:(nullable AWSCognitoAuthGetSessionBlock) completion API_AVAILABLE(ios(13)); + +/** + Get a session with id, access and refresh tokens. + @param anchor Presentation anchor to display the hosted UI on if needed during sign in. + @param completion completion block to invoke on completion + */ - (void)getSessionWithWebUI:(nonnull ASPresentationAnchor) anchor completion:(nullable AWSCognitoAuthGetSessionBlock) completion API_AVAILABLE(ios(13)); diff --git a/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.m b/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.m index b3a0bf2a..848b5f3a 100644 --- a/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.m +++ b/Pods/AWSMobileClient/AWSCognitoAuth/AWSCognitoAuth.m @@ -80,7 +80,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.24.0"; +NSString *const AWSCognitoAuthSDKVersion = @"2.26.0"; static NSMutableDictionary *_instanceDictionary = nil; @@ -216,7 +216,33 @@ - (BOOL) isSignedIn { return refreshToken!=nil; } -#pragma mark sign in +- (void)launchSignInWithViewController:(UIViewController *) vc + completion:(nullable AWSCognitoAuthGetSessionBlock) completion { + [self launchUsing:nil uiViewController:vc completion:completion]; +} + +- (void)launchSignInWithWebUI:(nonnull ASPresentationAnchor) anchor + completion:(nullable AWSCognitoAuthGetSessionBlock) completion { + [self launchUsing:anchor uiViewController:nil completion:completion]; +} + +- (void)launchUsing:(nullable ASPresentationAnchor) anchor + uiViewController:(nullable UIViewController *) vc + completion:(nullable AWSCognitoAuthGetSessionBlock) completion { + __block __weak NSOperation *weakGetSessionOperation; + NSOperation *getSessionOperation = [NSBlockOperation blockOperationWithBlock:^{ + self.presentationAnchor = anchor; + [self prepareForSignIn:vc completion:completion]; + if(weakGetSessionOperation.isCancelled){ + [self dismissSafariViewControllerAndCompleteGetSession:nil error:self.getSessionError]; + } + [self launchSignInVC:vc]; + }]; + weakGetSessionOperation = getSessionOperation; + [self.getSessionQueue addOperation:getSessionOperation]; +} + +#pragma mark get session - (void)getSession:(AWSCognitoAuthGetSessionBlock) completion { self.presentationAnchor = nil; @@ -261,6 +287,15 @@ - (void) cleanupSignIn { self.responseData = nil; } +- (void)prepareForSignIn:(UIViewController *) vc + completion:(AWSCognitoAuthGetSessionBlock) completion { + self.getSessionBlock = completion; + self.state = [[[NSUUID UUID] UUIDString] lowercaseString]; + self.proofKey = [self generateRandom:32]; + self.proofKeyHash = [self calculateSHA256Hash:self.proofKey]; + self.pvc = vc; +} + /** Launch the sign in ui on the provided viewcontroller */ @@ -397,13 +432,8 @@ -(UIViewController *) setPopoverSource: (UIViewController *) popover source: (UI Check keychain for valid session, if expired or not available, prompt end user via ui */ - (void)getSessionInternal: (nullable UIViewController *) vc completion: (AWSCognitoAuthGetSessionBlock) completion { - self.getSessionBlock = completion; - self.state = [[[NSUUID UUID] UUIDString] lowercaseString]; - self.proofKey = [self generateRandom:32]; - self.proofKeyHash = [self calculateSHA256Hash:self.proofKey]; - self.pvc = vc; - + [self prepareForSignIn:vc completion:completion]; //check to see if we have valid tokens NSString * username = [self currentUsername]; if(username){ @@ -1176,6 +1206,8 @@ -(NSDictionary *) claims { NSArray *pieces = [self.tokenString componentsSeparatedByString:@"."]; if(pieces.count > 2){ NSString * claims = pieces[1]; + claims = [claims stringByReplacingOccurrencesOfString:@"-" withString:@"+"]; + claims = [claims stringByReplacingOccurrencesOfString:@"_" withString:@"/"]; //JWT is not padded with =, pad it if necessary NSUInteger paddedLength = claims.length + (4 - (claims.length % 4)) % 4;; claims = [claims stringByPaddingToLength:paddedLength withString:@"=" startingAtIndex:0]; diff --git a/Pods/AWSS3/AWSS3/AWSS3.h b/Pods/AWSS3/AWSS3/AWSS3.h index cc8ee9e4..8afeb9e1 100644 --- a/Pods/AWSS3/AWSS3/AWSS3.h +++ b/Pods/AWSS3/AWSS3/AWSS3.h @@ -42,3 +42,5 @@ FOUNDATION_EXPORT const unsigned char AWSS3VersionString[] DEPRECATED_MSG_ATTRIB #import "AWSS3Service.h" #import "AWSS3PreSignedURL.h" #import "AWSS3TransferUtility.h" +#import "AWSS3TransferUtilityBlocks.h" +#import "AWSS3TransferUtility+EnumerateBlocks.h" diff --git a/Pods/AWSS3/AWSS3/AWSS3PreSignedURL.m b/Pods/AWSS3/AWSS3/AWSS3PreSignedURL.m index b3170459..7998529c 100644 --- a/Pods/AWSS3/AWSS3/AWSS3PreSignedURL.m +++ b/Pods/AWSS3/AWSS3/AWSS3PreSignedURL.m @@ -26,7 +26,7 @@ static NSString *const AWSS3PreSignedURLBuilderAcceleratedEndpoint = @"s3-accelerate.amazonaws.com"; static NSString *const AWSInfoS3PreSignedURLBuilder = @"S3PreSignedURLBuilder"; -static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.24.0"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.26.0"; @interface AWSS3PreSignedURLBuilder() diff --git a/Pods/AWSS3/AWSS3/AWSS3Service.m b/Pods/AWSS3/AWSS3/AWSS3Service.m index de3a3bae..5435ce92 100644 --- a/Pods/AWSS3/AWSS3/AWSS3Service.m +++ b/Pods/AWSS3/AWSS3/AWSS3Service.m @@ -27,7 +27,7 @@ #import "AWSS3Serializer.h" static NSString *const AWSInfoS3 = @"S3"; -NSString *const AWSS3SDKVersion = @"2.24.0"; +NSString *const AWSS3SDKVersion = @"2.26.0"; diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.h b/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.h new file mode 100644 index 00000000..0ab3bfb9 --- /dev/null +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.h @@ -0,0 +1,37 @@ +// +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#import "AWSS3TransferUtility.h" +#import "AWSS3TransferUtilityBlocks.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface AWSS3TransferUtility (EnumerateBlocks) + +/// Assigns blocks for uploads, multipart uploads and downloads. This method should be called when the app was suspended while the transfer is still happening. +/// +/// @param blocks Transfer Utility Blocks for uploads, multipart uploads and downloads +- (void)enumerateToAssignBlocks:(AWSS3TransferUtilityBlocks *)blocks NS_SWIFT_NAME(enumerateToAssign(blocks:)); + +/// Cancels all uploads, multipart uploads and downloads. +/// +/// This is a convenience function so that the enumerate method is not needed. +- (void)cancelAll; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.m b/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.m new file mode 100644 index 00000000..97feb299 --- /dev/null +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtility+EnumerateBlocks.m @@ -0,0 +1,69 @@ +// +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import "AWSS3TransferUtility+EnumerateBlocks.h" + +@interface AWSS3TransferUtility (Internal) + +- (void)internalEnumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, + AWSS3TransferUtilityProgressBlock * uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock * completionHandlerReference))uploadBlocksAssigner + multiPartUploadBlocksAssigner: (void (^)(AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, + AWSS3TransferUtilityMultiPartProgressBlock * multiPartUploadProgressBlockReference, + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock * completionHandlerReference)) multiPartUploadBlocksAssigner + downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, + AWSS3TransferUtilityProgressBlock * downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock * completionHandlerReference))downloadBlocksAssigner; + +@end + +@implementation AWSS3TransferUtility (EnumerateBlocks) + +- (void)enumerateToAssignBlocks:(AWSS3TransferUtilityBlocks *)blocks { + [self internalEnumerateToAssignBlocksForUploadTask:^(AWSS3TransferUtilityUploadTask * uploadTask, + AWSS3TransferUtilityProgressBlock * uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock * completionHandlerReference) { + *uploadProgressBlockReference = blocks.uploadProgressBlock; + *completionHandlerReference = blocks.uploadCompletedBlock; + } multiPartUploadBlocksAssigner:^(AWSS3TransferUtilityMultiPartUploadTask * multiPartUploadTask, + AWSS3TransferUtilityMultiPartProgressBlock * multiPartUploadProgressBlockReference, + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock * completionHandlerReference) { + *multiPartUploadProgressBlockReference = blocks.multiPartUploadProgressBlock; + *completionHandlerReference = blocks.multiPartUploadCompletedBlock; + } downloadBlocksAssigner:^(AWSS3TransferUtilityDownloadTask * downloadTask, + AWSS3TransferUtilityProgressBlock * downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock * completionHandlerReference) { + *downloadProgressBlockReference = blocks.downloadProgressBlock; + *completionHandlerReference = blocks.downloadCompletedBlock; + }]; +} + +- (void)cancelAll { + [self internalEnumerateToAssignBlocksForUploadTask:^(AWSS3TransferUtilityUploadTask * uploadTask, + AWSS3TransferUtilityProgressBlock * uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock * completionHandlerReference) { + [uploadTask cancel]; + } multiPartUploadBlocksAssigner:^(AWSS3TransferUtilityMultiPartUploadTask * multiPartUploadTask, + AWSS3TransferUtilityMultiPartProgressBlock * multiPartUploadProgressBlockReference, + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock * completionHandlerReference) { + [multiPartUploadTask cancel]; + } downloadBlocksAssigner:^(AWSS3TransferUtilityDownloadTask * downloadTask, + AWSS3TransferUtilityProgressBlock * downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock * completionHandlerReference) { + [downloadTask cancel]; + }]; +} + +@end diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtility.h b/Pods/AWSS3/AWSS3/AWSS3TransferUtility.h index 223b5601..c04864b6 100644 --- a/Pods/AWSS3/AWSS3/AWSS3TransferUtility.h +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtility.h @@ -621,7 +621,8 @@ handleEventsForBackgroundURLSession:(NSString *)identifier _Nullable AWSS3TransferUtilityUploadCompletionHandlerBlock * _Nullable completionHandlerReference))uploadBlocksAssigner downloadTask:(nullable void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, _Nullable AWSS3TransferUtilityProgressBlock * _Nullable downloadProgressBlockReference, - _Nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock * _Nullable completionHandlerReference))downloadBlocksAssigner; + _Nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock * _Nullable completionHandlerReference))downloadBlocksAssigner + DEPRECATED_MSG_ATTRIBUTE("Use enumerateToAssignBlocks: instead."); /** Assigns progress feedback and completion handler blocks. This method should be called when the app was suspended while the transfer is still happening. @@ -630,15 +631,16 @@ handleEventsForBackgroundURLSession:(NSString *)identifier @param multiPartUploadBlocksAssigner The block for assigning the multipart upload progress feedback and completion handler blocks. @param downloadBlocksAssigner The block for assigning the download progress feedback and completion handler blocks. */ --(void)enumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, - AWSS3TransferUtilityProgressBlock _Nullable * _Nullable uploadProgressBlockReference, - AWSS3TransferUtilityUploadCompletionHandlerBlock _Nullable * _Nullable completionHandlerReference))uploadBlocksAssigner - multiPartUploadBlocksAssigner: (void (^) (AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, +- (void)enumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, + AWSS3TransferUtilityProgressBlock _Nullable * _Nullable uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock _Nullable * _Nullable completionHandlerReference))uploadBlocksAssigner + multiPartUploadBlocksAssigner:(void (^)(AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, AWSS3TransferUtilityMultiPartProgressBlock _Nullable * _Nullable multiPartUploadProgressBlockReference, AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock _Nullable * _Nullable completionHandlerReference)) multiPartUploadBlocksAssigner - downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, - AWSS3TransferUtilityProgressBlock _Nullable * _Nullable downloadProgressBlockReference, - AWSS3TransferUtilityDownloadCompletionHandlerBlock _Nullable * _Nullable completionHandlerReference))downloadBlocksAssigner; + downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, + AWSS3TransferUtilityProgressBlock _Nullable * _Nullable downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock _Nullable * _Nullable completionHandlerReference))downloadBlocksAssigner + DEPRECATED_MSG_ATTRIBUTE("Use enumerateToAssign(blocks:) instead."); /** Retrieves all running tasks. diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtility.m b/Pods/AWSS3/AWSS3/AWSS3TransferUtility.m index 700595e7..b2595c7e 100644 --- a/Pods/AWSS3/AWSS3/AWSS3TransferUtility.m +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtility.m @@ -1801,78 +1801,80 @@ - (void)enumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploa downloadTask:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, AWSS3TransferUtilityProgressBlock *downloadProgressBlockReference, AWSS3TransferUtilityDownloadCompletionHandlerBlock *completionHandlerReference))downloadBlocksAssigner { - - // Iterate through Tasks - for (id key in [self.taskDictionary allKeys]) { - id value = [self.taskDictionary objectForKey:key]; - if ([value isKindOfClass:[AWSS3TransferUtilityUploadTask class]]) { - AWSS3TransferUtilityUploadTask *transferUtilityUploadTask = value; - if (uploadBlocksAssigner) { - AWSS3TransferUtilityProgressBlock progressBlock = nil; - AWSS3TransferUtilityUploadCompletionHandlerBlock completionHandler = nil; - - uploadBlocksAssigner(transferUtilityUploadTask, &progressBlock, &completionHandler); - - if (progressBlock) { - transferUtilityUploadTask.expression.progressBlock = progressBlock; - } - if (completionHandler) { - transferUtilityUploadTask.expression.completionHandler = completionHandler; - } - } - } - else if ([value isKindOfClass:[AWSS3TransferUtilityDownloadTask class]]) { - AWSS3TransferUtilityDownloadTask *transferUtilityDownloadTask = value; - if (downloadBlocksAssigner) { - AWSS3TransferUtilityProgressBlock progressBlock = nil; - AWSS3TransferUtilityDownloadCompletionHandlerBlock completionHandler = nil; - - downloadBlocksAssigner(transferUtilityDownloadTask, &progressBlock, &completionHandler); - - if (progressBlock) { - transferUtilityDownloadTask.expression.progressBlock = progressBlock; - } - if (completionHandler) { - transferUtilityDownloadTask.expression.completionHandler = completionHandler; - } - } - } - } + [self internalEnumerateToAssignBlocksForUploadTask:uploadBlocksAssigner + multiPartUploadBlocksAssigner:nil + downloadBlocksAssigner:downloadBlocksAssigner]; } --(void)enumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, - AWSS3TransferUtilityProgressBlock *uploadProgressBlockReference, - AWSS3TransferUtilityUploadCompletionHandlerBlock *completionHandlerReference))uploadBlocksAssigner - multiPartUploadBlocksAssigner: (void (^) (AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, - AWSS3TransferUtilityMultiPartProgressBlock *multiPartUploadProgressBlockReference, - AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock *completionHandlerReference)) multiPartUploadBlocksAssigner - downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, - AWSS3TransferUtilityProgressBlock *downloadProgressBlockReference, - AWSS3TransferUtilityDownloadCompletionHandlerBlock *completionHandlerReference))downloadBlocksAssigner { - - [self enumerateToAssignBlocksForUploadTask:uploadBlocksAssigner downloadTask:downloadBlocksAssigner]; - - // Iterate through MultiPartUploadTasks +- (void)enumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, + AWSS3TransferUtilityProgressBlock *uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock *completionHandlerReference))uploadBlocksAssigner + multiPartUploadBlocksAssigner:(void (^)(AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, + AWSS3TransferUtilityMultiPartProgressBlock *multiPartUploadProgressBlockReference, + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock *completionHandlerReference)) multiPartUploadBlocksAssigner + downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, + AWSS3TransferUtilityProgressBlock *downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock *completionHandlerReference))downloadBlocksAssigner { + [self internalEnumerateToAssignBlocksForUploadTask:uploadBlocksAssigner + multiPartUploadBlocksAssigner:multiPartUploadBlocksAssigner + downloadBlocksAssigner:downloadBlocksAssigner]; +} + +- (void)internalEnumerateToAssignBlocksForUploadTask:(void (^)(AWSS3TransferUtilityUploadTask *uploadTask, + AWSS3TransferUtilityProgressBlock *uploadProgressBlockReference, + AWSS3TransferUtilityUploadCompletionHandlerBlock *completionHandlerReference))uploadBlocksAssigner + multiPartUploadBlocksAssigner:(void (^)(AWSS3TransferUtilityMultiPartUploadTask *multiPartUploadTask, + AWSS3TransferUtilityMultiPartProgressBlock *multiPartUploadProgressBlockReference, + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock *completionHandlerReference)) multiPartUploadBlocksAssigner + downloadBlocksAssigner:(void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, + AWSS3TransferUtilityProgressBlock *downloadProgressBlockReference, + AWSS3TransferUtilityDownloadCompletionHandlerBlock *completionHandlerReference))downloadBlocksAssigner { + // Iterate all tasks for (id key in [self.taskDictionary allKeys]) { id value = [self.taskDictionary objectForKey:key]; - if ([value isKindOfClass:[AWSS3TransferUtilityMultiPartUploadTask class]]) { + if (uploadBlocksAssigner && [value isKindOfClass:[AWSS3TransferUtilityUploadTask class]]) { + AWSS3TransferUtilityUploadTask *task = value; + AWSS3TransferUtilityProgressBlock progressBlock = nil; + AWSS3TransferUtilityUploadCompletionHandlerBlock completionHandler = nil; + + uploadBlocksAssigner(task, &progressBlock, &completionHandler); + + if (progressBlock) { + task.expression.progressBlock = progressBlock; + } + if (completionHandler) { + task.expression.completionHandler = completionHandler; + } + } else if (multiPartUploadBlocksAssigner && [value isKindOfClass:[AWSS3TransferUtilityMultiPartUploadTask class]]) { AWSS3TransferUtilityMultiPartUploadTask *task = value; - if (multiPartUploadBlocksAssigner) { - AWSS3TransferUtilityMultiPartProgressBlock progressBlock = nil; - AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock completionHandler = nil; - multiPartUploadBlocksAssigner(task, &progressBlock, &completionHandler); - if (progressBlock) { - task.expression.progressBlock = progressBlock; - } - if (completionHandler) { - task.expression.completionHandler = completionHandler; - } + AWSS3TransferUtilityMultiPartProgressBlock progressBlock = nil; + AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock completionHandler = nil; + + multiPartUploadBlocksAssigner(task, &progressBlock, &completionHandler); + + if (progressBlock) { + task.expression.progressBlock = progressBlock; + } + if (completionHandler) { + task.expression.completionHandler = completionHandler; + } + } else if (downloadBlocksAssigner && [value isKindOfClass:[AWSS3TransferUtilityDownloadTask class]]) { + AWSS3TransferUtilityDownloadTask *task = value; + AWSS3TransferUtilityProgressBlock progressBlock = nil; + AWSS3TransferUtilityDownloadCompletionHandlerBlock completionHandler = nil; + + downloadBlocksAssigner(task, &progressBlock, &completionHandler); + + if (progressBlock) { + task.expression.progressBlock = progressBlock; + } + if (completionHandler) { + task.expression.completionHandler = completionHandler; } } } } - - (AWSTask *)getAllTasks { AWSTaskCompletionSource *completionSource = [AWSTaskCompletionSource new]; diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.h b/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.h new file mode 100644 index 00000000..f252182a --- /dev/null +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.h @@ -0,0 +1,40 @@ +// +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#import "AWSS3TransferUtilityTasks.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface AWSS3TransferUtilityBlocks : NSObject + +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityProgressBlock uploadProgressBlock; +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityMultiPartProgressBlock multiPartUploadProgressBlock; +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityProgressBlock downloadProgressBlock; +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityUploadCompletionHandlerBlock uploadCompletedBlock; +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock multiPartUploadCompletedBlock; +@property (nonatomic, nullable, strong, readonly) AWSS3TransferUtilityDownloadCompletionHandlerBlock downloadCompletedBlock; + +- (instancetype)initWithUploadProgress:(nullable AWSS3TransferUtilityProgressBlock)uploadProgressBlock + multiPartUploadProgress:(nullable AWSS3TransferUtilityMultiPartProgressBlock)multiPartUploadProgressBlock + downloadProgress:(nullable AWSS3TransferUtilityProgressBlock)downloadProgressBlock + uploadCompleted:(nullable AWSS3TransferUtilityUploadCompletionHandlerBlock)uploadCompletedBlock + multiPartUploadCompleted:(nullable AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock)multiPartUploadCompletedBlock + downloadCompleted:(nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock)downloadCompletedBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.m b/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.m new file mode 100644 index 00000000..462b2074 --- /dev/null +++ b/Pods/AWSS3/AWSS3/AWSS3TransferUtilityBlocks.m @@ -0,0 +1,51 @@ +// +// Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import "AWSS3TransferUtilityBlocks.h" + +#import "AWSS3TransferUtilityTasks.h" + +@interface AWSS3TransferUtilityBlocks () + +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityProgressBlock uploadProgressBlock; +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityMultiPartProgressBlock multiPartUploadProgressBlock; +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityProgressBlock downloadProgressBlock; +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityUploadCompletionHandlerBlock uploadCompletedBlock; +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock multiPartUploadCompletedBlock; +@property (nonatomic, nullable, strong, readwrite) AWSS3TransferUtilityDownloadCompletionHandlerBlock downloadCompletedBlock; + +@end + +@implementation AWSS3TransferUtilityBlocks + +- (instancetype)initWithUploadProgress:(nullable AWSS3TransferUtilityProgressBlock)uploadProgressBlock + multiPartUploadProgress:(nullable AWSS3TransferUtilityMultiPartProgressBlock)multiPartUploadProgressBlock + downloadProgress:(nullable AWSS3TransferUtilityProgressBlock)downloadProgressBlock + uploadCompleted:(nullable AWSS3TransferUtilityUploadCompletionHandlerBlock)uploadCompletedBlock + multiPartUploadCompleted:(nullable AWSS3TransferUtilityMultiPartUploadCompletionHandlerBlock)multiPartUploadCompletedBlock + downloadCompleted:(nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock)downloadCompletedBlock { + self = [super init]; + if (self) { + self.uploadProgressBlock = uploadProgressBlock; + self.multiPartUploadProgressBlock = multiPartUploadProgressBlock; + self.downloadProgressBlock = downloadProgressBlock; + self.uploadCompletedBlock = uploadCompletedBlock; + self.multiPartUploadCompletedBlock = multiPartUploadCompletedBlock; + self.downloadCompletedBlock = downloadCompletedBlock; + } + return self; +} + +@end diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift index 4fdf0c5d..bced6812 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift @@ -1,5 +1,5 @@ // -// Copyright 2018-2020 Amazon.com, +// Copyright 2018-2021 Amazon.com, // Inc. or its affiliates. All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 @@ -18,7 +18,7 @@ extension AppSyncSubscriptionConnection { return } if connectionState == .connected { - AppSyncLogger.debug("Start subscription") + AppSyncLogger.debug("[AppSyncSubscriptionConnection] \(#function): connection is connected, start subscription.") startSubscription() } } @@ -52,7 +52,7 @@ extension AppSyncSubscriptionConnection { private func convertToPayload(for query: String, variables: [String: Any?]?) -> AppSyncMessage.Payload? { guard let subscriptionItem = subscriptionItem else { - AppSyncLogger.debug("\(#function): no subscription item") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): missing subscription item") return nil } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift index 69f7cc33..4d010b7e 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift @@ -1,5 +1,5 @@ // -// Copyright 2018-2020 Amazon.com, +// Copyright 2018-2021 Amazon.com, // Inc. or its affiliates. All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 @@ -11,12 +11,14 @@ extension AppSyncSubscriptionConnection { func handleDataEvent(response: AppSyncResponse) { guard let subscriptionItem = subscriptionItem else { - AppSyncLogger.debug("\(#function): no subscription item") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): missing subscription item") return } guard response.id == subscriptionItem.identifier else { - AppSyncLogger.verbose("\(#function): ignoring data event for \(response.id ?? "(null)")") + AppSyncLogger.verbose(""" + [AppSyncSubscriptionConnection] \(#function): \(subscriptionItem.identifier). Ignoring data event for \(response.id ?? "(null)") + """) return } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift index bc74641d..d500b8ec 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift @@ -11,7 +11,7 @@ import Starscream extension AppSyncSubscriptionConnection { func handleError(error: Error) { guard let subscriptionItem = subscriptionItem else { - AppSyncLogger.debug("\(#function): no subscription item") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): missing subscription item") return } @@ -34,7 +34,7 @@ extension AppSyncSubscriptionConnection { let retryAdvice = retryHandler.shouldRetryRequest(for: connectionError) if retryAdvice.shouldRetry, let retryInterval = retryAdvice.retryInterval { - AppSyncLogger.debug("Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)") + AppSyncLogger.debug("[AppSyncSubscriptionConnection] Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)") DispatchQueue.global().asyncAfter(deadline: .now() + retryInterval) { self.connectionProvider?.connect() } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift index a5b597d6..969974ca 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift @@ -50,17 +50,17 @@ public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableCon } public func unsubscribe(item: SubscriptionItem) { - AppSyncLogger.debug("Unsubscribe - \(item.identifier)") + AppSyncLogger.debug("[AppSyncSubscriptionConnection] Unsubscribe \(item.identifier)") let message = AppSyncMessage(id: item.identifier, type: .unsubscribe("stop")) guard let connectionProvider = connectionProvider else { - AppSyncLogger.debug("\(#function): no connection provider") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): missing connection provider") return } guard let subscriptionItem = subscriptionItem else { - AppSyncLogger.debug("\(#function): no subscription item") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): missing subscription item") return } @@ -70,18 +70,18 @@ public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableCon private func addListener() { guard let connectionProvider = connectionProvider else { - AppSyncLogger.debug("\(#function): no connection provider") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): no connection provider") return } guard let subscriptionItem = subscriptionItem else { - AppSyncLogger.debug("\(#function): no subscription item") + AppSyncLogger.warn("[AppSyncSubscriptionConnection] \(#function): no subscription item") return } connectionProvider.addListener(identifier: subscriptionItem.identifier) { [weak self] event in guard let self = self else { - AppSyncLogger.debug("Self is nil, listener is not called.") + AppSyncLogger.debug("[AppSyncSubscriptionConnection] \(#function): Self is nil, listener is not called.") return } switch event { diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift index 1086e0a4..8214792a 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift @@ -11,7 +11,7 @@ extension RealtimeConnectionProvider { /// Start a stale connection timer, first invalidating and destroying any existing timer func startStaleConnectionTimer() { - AppSyncLogger.debug("Starting stale connection timer for \(staleConnectionTimeout.get())s") + AppSyncLogger.debug("[RealtimeConnectionProvider] Starting stale connection timer for \(staleConnectionTimeout.get())s") if staleConnectionTimer != nil { stopStaleConnectionTimer() } @@ -22,14 +22,14 @@ extension RealtimeConnectionProvider { /// Stop and destroy any existing stale connection timer func stopStaleConnectionTimer() { - AppSyncLogger.debug("Stopping and destroying stale connection timer") + AppSyncLogger.debug("[RealtimeConnectionProvider] Stopping and destroying stale connection timer") staleConnectionTimer?.invalidate() staleConnectionTimer = nil } /// Reset the stale connection timer in response to receiving a message func resetStaleConnectionTimer() { - AppSyncLogger.debug("Resetting stale connection timer") + AppSyncLogger.debug("[RealtimeConnectionProvider] Resetting stale connection timer") staleConnectionTimer?.resetCountdown() } @@ -39,9 +39,9 @@ extension RealtimeConnectionProvider { guard let self = self else { return } + AppSyncLogger.error("[RealtimeConnectionProvider] Realtime connection is stale, disconnecting.") self.status = .notConnected self.websocket.disconnect() - AppSyncLogger.error("Realtime connection is stale, disconnected.") self.updateCallback(event: .error(ConnectionProviderError.connection)) } } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift index 6b2560a5..6a654707 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift @@ -12,7 +12,7 @@ extension RealtimeConnectionProvider: AppSyncWebsocketDelegate { public func websocketDidConnect(provider: AppSyncWebsocketProvider) { // Call the ack to finish the connection handshake // Inform the callback when ack gives back a response. - AppSyncLogger.debug("WebsocketDidConnect, sending init message...") + AppSyncLogger.debug("[RealtimeConnectionProvider] WebsocketDidConnect, sending init message") sendConnectionInitMessage() startStaleConnectionTimer() } @@ -48,10 +48,12 @@ extension RealtimeConnectionProvider: AppSyncWebsocketDelegate { switch response.responseType { case .connectionAck: + AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck") connectionQueue.async { [weak self] in self?.handleConnectionAck(response: response) } case .error: + AppSyncLogger.debug("[RealtimeConnectionProvider] received error") connectionQueue.async { [weak self] in self?.handleError(response: response) } @@ -60,7 +62,7 @@ extension RealtimeConnectionProvider: AppSyncWebsocketDelegate { updateCallback(event: .data(appSyncResponse)) } case .keepAlive: - AppSyncLogger.debug("\(self) received keepAlive") + AppSyncLogger.debug("[RealtimeConnectionProvider] received keepAlive") } } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift index b24de352..e4c4eba7 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift @@ -11,7 +11,7 @@ import Foundation /// through websocket. public class RealtimeConnectionProvider: ConnectionProvider { private let url: URL - private var listeners: [String: ConnectionProviderCallback] + var listeners: [String: ConnectionProviderCallback] let websocket: AppSyncWebsocketProvider @@ -131,9 +131,11 @@ public class RealtimeConnectionProvider: ConnectionProvider { self.listeners.removeValue(forKey: identifier) if self.listeners.isEmpty { - AppSyncLogger.debug("All listeners removed, disconnecting") + AppSyncLogger.debug("[RealtimeConnectionProvider] all subscriptions removed, disconnecting websocket connection.") self.status = .notConnected - self.disconnect() + self.websocket.disconnect() + self.staleConnectionTimer?.invalidate() + self.staleConnectionTimer = nil } } } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift index 3fc2b7d7..9df5e96c 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift @@ -1,5 +1,5 @@ // -// Copyright 2018-2020 Amazon.com, +// Copyright 2018-2021 Amazon.com, // Inc. or its affiliates. All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 @@ -63,7 +63,7 @@ public class APIKeyAuthInterceptor: AuthInterceptor { ) return signedMessage default: - AppSyncLogger.debug("Message type does not need signing - \(message.messageType)") + break } return message } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift index c4c3925b..f4c5f3a3 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift @@ -1,5 +1,5 @@ // -// Copyright 2018-2020 Amazon.com, +// Copyright 2018-2021 Amazon.com, // Inc. or its affiliates. All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 @@ -37,7 +37,7 @@ public class OIDCAuthInterceptor: AuthInterceptor { ) return signedMessage default: - AppSyncLogger.debug("Message type does not need signing - \(message.messageType)") + break } return message } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift index f9198fc9..ba513f09 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift @@ -13,7 +13,7 @@ public struct AppSyncJSONHelper { let jsonEncoder = JSONEncoder() do { let jsonHeader = try jsonEncoder.encode(header) - AppSyncLogger.verbose("Header - \(String(describing: String(data: jsonHeader, encoding: .utf8)))") + AppSyncLogger.verbose("Generated Header for request - \(String(describing: String(data: jsonHeader, encoding: .utf8)))") return jsonHeader.base64EncodedString() } catch { AppSyncLogger.error(error.localizedDescription) diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift index 7f95d4b5..ac8167db 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift @@ -1,5 +1,5 @@ // -// Copyright 2018-2020 Amazon.com, +// Copyright 2018-2021 Amazon.com, // Inc. or its affiliates. All Rights Reserved. // // SPDX-License-Identifier: Apache-2.0 @@ -12,23 +12,23 @@ import Starscream extension StarscreamAdapter: Starscream.WebSocketDelegate { public func websocketDidConnect(socket: WebSocketClient) { - AppSyncLogger.verbose("WebsocketDidConnect") + AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.") delegate?.websocketDidConnect(provider: self) } public func websocketDidDisconnect(socket: WebSocketClient, error: Error?) { - AppSyncLogger.verbose("WebsocketDidDisconnect - \(error?.localizedDescription ?? "No error")") + AppSyncLogger.verbose("[StarscreamAdapter] websocketDidDisconnect: \(error?.localizedDescription ?? "No error")") delegate?.websocketDidDisconnect(provider: self, error: error) } public func websocketDidReceiveMessage(socket: WebSocketClient, text: String) { - AppSyncLogger.verbose("WebsocketDidReceiveMessage - \(text)") + AppSyncLogger.verbose("[StarscreamAdapter] websocketDidReceiveMessage: - \(text)") let data = text.data(using: .utf8) ?? Data() delegate?.websocketDidReceiveData(provider: self, data: data) } public func websocketDidReceiveData(socket: WebSocketClient, data: Data) { - AppSyncLogger.verbose("WebsocketDidReceiveData - \(data)") + AppSyncLogger.verbose("[StarscreamAdapter] WebsocketDidReceiveData - \(data)") delegate?.websocketDidReceiveData(provider: self, data: data) } } diff --git a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift index 1320edbf..d4fba92a 100644 --- a/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift +++ b/Pods/AppSyncRealTimeClient/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift @@ -13,29 +13,40 @@ public class StarscreamAdapter: AppSyncWebsocketProvider { // Do nothing } + private let serialQueue = DispatchQueue(label: "com.amazonaws.StarscreamAdapter.serialQueue") + var socket: WebSocket? weak var delegate: AppSyncWebsocketDelegate? public func connect(url: URL, protocols: [String], delegate: AppSyncWebsocketDelegate?) { - AppSyncLogger.verbose("Connecting to url ...") - socket = WebSocket(url: url, protocols: protocols) - self.delegate = delegate - socket?.delegate = self - socket?.callbackQueue = DispatchQueue(label: "com.amazonaws.StarscreamAdapter.callBack") - socket?.connect() + serialQueue.async { + AppSyncLogger.verbose("[StarscreamAdapter] connect. Connecting to url") + self.socket = WebSocket(url: url, protocols: protocols) + self.delegate = delegate + self.socket?.delegate = self + self.socket?.callbackQueue = DispatchQueue(label: "com.amazonaws.StarscreamAdapter.callBack") + self.socket?.connect() + } } public func disconnect() { - socket?.disconnect() - socket = nil + serialQueue.async { + AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect") + self.socket?.disconnect() + self.socket = nil + } } public func write(message: String) { - AppSyncLogger.verbose("Websocket write - \(message)") - socket?.write(string: message) + serialQueue.async { + AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)") + self.socket?.write(string: message) + } } public var isConnected: Bool { - return socket?.isConnected ?? false + serialQueue.sync { + return socket?.isConnected ?? false + } } } diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 9d2f258e..28bf8ba0 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,32 +1,32 @@ PODS: - - AppSyncRealTimeClient (1.4.4): + - AppSyncRealTimeClient (1.5.0): - Starscream (~> 3.1.1) - - AWSAuthCore (2.24.0): - - AWSCore (= 2.24.0) - - AWSCognitoIdentityProvider (2.24.0): - - AWSCognitoIdentityProviderASF (= 2.24.0) - - AWSCore (= 2.24.0) - - AWSCognitoIdentityProviderASF (2.24.0) - - AWSCore (2.24.0) - - AWSMobileClient (2.24.0): - - AWSAuthCore (= 2.24.0) - - AWSCognitoIdentityProvider (= 2.24.0) - - AWSCognitoIdentityProviderASF (= 2.24.0) - - AWSCore (= 2.24.0) - - AWSS3 (2.24.0): - - AWSCore (= 2.24.0) + - AWSAuthCore (2.26.0): + - AWSCore (= 2.26.0) + - AWSCognitoIdentityProvider (2.26.0): + - AWSCognitoIdentityProviderASF (= 2.26.0) + - AWSCore (= 2.26.0) + - AWSCognitoIdentityProviderASF (2.26.0) + - AWSCore (2.26.0) + - AWSMobileClient (2.26.0): + - AWSAuthCore (= 2.26.0) + - AWSCognitoIdentityProvider (= 2.26.0) + - AWSCognitoIdentityProviderASF (= 2.26.0) + - AWSCore (= 2.26.0) + - AWSS3 (2.26.0): + - AWSCore (= 2.26.0) - ReachabilitySwift (5.0.0) - SQLite.swift (0.12.2): - SQLite.swift/standard (= 0.12.2) - SQLite.swift/standard (0.12.2) - Starscream (3.1.1) - - SwiftLint (0.43.1) + - SwiftLint (0.44.0) DEPENDENCIES: - AppSyncRealTimeClient (~> 1.4) - - AWSCore (~> 2.24.0) - - AWSMobileClient (~> 2.24.0) - - AWSS3 (~> 2.24.0) + - AWSCore (~> 2.26.0) + - AWSMobileClient (~> 2.26.0) + - AWSS3 (~> 2.26.0) - ReachabilitySwift (= 5.0.0) - SQLite.swift (~> 0.12.2) - SwiftLint @@ -46,18 +46,18 @@ SPEC REPOS: - SwiftLint SPEC CHECKSUMS: - AppSyncRealTimeClient: 4479354d262a23d2cc9fea1760f3815b75a4091a - AWSAuthCore: f5325c5e076e8da6ad66932029ddb04451aa28cd - AWSCognitoIdentityProvider: 874160e2f79fc957efd28745ee7389bccd59dfaf - AWSCognitoIdentityProviderASF: a604ce4b892fe7be0729d22a77a36f8b641e35a4 - AWSCore: d5cd1311b33a4ae9faacda839c0ac9fff711cd79 - AWSMobileClient: 0cd4603f1dff10edb1e7b32e07753c864a21c5ed - AWSS3: d2e6ec331c46d1e00e4d25d061f2f9e85de22977 + AppSyncRealTimeClient: 2b4482b1770a3e5cf64f9714a6d198550017b5a2 + AWSAuthCore: e33e7d1c2a7e6c08a026865f9396b0ef870faac3 + AWSCognitoIdentityProvider: 4119e1492b23fc408a18c6dafe06888ef03c96e3 + AWSCognitoIdentityProviderASF: a7f1e8cbafbac53ea1150ca50eac870d5c04dacf + AWSCore: b6d8dda67f24c6fc4c354334ec6d34238f37b735 + AWSMobileClient: a9a498884df72531e3e73c9d7bb087f72364204d + AWSS3: add6253ef16fea349eac27143885d3a44d62dad9 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 SQLite.swift: d2b4642190917051ce6bd1d49aab565fe794eea3 Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0 - SwiftLint: 99f82d07b837b942dd563c668de129a03fc3fb52 + SwiftLint: e96c0a8c770c7ebbc4d36c55baf9096bb65c4584 -PODFILE CHECKSUM: 32e0ac12e43edbf6b9f2e07d8cc58e931a4cfced +PODFILE CHECKSUM: 51402155c984b01c9259c5c9aff2083760f75bce COCOAPODS: 1.10.1 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 9ea13418..a211804e 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -19,1283 +19,1292 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 01C277ABB9B00BC2C12926D320AAF169 /* AWSXMLDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 814D1F6054AB5C6C690C59987F6A7212 /* AWSXMLDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 01F4855F541615727DD856E4BBA3F15A /* AWSMTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F080112AB3F2DDA36C0D19ABDC0FEB8 /* AWSMTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 000A86E7139C7B8C39FD3B411BCEE73C /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA35A06525CCC22BEAA9C5D3A9DFBAAF /* SSLSecurity.swift */; }; + 026C2CBC8C2C05D84C1A5341C4E8E64F /* AWSCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 98FDF19CC6496FF23FED917249A4C098 /* AWSCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 029B157568B1B2E452FB9CDB7FF2D592 /* AWSDDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A6AE811BF24686175BF161248799A77 /* AWSDDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0324BBC2D85E034478A135176813D83F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; 03988D40148323D495E6D5D159565B59 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 03EE71B1AEE9FAFE9C3D0793ED8B0881 /* AWSS3TransferUtilityDatabaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = AB576C140AEA1C7F76621D18995025D3 /* AWSS3TransferUtilityDatabaseHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0458AF47AF03A0CF70A0B36C19718E11 /* AWSS3Service.h in Headers */ = {isa = PBXBuildFile; fileRef = 91C079EB54997757098F671B83332D94 /* AWSS3Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 045E333D58C50496AA76683CC8E35AB8 /* AWSDDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 47BE209438E8170E884E2191756157C3 /* AWSDDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 052D9AD73462A4F7F6AE8C5D4C1F88D6 /* AWSGZIP.m in Sources */ = {isa = PBXBuildFile; fileRef = 94FC4B19B15B7E8D96C3200D9758166C /* AWSGZIP.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 056D4972137735B21B6F46023CAFC3E2 /* AWSEXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2D8A155D5CA52CB0A4591C4A1567F2 /* AWSEXTScope.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 04312D42CA666F507C55CC5BC553C7BD /* AWSMTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 37FD3BB77403AF08E2DD7CE5AC51C8BF /* AWSMTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 04DA306A73E750834F0C533D20ED93D2 /* AWSDDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = B63F52A4AE770D69B4E0D79342617576 /* AWSDDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; 05D9808A1461837A4DA3023FEEBAF59E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */; }; - 060ADFB82151EDAD86DEC46E3E82B79E /* AWSAuthCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 08F293F1B985A8B32F94B0E13C84521C /* AWSAuthCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06A3AB470B32D4F28C95F82E47A4602F /* ConnectionProviderFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66DE53BB56EC04A6F8D16F28C2CC3438 /* ConnectionProviderFactory.swift */; }; - 070C65CF1E24A229060AB19F2B8C1126 /* AtomicValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35057B2B4436EC624A5E017D060AA5E5 /* AtomicValue.swift */; }; - 0834E219EC7736DCCC66B95A12ACADF0 /* AWSUIConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = F32471B7D58C97BD35CB25F6181304E5 /* AWSUIConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0903CB48B2F0D3C554E4DE76D89DF152 /* AWSServiceEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = 6173466C4E76AC7F519D668823FDE0E2 /* AWSServiceEnum.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09944176280C980EB49784DBCA380462 /* ReachabilitySwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B76A74428FA3CF48D3BDD74A14398DB /* ReachabilitySwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0995236C5A44723176A98AA7A19EB8FB /* AWSUICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = B41772468D1321B781BC2D97F04BB651 /* AWSUICKeyChainStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0A254EFE15B52DFF1C9721C662657CF1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 0A3D9BB3B8A918EB25997EF55FFB301F /* SubscriptionConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C4CBD219DECE4E9A61E10E7D61695EF /* SubscriptionConstants.swift */; }; - 0AA1A874D91FD154A5D3453900B122EA /* SSLClientCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC5E6EB0AC9F7F6BC7096EEBEC812C4 /* SSLClientCertificate.swift */; }; - 0AA703173F14B1AF2ED2CE1200D1183E /* AWSCognitoIdentityUser.h in Headers */ = {isa = PBXBuildFile; fileRef = EC7A2A89FF7F85F2C266F0445B65327B /* AWSCognitoIdentityUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 060ADFB82151EDAD86DEC46E3E82B79E /* AWSAuthCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 322DF6B6938C52FC7759B185228942B1 /* AWSAuthCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0612B21BED99E46A6BE04960B4527944 /* AWSCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D12487BD6BAE3B2364EA27FF73B675 /* AWSCategory.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 061F9707EE183FE2B1F1BD7DA0C85DA5 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */; }; + 06A3AB470B32D4F28C95F82E47A4602F /* ConnectionProviderFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96148C7F6D3B932C4F7C246A21AF69C0 /* ConnectionProviderFactory.swift */; }; + 0702FDCDB07296D1828145DA421701AF /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E2DB32F311CE52629BAA30DB745520E /* WebSocket.swift */; }; + 0707419BDB535BB9A49CD7539CEBCD3B /* AWSS3PreSignedURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F7D0B06BC5AE9DE878976B1EDDE9380 /* AWSS3PreSignedURL.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 070C65CF1E24A229060AB19F2B8C1126 /* AtomicValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1408BFA88133B4F789CE9BB65BC4B12F /* AtomicValue.swift */; }; + 0834E219EC7736DCCC66B95A12ACADF0 /* AWSUIConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D7B6BE9F3D00C78AC4294F1EAEF5341 /* AWSUIConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 091017099C89AEBF11C910EDE95BEF0A /* AWSDDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB9917891F7B0BEE650474F60C83BBB /* AWSDDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09944176280C980EB49784DBCA380462 /* ReachabilitySwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CDCCC4A3E853D1DED176CBBA0323F710 /* ReachabilitySwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A3D9BB3B8A918EB25997EF55FFB301F /* SubscriptionConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27145DBD2A68FD6408F77D4F0AA5EF73 /* SubscriptionConstants.swift */; }; + 0AA703173F14B1AF2ED2CE1200D1183E /* AWSCognitoIdentityUser.h in Headers */ = {isa = PBXBuildFile; fileRef = BAC2329FFC83C3F7180C0D1600AF35ED /* AWSCognitoIdentityUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B15CF951A4E03B903675ACAD97B5152 /* AWSDDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 985A7182B22455923239EFFD9C636024 /* AWSDDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 0B54BBEDD8DA2EFC43E2B27FAAEBD5E6 /* AWSCognitoIdentityProviderASF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76DA23533D0D7118513F3DA7D689B5CA /* AWSCognitoIdentityProviderASF.framework */; }; 0C9207B44ABF8EABE7BD5712EF9D4661 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 0DB73BE274424556BF191D3B3D015003 /* AWSURLRequestRetryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = C31299A886DD0A1D76CF5011F083B474 /* AWSURLRequestRetryHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FD9B5F5D677C99907638DAAD350D4D0 /* AWSDDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DF2EC42344C37A98B27281E89143C25E /* AWSDDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1202080E36DA1657A9E9F2113BB2ADC4 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46F8B81E3251C80C2D864D264954DD94 /* Blob.swift */; }; - 12A36465CC38179238885B65A0AA4172 /* AWSCognitoIdentityProviderASF-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 42138D1B06BAF0A3D5D80730F11128A0 /* AWSCognitoIdentityProviderASF-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12D0C93C7D4D4EE0E7E4559BEB65CE67 /* NSData+AWSCognitoIdentityProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C04A07ADBE8D87CB46B1140FC8C9FCD /* NSData+AWSCognitoIdentityProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 15154F169FF8A20CD46333222C8C6E35 /* AWSCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = CDB1C07115DC9B5761D10EB8496B9FE5 /* AWSCategory.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15761F37DC3D18118F8F42ED1F874E5B /* AWSSignInButtonView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FA13A1E5C054ECA4DD1C6601BB17887 /* AWSSignInButtonView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 17CB94A9978D380EA1B91A063582B684 /* AWSS3Serializer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA52D7DBEECCEE26AABC655AA4695B4A /* AWSS3Serializer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 18808F9C139BA0E9059E72980F0BF908 /* SQLite.swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EE88D31602E4B0C3E5B6C3F66E9592C /* SQLite.swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 190AA1E102698730B1C040025F21A5A4 /* AWSAuthUIHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F0425B7AD2C92F0FA2E5A78D9A1B12 /* AWSAuthUIHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 190C26927F8249E54AB730C314977E58 /* AWSCognitoIdentityModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FEE504C6AE91BCF520865BAD91EA2F2 /* AWSCognitoIdentityModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 19639FD109F4943A8F277F28F62F1404 /* AWSTaskCompletionSource.m in Sources */ = {isa = PBXBuildFile; fileRef = CC42CEB6170810C5BD0A994047B687BB /* AWSTaskCompletionSource.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1A5EFFD5BF3B757BB944C04B5DE68F75 /* Collation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A99B4B4F341916793103967D8FE31 /* Collation.swift */; }; - 1B7C69B955D8DD540162E8BEDA7BDA65 /* AWSEXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DF3CADB1E247CD8CB568FAEEF314012 /* AWSEXTScope.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 1BB1882FCE9EDE92EBC2B62DAE4E7E13 /* NSArray+AWSMTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = A21536682F4DB9E087D2F9FDEBD5B643 /* NSArray+AWSMTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BC6E522A6DCE2A00147C2538796FA8A /* AWSURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E918882C2A5672DDCC510F80406BC63C /* AWSURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C7A97DC259203D77EC99852B82AAB88 /* AWSFMDatabaseQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A38F5872837AE34E9547D4141AF3C9F /* AWSFMDatabaseQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1D370EB01E01F509C3BC63A786DDB487 /* AWSIdentityProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 4553AE6C8834BDAF73C21762E525675D /* AWSIdentityProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1D9543DE9C17DA242D4B057C01EAEC4C /* RealtimeConnectionProvider+StaleConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 592B2BCB137C9547C58D0FE998ADA977 /* RealtimeConnectionProvider+StaleConnection.swift */; }; - 1DD29239C5B3DAC3F30BAFC64C4F30D9 /* CountdownTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EB33BD5A9ECB5FD2C0DE4BD566E601C /* CountdownTimer.swift */; }; - 1E010E9C01F50A33F8557749FA8C8B3F /* AWSBolts.m in Sources */ = {isa = PBXBuildFile; fileRef = FCCEDB0095CF8BAB74F17FDC95D88409 /* AWSBolts.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1E6350CA7FF4A358C7A66BB2409AC823 /* AWSDDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = C38B815BC297EB82AB852B220943C58D /* AWSDDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1F16F91003126094C661C33E09E38C65 /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3ED33C8BB7B3177EA8FC99ECEC63C30A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 20BC870944FB615C3C3FC5DEF1FD5888 /* AWSCognitoIdentityProvider-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3A79C214E7E3CD8EF6DAC5AFC98354 /* AWSCognitoIdentityProvider-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 218761C91FFAD361E8746496D184F1DD /* AWSS3PreSignedURL.m in Sources */ = {isa = PBXBuildFile; fileRef = F5403C4CA7019D5D2F6CB62B352FEADF /* AWSS3PreSignedURL.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2213632DC621A4FC5C45803A9E3E8A71 /* AWSMobileClientExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75ABBDCFE8BEAEF45D277B1547B40064 /* AWSMobileClientExtensions.swift */; }; - 224EAF74BE1EB347F5ED7524B7AE23B4 /* AWSValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 46FCD2196AE5DFE8DD3D756690B525CD /* AWSValidation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 22F4B39758CF08041402787ACA489CFC /* NSObject+AWSMTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CA43588C2EAC9981BDACDE48F4C78736 /* NSObject+AWSMTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 232188029870463598833C6E69E3F4EF /* NSValueTransformer+AWSMTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CD7C3C7E30C57F2FF014DE242870E053 /* NSValueTransformer+AWSMTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 24072E8208B0FC45A63F8FEDC3771822 /* AWSEXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = A8A2DB8F8A2FC22CD34F787E9C80277C /* AWSEXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 243016A69B6356861F29A0E927096388 /* AWSJKBigDecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = 8928CF108DE4A1B8C2F65D728B69FFFD /* AWSJKBigDecimal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24A6BA7DBF1E13F67CB750AFEE55DF27 /* AWSSTSModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 76A02227C1674DA4B5FDF64AC69B96F7 /* AWSSTSModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24F05B701F67B38CC56068EF5A0F83B2 /* AWSCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 468D8DEEE14CEFA138DEDF8623C7ECA4 /* AWSCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 259465919A5E3109F5B7EDAFC8B6D360 /* AWSDDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A037224F12F6AFCCF8B758235DC5C9 /* AWSDDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2661CC1CAE55CA1D23FAFC32A6C4FED7 /* AWSIdentityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B98BF99FACDDE5B5107D2875F99C2C4 /* AWSIdentityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0CAF4E47E09E3009546B52E831300BC6 /* AWSSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 14556AD603E9AE6ED8138D781CECD0FD /* AWSSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0E89239DA001946F9814E3450BF6CC2F /* AWSS3TransferUtility+HeaderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = CBA81B31E41A3C68BC4F9A1B95F5826D /* AWSS3TransferUtility+HeaderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0EB41CA6A3644DD637D7470C00FFCB37 /* AWSDDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F307E3787FEE7FD984FF717A920559A /* AWSDDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F1424DB19CE603E957658962D70F61E /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 871FF398EC470EC9A264DDEE5992E7EF /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F530D521C5AEC42B729C1D9DFF55860 /* AWSFMDatabasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = F268BAD0C6C4CB88AEC75B91FC6C9639 /* AWSFMDatabasePool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 107B12771077931E6B90C27EA0FF14C6 /* AWSDDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A3DC30BB54E07EC9BE9AAB48E36C783 /* AWSDDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 117A2C0EA77A80E5BD7BEE64ED07B042 /* AWSS3Model.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EBB9CE66A91A8805FD227A851B608BB /* AWSS3Model.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 11F823B9B237A217079D94A754C9ADA1 /* AWSFMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F3C138148AAC2294F575CDB49C3EC70 /* AWSFMResultSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1202080E36DA1657A9E9F2113BB2ADC4 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 248EBDFB48BCCE23B07865003CB04C05 /* Blob.swift */; }; + 1295465BFE4291882B4F8C8E8E44F3F9 /* AWSCognitoIdentityProviderASF.h in Headers */ = {isa = PBXBuildFile; fileRef = 0330C0738E8490EB94BB708B0FE97B22 /* AWSCognitoIdentityProviderASF.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 12D0C93C7D4D4EE0E7E4559BEB65CE67 /* NSData+AWSCognitoIdentityProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 91D3C1A703BAD71E4FD79B40476DA7C0 /* NSData+AWSCognitoIdentityProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 14838A7DFC4F88F3BE7947079558CE51 /* AWSXMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 064B87BCF17996CD985E883C900A3335 /* AWSXMLWriter.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 15761F37DC3D18118F8F42ED1F874E5B /* AWSSignInButtonView.h in Headers */ = {isa = PBXBuildFile; fileRef = C185066F7175174E2CE0FF86879E380B /* AWSSignInButtonView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 15B65A83B52DE2CC69A16B8C4E1E4598 /* AWSClientContext.m in Sources */ = {isa = PBXBuildFile; fileRef = E2768BE80F3E2EFCE49F9DEA9573A800 /* AWSClientContext.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1707A868360FE4DEB335BF8DEBF5B458 /* AWSS3RequestRetryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = E022FF50B4B620EFF0AEFA3F619F3DC0 /* AWSS3RequestRetryHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18808F9C139BA0E9059E72980F0BF908 /* SQLite.swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B00B90A0C2ECC6A69AFA04AFCEBE2FB /* SQLite.swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18FCFD6F689FE0469255102C703A34CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; + 190AA1E102698730B1C040025F21A5A4 /* AWSAuthUIHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B3E809BF5EEBC0F3AE804E2E5B5A68A6 /* AWSAuthUIHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A5EFFD5BF3B757BB944C04B5DE68F75 /* Collation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA80040A35DDC6FD4EE25856AC8B9F8A /* Collation.swift */; }; + 1AAF517FB3AF6D1CE89116748C65616D /* AWSCancellationToken.m in Sources */ = {isa = PBXBuildFile; fileRef = F44DCF32587254F0453CE7E4429D8514 /* AWSCancellationToken.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1B4283B8AE37DF030ED9B05A96D7B2DA /* AWSDDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 05034E39EB153A21F06EAE7511FAC2CC /* AWSDDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1C051E362173D67D20DCE8E6E17306C2 /* AWSTaskCompletionSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 564ACA81771A5E68ACBFFAC0AC9CBA7B /* AWSTaskCompletionSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D1504264C9440DAC34E819BA188DD5C /* AWSURLRequestRetryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DAE1506B76A88D447B406D48A9EFD7 /* AWSURLRequestRetryHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1D9543DE9C17DA242D4B057C01EAEC4C /* RealtimeConnectionProvider+StaleConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 984CA003D976E93699DD4890B282187D /* RealtimeConnectionProvider+StaleConnection.swift */; }; + 1DB9416F510ACFADA7722D9E38DEDFCE /* AWSSTSModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 421C8FC45E1280C7E2C16379B2F77DE4 /* AWSSTSModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1DD29239C5B3DAC3F30BAFC64C4F30D9 /* CountdownTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = FADA15984CA57490EBEE8A358ED4D1E4 /* CountdownTimer.swift */; }; + 20BC870944FB615C3C3FC5DEF1FD5888 /* AWSCognitoIdentityProvider-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C3781B0C8712A58779B8FE3A9A3B8E3 /* AWSCognitoIdentityProvider-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2213632DC621A4FC5C45803A9E3E8A71 /* AWSMobileClientExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E865564E630AAD97FA1284DEF2978F53 /* AWSMobileClientExtensions.swift */; }; + 2294BA44C0033981B5A405085CF19140 /* AWSS3TransferUtility+HeaderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 75619633007EEA285863FEE6336A6AD2 /* AWSS3TransferUtility+HeaderHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2377283F6F3AF89EC46BD778BD29471B /* AWSURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F5FC55DC5260FA80DEB474DAD386B49C /* AWSURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 243016A69B6356861F29A0E927096388 /* AWSJKBigDecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = C793DDB63B3FBCBF576C197F50726DFB /* AWSJKBigDecimal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2661CC1CAE55CA1D23FAFC32A6C4FED7 /* AWSIdentityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 336D2225859821C6B3A97A70AA9F5BE8 /* AWSIdentityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 292AA2DAAA13D8165D3CAAB59F8367E6 /* AWSMTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = EAB620F008066F5615FB2461B564B15B /* AWSMTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; 29A0D853AF1B0FCDCF382D0927761105 /* AWSCognitoIdentityProviderASF.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 76DA23533D0D7118513F3DA7D689B5CA /* AWSCognitoIdentityProviderASF.framework */; }; - 2A5471A4E8E7274D40B711269D49DDA0 /* AWSXMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 718261847EA4374BDAB0DDFE4D783A74 /* AWSXMLWriter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2B7E50ECA520BF4C324E0585E96622BD /* AWSMobileClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E184DAA9B2D4BFD834523466F94A290F /* AWSMobileClient.swift */; }; - 2C74D727D7F1A69D94C79A875BF82188 /* AWSNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D74ED39483AF9E51DCCE993622BA240 /* AWSNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2CC1889DAB53FFFD0091D542DACBBCCE /* AWSTask.m in Sources */ = {isa = PBXBuildFile; fileRef = A0BA3909CBB1E47270F9B575C3057B8A /* AWSTask.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2DB65CD5B0CD872310B93B4FB80C25FC /* AppSyncSubscriptionConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E3A77A47FB4C801CC8E1559B10D51EA /* AppSyncSubscriptionConnection.swift */; }; - 2E7D877416882C36BFA433AA3472F8BB /* AWSDDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = E399951A5E965947ABBD07134595D4E7 /* AWSDDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E86CCC071C1AD35C3400219E4110802 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 423F82D43D04007D9E5FDF05823E05F1 /* WebSocket.swift */; }; - 2EC26F8A5EED9388936ED55E7833C972 /* AWSDDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 313A5E2082F75C91F809A808D53E15BF /* AWSDDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2ADB50F8431E12FD60CEA31FDF74CC16 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; + 2B02023F22C36D56069A0F2C35B19595 /* AWSNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FF0051E3A8D667DC9F1056D19D476CE /* AWSNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2B09895226CD244052383D964E831D10 /* AWSFMDB+AWSHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FACF62EACF6C95351657C538304B7CA /* AWSFMDB+AWSHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2B7E50ECA520BF4C324E0585E96622BD /* AWSMobileClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = B27F62A8C500D145C8D805839A59F1DE /* AWSMobileClient.swift */; }; + 2B993FE433FCA6FF13B007E7714841AA /* AWSFMDatabaseQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F9997555832ADE68B57B7F11F66B4D6 /* AWSFMDatabaseQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C285B78BB724F13FD0A1F6EC7C34783 /* AWSFMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 354934565F86A44E53ACCAE5A3BDCBFD /* AWSFMDatabaseAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C8FB1F95B77099D2346315490A88103 /* AWSExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8138B00D30D0C0C8805F6EE1A9F2F614 /* AWSExecutor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2CE8308652701DACF963C9E69C95F2B5 /* AWSS3Service.m in Sources */ = {isa = PBXBuildFile; fileRef = A0DAB087DE69AAB2F45E5D6D7B05C0DB /* AWSS3Service.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2DB65CD5B0CD872310B93B4FB80C25FC /* AppSyncSubscriptionConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE01ED3D06AB7DB9625AF0DE4A739A /* AppSyncSubscriptionConnection.swift */; }; + 2ED51F3B1C4EA1E8BE92B7724106F8C7 /* AWSModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 665CEB43C88A744CAF33BD27E3019F8A /* AWSModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2F0AB7A92D1651C1080AB366C358114F /* Pods-ApolloTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 777A94C5786C9A7C952B8E6A7F69B655 /* Pods-ApolloTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FB3A10981F9E22FF30F80F3FA3A2380 /* AWSCognitoIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F29E7FFFAD7FA29B6CD5CC296E1DEA8 /* AWSCognitoIdentityProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2FB6DEABC3B2BE3B693ACA6043DDE20C /* AWSCognitoIdentityResources.m in Sources */ = {isa = PBXBuildFile; fileRef = D1BF953B0B33EFFB7EC8266F2C3D820C /* AWSCognitoIdentityResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3017D913FE5E3897C5BC7611ADAAB420 /* AppSyncSubscriptionConnection+Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0B62B7BC9EDED11F4895D3F2580A19 /* AppSyncSubscriptionConnection+Connection.swift */; }; - 302001DE20BA19DDEBCDD4E449D0390B /* SubscriptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 610C348F2EDDBCE18C5729E40829EACE /* SubscriptionItem.swift */; }; - 30ADD15A31CFE209F6CCA731BDBF2725 /* AWSCancellationTokenRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B642C7C2C205ACF2616CC8604F68545 /* AWSCancellationTokenRegistration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 30E016777ECC90CC5BF9E4D0C024D294 /* AWSDDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B33B0BA15C5D183EDE97B39E0D2DBB3 /* AWSDDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3160E0A01EBC69007B446A4F2F34FB18 /* AWSMTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC06DE6B17E58CB4E1009FE68EA890B /* AWSMTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 32536708EF4A960F2418159E7886F1F6 /* AWSEXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CDB1669A29B5D3AB1F43420A8C70AF3 /* AWSEXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 32899CC483E32F17C4A4C8B1B58B058F /* AWSCognitoIdentityProviderHKDF.m in Sources */ = {isa = PBXBuildFile; fileRef = 6683ED2750BED356C2C0CA5B760C73AA /* AWSCognitoIdentityProviderHKDF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2FB3A10981F9E22FF30F80F3FA3A2380 /* AWSCognitoIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B359177081ECB46E80E8DBBBBA6E039 /* AWSCognitoIdentityProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3017D913FE5E3897C5BC7611ADAAB420 /* AppSyncSubscriptionConnection+Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F36956158F4225FA079A7AFBB347950 /* AppSyncSubscriptionConnection+Connection.swift */; }; + 302001DE20BA19DDEBCDD4E449D0390B /* SubscriptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE03754A1C603C4B456F2A84B42DB775 /* SubscriptionItem.swift */; }; + 305DCC1BA6C0B9189B01618E663614EE /* AWSS3TransferUtility+Validation.m in Sources */ = {isa = PBXBuildFile; fileRef = C835684D31CBB76FB98171C801B80FAB /* AWSS3TransferUtility+Validation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32899CC483E32F17C4A4C8B1B58B058F /* AWSCognitoIdentityProviderHKDF.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F20E249EEAA1A1287B6E52B727629B /* AWSCognitoIdentityProviderHKDF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 32B8F654964C09A85DFC89F8E577CF4E /* NSError+AWSMTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 116FA08B0E0EFAB6D7ABCF84DD2A385B /* NSError+AWSMTLModelException.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 330C39B49107C1A22FFA12344A7DBD6B /* Pods-AWSAppSyncTestApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 453B90D233853D3153016E9F53F7D636 /* Pods-AWSAppSyncTestApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 33A05F0B28E38EA8139FF111C5BC8D7D /* Coding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAD18067063DFD339BCCE1B6BF227962 /* Coding.swift */; }; - 35BFC9D6A652FC54B78A453FF84ABE30 /* DateAndTimeFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44122B77D68BD5AC6EDCFE9E9339FFDB /* DateAndTimeFunctions.swift */; }; - 36DA202A0A516ECF81028853DA2DCF81 /* AWSKSReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = DDA62F753F72416A68173475E3C2C5EC /* AWSKSReachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 377C1D001F065165F51570118FFDD401 /* AWSCancellationToken.m in Sources */ = {isa = PBXBuildFile; fileRef = E89738BD5EDA148643A3544657F23E88 /* AWSCancellationToken.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 37860C979AE4D8380A58426B0FEDB773 /* AWSInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7671AF14133E7FE1E45AAB2483CC14F9 /* AWSInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 38C6A98E4976C30C908FA1E05C98E60A /* AWSSynchronizedMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = E39BACCE117BD7EF69BAFA271794E8C1 /* AWSSynchronizedMutableDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 38F9B8420FDD6B7A59CE1EF0A55DE4F5 /* AWSSTSService.h in Headers */ = {isa = PBXBuildFile; fileRef = F2CEC867A8862672F301221EE7216D58 /* AWSSTSService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3A696361F68365DE5C94E04D889C36EF /* AWSMTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F53CD813217280C284A433F6207814F3 /* AWSMTLModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3B8E3E5BB699C4369BB6758A6D84EB42 /* AWSFMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 87621749FE32A3DA153E09DC81701BAD /* AWSFMResultSet.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3BD5D7FB4D55F3AFF72F3A3A07B9E063 /* AWSS3TransferUtilityTasks.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AC678A249C394D9B19A95367376CE08 /* AWSS3TransferUtilityTasks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3C7F7518FEEDE8CE6F014C7BD883FD33 /* AWSDDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = DF97D66B708D45C602D4E44F1173772A /* AWSDDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3E80E929D4066C2421A2116AA426DC49 /* AWSNetworkingHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = F980429BB27D823F2017D23C55EEB485 /* AWSNetworkingHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3ED55CD2C8C178914D06BFFE8A410A25 /* AWSCognitoAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 4273E43D4232B0064005AAF2A83CE5F8 /* AWSCognitoAuth.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 402F7F39E093B87FB920E532ACC3D0F4 /* AWSUserPoolOperationsHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BB5F1F3190A72CD9C8C815BF0E676B4 /* AWSUserPoolOperationsHandler.swift */; }; + 33A05F0B28E38EA8139FF111C5BC8D7D /* Coding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E80707EBAD4C4DE167FB14CA7B4AE188 /* Coding.swift */; }; + 346344E87E5F59339A09E2B7CAD128EA /* AWSmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = C4D1D68B1969D46390533A4F6EAF76AC /* AWSmetamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 35BFC9D6A652FC54B78A453FF84ABE30 /* DateAndTimeFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF2857B55E93B80484B700694D5AAE90 /* DateAndTimeFunctions.swift */; }; + 35D5E9813A351C8FDE78F7C70928A945 /* AWSCancellationTokenSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 05BC1DC119C21C0BFF7EDDB5467AF63A /* AWSCancellationTokenSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 363DCF776547D067850F5A2C9A922FEB /* AWSCognitoIdentityResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 59AED2051663A428B4CE760553E407FD /* AWSCognitoIdentityResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3642C8076420C35599DDA9B2B51E4AE6 /* NSObject+AWSMTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 2478441E521A0B0EFBD4EC041E30788F /* NSObject+AWSMTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 36C2F7D5DE21FFD3E3C6A6AF09F469A4 /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7820188E4F53FEA6ABE973AB99F6B631 /* Starscream-dummy.m */; }; + 378CCBBAE72E7D04609B15F0E8FE45EE /* SSLClientCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835871B787F67A1161001696D1D74F4F /* SSLClientCertificate.swift */; }; + 398318B871EF68B951F455BBEF70E98B /* AWSCognitoIdentityModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EB2575C425CD018FDB7109FC88BED706 /* AWSCognitoIdentityModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 39935546BCB6FC9FAC445AB8445004CC /* AWSCognitoIdentityASF.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A0D4EFBBA2161527C3357DDB58EA435 /* AWSCognitoIdentityASF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3B03806243D1E4C8F18B96B3F6E9077F /* AWSCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BE7EDCFC0AE9EFA91E0A9304390E62B2 /* AWSCore-dummy.m */; }; + 3B056C7B25B0CF07805DE4F34311121C /* AWSInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = D10A236DE1DF8779FCC7487B5B09B4F1 /* AWSInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3ED55CD2C8C178914D06BFFE8A410A25 /* AWSCognitoAuth.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E7DD427478AEE9B1AF58919FD4CD2E1 /* AWSCognitoAuth.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 402F7F39E093B87FB920E532ACC3D0F4 /* AWSUserPoolOperationsHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C0789D787ED7A4D11930832FDFBE1A7 /* AWSUserPoolOperationsHandler.swift */; }; + 4080A1B4BB57120C103CABB5777E9AD6 /* AWSS3TransferUtilityTasks.h in Headers */ = {isa = PBXBuildFile; fileRef = D8465B1E1A81E14923DC903C1B6411A0 /* AWSS3TransferUtilityTasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; 40D62F00E484A37AA2C6232A7B915595 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 416341E442DF8EDAE7E9485EE905FE14 /* SQLite.swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FB4B57601C04A21A6AEBA2215C7B329 /* SQLite.swift-dummy.m */; }; - 41734C95E58DB677B6CC83929CAE4139 /* OIDCAuthProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 733CFBD889603EBE3D3CA100E1FFD872 /* OIDCAuthProvider.swift */; }; - 41BE8227D0D801CBC779DE63C5644572 /* ConnectionProviderError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716AEA3476CFC18F4A4399DCB7AA5C00 /* ConnectionProviderError.swift */; }; - 423C7B61923C46800C4AE3146D8D6EDA /* FABAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 80F2764EDC1F31C7A383488CE962D178 /* FABAttributes.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 42A856ABC668CCE7F68D3B8BEAA4C9FD /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */; }; + 416341E442DF8EDAE7E9485EE905FE14 /* SQLite.swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B0469E1A5C6F8691E08BADE67A067E7 /* SQLite.swift-dummy.m */; }; + 41734C95E58DB677B6CC83929CAE4139 /* OIDCAuthProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D24C128ABFD2680D4E4DFC5A03E39E2 /* OIDCAuthProvider.swift */; }; + 41BE8227D0D801CBC779DE63C5644572 /* ConnectionProviderError.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD08A1F3895431B496BAA71A5E3DD7BB /* ConnectionProviderError.swift */; }; + 42075D71F8CD9895F229D7F0A8DEC3B5 /* AWSS3TransferUtilityBlocks.m in Sources */ = {isa = PBXBuildFile; fileRef = CA5058B1788D0F4D1E65E154F19971B5 /* AWSS3TransferUtilityBlocks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 43428E1770DFCAB77A6F3CA97529B808 /* AWSNetworkingHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 61BDCDAED4D6D20CE77B978C09132CE8 /* AWSNetworkingHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 44C9AB88C556AE1A6D95D510E50C3373 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */; }; - 45D8DDBF9AA0635136B0489FE6391CA7 /* AWSS3.h in Headers */ = {isa = PBXBuildFile; fileRef = FB97D391FAA1F92A3025EB76120087F5 /* AWSS3.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4627935AED721C697210046C88CA8918 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */; }; - 46F93C1537B1F1919BA187AD223C855A /* AWSS3TransferUtilityTasks.h in Headers */ = {isa = PBXBuildFile; fileRef = CA247B927DA498B7739E589ED8D3A7B4 /* AWSS3TransferUtilityTasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4736334DD07614B0CCC568DB215F3E0F /* Fabric.h in Headers */ = {isa = PBXBuildFile; fileRef = 9947628CB40ACC048D50E2C649781F52 /* Fabric.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4742F1AE9F5F736002381B89259AE063 /* CoreFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85C7D7B227126CCF5FC8F2C5C503F6E9 /* CoreFunctions.swift */; }; - 476FFE8428BA05822E0A55E5FD4D206F /* AWSCognitoAuth+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6306029C55AD34FC9D3C6665D0E8507E /* AWSCognitoAuth+Extensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 47BE74BF7F229B9160F0EEBBF40AC52F /* AWSDDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = F469F0FBA98F59CD115D30F3FD55F270 /* AWSDDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 482237152FFA75E2E1C2E7665DDC0F27 /* AWSFMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = F0051A416BA10149158A4D8AD99923DF /* AWSFMDatabaseAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 48F53717F02C74359D1FADAB340C7E8C /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DF7F52B86A172D805BAC2B5870C20568 /* Starscream-dummy.m */; }; - 4A03191704C9A1FB9530D11314275421 /* AWSMTLManagedObjectAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 718D14F140315DDFA2052E031F151393 /* AWSMTLManagedObjectAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4AE8028541CDC0389C86C684D2D38021 /* AWSTaskCompletionSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DB2274EC5F449010A4920E0DEDAC6422 /* AWSTaskCompletionSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B38BEBDB78D77A983F40109483A7A6F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */; }; - 4BB20C92F5663F8A8917546721AC8766 /* AWSS3Model.m in Sources */ = {isa = PBXBuildFile; fileRef = 86810F912383D5997A6494E60D5FE8BA /* AWSS3Model.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4BEB727534A151721CAEF976F54A678B /* NSData+AWSCognitoIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = C6EA17802596026BD35D7102FDB96DF9 /* NSData+AWSCognitoIdentityProvider.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4742F1AE9F5F736002381B89259AE063 /* CoreFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1372DBF2ACB25037F35DA3EA295C4741 /* CoreFunctions.swift */; }; + 476FFE8428BA05822E0A55E5FD4D206F /* AWSCognitoAuth+Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA1847EDED98C84F47242B5C1F9022C /* AWSCognitoAuth+Extensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4782C4E79143024D9812F9997DA233AD /* AWSXMLWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A031454E74D05C1B0D988D7A72D5CF4 /* AWSXMLWriter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48804C1C46E2DBC2BDA7EA8B0B372126 /* AWSGZIP.m in Sources */ = {isa = PBXBuildFile; fileRef = FCEC6DCC376F24410D26076D8E070A51 /* AWSGZIP.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48A2A4330A300D9CDDEB35F37BAA7490 /* AWSS3RequestRetryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 4833DDDD4333D63F0DB86844B0D7D970 /* AWSS3RequestRetryHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48CB30FD923A28B5783ADF82811AA404 /* AWSDDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 64C66A20CA498E37C4C7CE548009BB52 /* AWSDDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4BA997F58B9C7BD2EEA76AD0A6BD830D /* AWSLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 59FAB0170B78D1F89FDFCB5B34A7A2C5 /* AWSLogging.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BEB727534A151721CAEF976F54A678B /* NSData+AWSCognitoIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = C0698F54DB908868C505639866B85534 /* NSData+AWSCognitoIdentityProvider.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4C526A476F5594A7D2C5F6F9B0BF6B9E /* Pods-AWSAppSyncUnitTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 61FA33FD89BAC35FF8DD26E5BA51567E /* Pods-AWSAppSyncUnitTests-dummy.m */; }; - 4C87F01B8B835392EE7D75E4F7A802B3 /* SQLiteObjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 44A68086272BFACC519E538E712A3961 /* SQLiteObjc.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4DAE2EFF3A68D4166CD14A340A7709C9 /* CustomFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7617D7D94C683118A3F92B4978535B89 /* CustomFunctions.swift */; }; - 4EFDE49F532E435953A8049566A9FB46 /* AWSExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 65F0D89B985385255E77781294DEC3DC /* AWSExecutor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4FD6A5133C238AFC266AC8FB4FB155CA /* _AWSMobileClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 311D5C09FE9122EFCF19C99E976472EC /* _AWSMobileClient.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 511C4390B66FB444ACABFBCD8B466E36 /* AWSService.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AC1EF436DEDC1E05B3641B560D95AF1 /* AWSService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 51931ABFA99E328AA3254C515BF08AAB /* RealtimeConnectionProvider+MessageInterceptable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD02A1D6A57D20B9712BA36FB91B86F1 /* RealtimeConnectionProvider+MessageInterceptable.swift */; }; - 51966B5A90DB3F6875691A2932944EC3 /* AWSService.h in Headers */ = {isa = PBXBuildFile; fileRef = 337BB189C50B1F1328A9FE4BE818B3A6 /* AWSService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 519BBAACAE48EEEF6DC4F5312E4D52A2 /* AWSSignInManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1146F8E557EC6C9C589F8A1886E5390F /* AWSSignInManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51DB676F2D4FBD5AA84E23B23D4058E5 /* AWSSignInProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = E0B5CE900F8F76A650EB4BAA370E4C02 /* AWSSignInProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C87F01B8B835392EE7D75E4F7A802B3 /* SQLiteObjc.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C5E050448884F1C09FCB84EEE10886 /* SQLiteObjc.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4D1D2B85DBB059523566B6BE160723CB /* AWSDDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 990D30711DCF72BFC66DB9637738C0CE /* AWSDDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D3DDA43664F91831DCAC53337DDA98B /* AWSURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2056F1EC5C934691A6CDEB1BAED84FE4 /* AWSURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4DAE2EFF3A68D4166CD14A340A7709C9 /* CustomFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6EF8EDE2FE3B8BCCF7908D2BF4DDF25 /* CustomFunctions.swift */; }; + 4E468AD75F21636DD57F02B73EAF1EF1 /* AWSDDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = E0EEC87C5F69F09FDED633D32A724ABB /* AWSDDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E7563AEE3CF67A72CCFABD7B8A68E95 /* AWSSTSModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A34C7FE8693DFCA71C1D5B1AC2EB0F7 /* AWSSTSModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4EB1EF5FE8ED456CE1D892E0FA890C0D /* AWSDDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 378297A4B801243E23BFAFD7C8E5A5D7 /* AWSDDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4FD6A5133C238AFC266AC8FB4FB155CA /* _AWSMobileClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 05A66BD3CCC52D156A30C5CA1B3B2EFC /* _AWSMobileClient.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 507AA9173E8085AA64AB996920D4A89D /* AWSLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 70CB0D4BCE825E0C144400246AEA6271 /* AWSLogging.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 51931ABFA99E328AA3254C515BF08AAB /* RealtimeConnectionProvider+MessageInterceptable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4218E18E98A6263C14EF4DC9360B52A0 /* RealtimeConnectionProvider+MessageInterceptable.swift */; }; + 519BBAACAE48EEEF6DC4F5312E4D52A2 /* AWSSignInManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6CA55C8F106136CD1F0538E97F16EB /* AWSSignInManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51DB676F2D4FBD5AA84E23B23D4058E5 /* AWSSignInProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 4774C1CBA850E8902560536275AB94D5 /* AWSSignInProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; 51E6D6EC168CEA630E9150DE56048363 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FDB0A977AD01956ADB216E01C2C011D /* CoreTelephony.framework */; }; - 52E881F1868A28E7FC3AFBBB166A53B2 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 786C7A5C3ED4EEFD4834B27DE97860ED /* Operators.swift */; }; - 52F45CF30746C692D23AF9FB6431C3A1 /* AWSURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = B76CF9F5B1C4811F80CF86EA4C251CBE /* AWSURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5310F1A14BF15A9F3C7AF71EB33D3FE2 /* AWSMTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = DB90DE3B85080B50E2CB08C22B5CCE41 /* AWSMTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5319154BEB250E2C6A40D916E3101BE2 /* AWSCognitoIdentity+Fabric.h in Headers */ = {isa = PBXBuildFile; fileRef = CBD75E5B97CA025EB8CF795D20EE32B7 /* AWSCognitoIdentity+Fabric.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5339DCE292C53509DAA55D84C524AE04 /* AWSMTLManagedObjectAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = BAD7B92694CA961CA4223D41D6C95722 /* AWSMTLManagedObjectAdapter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 539B1CE4A984C8B56FBFF3EBE6FE248D /* NSDictionary+AWSMTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D5310B6B33905B63CBE9B529325B230F /* NSDictionary+AWSMTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 54ACBC9DADA9FCBEE4B4D3059FD10ED3 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4E01133F41A251E0A28C8A05C719D04 /* Statement.swift */; }; - 5784267C9CE3AFF450CA8658FE3CC1DF /* AWSEXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 19CA88A35DF75744CF9E7E3B4E1B4873 /* AWSEXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 57C6BB4EC5E752A42B9203BF81412C19 /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12EB737714B8C792271560205AE7597D /* SSLSecurity.swift */; }; - 5A4D42982746372451F02AC63C72CC7F /* AppSyncConnectionRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4FAF8B544299E792F5F80605A70EFB4 /* AppSyncConnectionRequest.swift */; }; - 5CA1F0B6A0D7B901FFB63F40856EFB4F /* AWSCognitoIdentityProviderHKDF.h in Headers */ = {isa = PBXBuildFile; fileRef = 249C973943176DC503E48EF46B5F7AC5 /* AWSCognitoIdentityProviderHKDF.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5D17C5D0B10582F901F78785B6B5F207 /* Setter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6281DCE9D31CE157CD80254F4E30F3 /* Setter.swift */; }; + 52C05BD23CF8BE146BF2A62666F36926 /* AWSURLRequestRetryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C5FF03BCE2F2C0E4C1195FC1CBF0543 /* AWSURLRequestRetryHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 52E881F1868A28E7FC3AFBBB166A53B2 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB97C0A38940380006DD5E8108C8F077 /* Operators.swift */; }; + 532E54DCBF8279FB273F329DB90FF46E /* AWSURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = BBDEB3FCE1C43A2FB15231A32C546175 /* AWSURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5431BB81184193C6BFDD6DF081AF7361 /* AWSFMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = C35B32EDF44E381CCE8B0C3BC2D21A1D /* AWSFMDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 54ACBC9DADA9FCBEE4B4D3059FD10ED3 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67B9C2503E57740893AA176F519D7E7 /* Statement.swift */; }; + 54ED48DBEFAF1DCDF4DD7A74A21038D1 /* AWSCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = B826470FF448C471A5F27CAECEC39208 /* AWSCategory.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57241C832B3660392243A145CBA7D8E0 /* AWSBolts.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DCC246FB3EDCCBF0D1910054F54BD4B /* AWSBolts.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5724BF4BFFDF0EE1B1BEF42E1AC9DD2F /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89228E1E3083420BC39BCE1AF115F736 /* Compression.swift */; }; + 5854CAF3E08A95E0BE8C201CF9EBEB48 /* AWSExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 06D6385D622115914F8B1F009C3EBF34 /* AWSExecutor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A4D42982746372451F02AC63C72CC7F /* AppSyncConnectionRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6205B30C2CFAAE76A42D1FC3764A6BD /* AppSyncConnectionRequest.swift */; }; + 5ADA99B53E159CC6BB6B240DBCBAA136 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */; }; + 5B13CE900AC00494311C08237D2F4925 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */; }; + 5B2A14A7E7833F03F779401B34F2CFC5 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */; }; + 5CA1F0B6A0D7B901FFB63F40856EFB4F /* AWSCognitoIdentityProviderHKDF.h in Headers */ = {isa = PBXBuildFile; fileRef = B024B412615E36C6C2F875BFE2E4B40E /* AWSCognitoIdentityProviderHKDF.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5D17C5D0B10582F901F78785B6B5F207 /* Setter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67BD3FDCBFFB2CD9BEA8AF0E555CE6B0 /* Setter.swift */; }; 5D668FBB78D2128F8C17ADDFD4C62F2F /* Pods-AWSAppSync-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A2E9E7A1D3C85B2FDEE79C536EE8521A /* Pods-AWSAppSync-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D829AEDBE0732945E1ED06A42487316 /* AWSURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 403A25F61A51AA9F699E807BDFAE5243 /* AWSURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5EDD7FF917970445AA9B763803137B17 /* AWSJKBigInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 72436B123E378D3FC5294FC60C9D15E2 /* AWSJKBigInteger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F75157A5075DECD1D4512F9A6744CA6 /* fts3_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 944723B7469BE2F1F2A16C2A160681D2 /* fts3_tokenizer.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 6009244AAAAB3AE6483DB5A57BB8C0B6 /* AWSAuthUIHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = C417DA2E525786A4F18A82430314E645 /* AWSAuthUIHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 60BCB4BA9EFDAE14E4F05E1FD2920594 /* AWSCognitoAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = CE820AA6821FDCAD36173B8A8FAAABDA /* AWSCognitoAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6105B1153746264F919BAD4D9E3E68B9 /* AWSDDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F8CB37E5F86BA0693AA1DAD7350F924 /* AWSDDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 61F6EE29154A194B1E2EF833545E31A5 /* AWSTask.h in Headers */ = {isa = PBXBuildFile; fileRef = ED6C173F302FD8972652CD5C8F9AEC9C /* AWSTask.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 623639FE800811C33A4A38FEE2763B8E /* tommath.c in Sources */ = {isa = PBXBuildFile; fileRef = 6606785B337BE6D710EBEE2FC40BE6B3 /* tommath.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 62DD0266423E5B848B7AE0ECCEF7E7E4 /* AppSyncJSONValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC087A48DBEB65FE92330DFCA3B698E0 /* AppSyncJSONValue.swift */; }; - 63214A43852977798936BADF4DDA26DF /* FTS4.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC6E69327590733881753B771080023B /* FTS4.swift */; }; - 63CCC2CF18BE122D133A13FE9960322F /* AppSyncJSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46035C95AAF9696C2EA02F54977EB935 /* AppSyncJSONHelper.swift */; }; + 5E03FE25C4B08B3FA8009079392C672D /* AWSS3Service.h in Headers */ = {isa = PBXBuildFile; fileRef = F5F0F27EBAB3805D8054DFDDFD25D16C /* AWSS3Service.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E09E96355FBD29547F92D6FCA5A894C /* AWSCocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 120A1EF99909C201109CB93C3057197E /* AWSCocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E917261CAD630458C09B64B2A144E86 /* AWSMTLValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 95A323B234D9807C262DCB93EC9AED3D /* AWSMTLValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5EDD7FF917970445AA9B763803137B17 /* AWSJKBigInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 474AA90499D8F4CA54909630CCC1561B /* AWSJKBigInteger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5F253AFA4F9E82A87D0DA90CD9128FDD /* AWSKSReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 7373350F71493C6BE3B7341A006B4AAE /* AWSKSReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5F75157A5075DECD1D4512F9A6744CA6 /* fts3_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EDDB92448F9927B1AAEC7B9753C530B /* fts3_tokenizer.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5F92E5E4C07EA652D08FFA680435C9BA /* AWSDDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E04C9BF0770D9857FB4E174B0AA24752 /* AWSDDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5FB2313862D2314F4AE7754439C432DB /* AWSSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = E5E46EE5584765E39E6FFFC87AF32A18 /* AWSSignature.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5FC303CD8EB70E6BFA3243DE8749E052 /* AWSS3.h in Headers */ = {isa = PBXBuildFile; fileRef = 73C9432E981995B409B7F9B2A6830F64 /* AWSS3.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6009244AAAAB3AE6483DB5A57BB8C0B6 /* AWSAuthUIHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = FAAF3EA94D16FDED52835BCD56868A13 /* AWSAuthUIHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 60BCB4BA9EFDAE14E4F05E1FD2920594 /* AWSCognitoAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D62E4BC5DA4630DED29FF742AB00327 /* AWSCognitoAuth.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6181FBBAC1E996B568C863660EBD9C8A /* AWSDDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3121A39F8A687B3F357D6F7915DD29 /* AWSDDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 61A874285184FE3890C0D1F0520C00CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; + 623639FE800811C33A4A38FEE2763B8E /* tommath.c in Sources */ = {isa = PBXBuildFile; fileRef = 38D23668157F6DAE937A42F5A9CB8777 /* tommath.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62DD0266423E5B848B7AE0ECCEF7E7E4 /* AppSyncJSONValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = C67ABB302450803D7B4B460991513C09 /* AppSyncJSONValue.swift */; }; + 63214A43852977798936BADF4DDA26DF /* FTS4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E1FF1DD984DE03007B17C9FF42DBD5 /* FTS4.swift */; }; + 63CCC2CF18BE122D133A13FE9960322F /* AppSyncJSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18C19AB1F3A4B5C99B2DC374AF098A4B /* AppSyncJSONHelper.swift */; }; 65303FAC78F15F3CC8F26B67E550775E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; 655FCDDEAA55D213998EB5714FF8CF2A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 668D12430C0CE391DE4D7A707960B714 /* AWSMobileClientXCF-Mixed-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = F475A13D518D8B162B905DA9135E0180 /* AWSMobileClientXCF-Mixed-Swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66B31EEBC9BAA41FD1AAE2E2D1337E10 /* AWSS3PreSignedURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C7F2CB0C83083EC96EEEEFFB526B4F9 /* AWSS3PreSignedURL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66D9156AD7838AEC5BF153C70EB4043D /* AWSS3-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 56D3C6C70238019F698A26854F37C5AE /* AWSS3-dummy.m */; }; - 671EAC90E894AE4964D953B9C4C349B0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 6A052A97A9110C78FED1B250C3C985D1 /* Schema.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9264FFF2954F9AF9FC9662327BE5B6FA /* Schema.swift */; }; - 6A3D03F1ACD6629095DE0C1C6C134849 /* AWSMTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DEE2BA9BAAEA0ED9A756247007EEF3C /* AWSMTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 668D12430C0CE391DE4D7A707960B714 /* AWSMobileClientXCF-Mixed-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = F40FC0FB66AE83230C6B12ED907BEFDB /* AWSMobileClientXCF-Mixed-Swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67FDD061AE21D4E791F73515D73D620C /* AWSFMDB+AWSHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 55821D4470C60AE7A7882A0FD10820B3 /* AWSFMDB+AWSHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 682B4E25070EDAB7F5BE3117BF7A3917 /* AWSS3-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E15572D9CC465755FE967F9A9CBC0108 /* AWSS3-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68671C8800CA6360FFB656712E2AB4FD /* AWSEXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = BD05320EDE6478374EAD54B066983F67 /* AWSEXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 68D82AE4D72BBFE438C396335E038603 /* AWSTask.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E3969DC3E66D89C1AB6E61F5A736C5 /* AWSTask.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 69221ED87EFB653D505A38CAACDC467A /* AWSCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E0D248A3F7A6CEE8567D38B247045348 /* AWSCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A052A97A9110C78FED1B250C3C985D1 /* Schema.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E696F74591E6C99BC034AAD091FEECC /* Schema.swift */; }; 6A663A222FBFC68F0E0B0F671B8DDB12 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 6B61F6B155694255335BEC47EB0F7562 /* AWSDDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = D962FE253BEDBADB00EB8D4EE2665C4F /* AWSDDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6C4DFC3522CA175533E422B27C99183E /* AWSS3TransferUtilityDatabaseHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = D731D634D5B9F951153845ADC3E1863E /* AWSS3TransferUtilityDatabaseHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C8B85CBEC17B5BB84AE063AFFF5FEF2 /* AWSXMLDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = AA86FDEFB24533C569F36AACB9E2A74C /* AWSXMLDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6C9D577C1E0BCA3CBB6093E830805033 /* AWSCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D71FFFAF33FAE046022EF511D4D1DEFB /* AWSCore-dummy.m */; }; - 6CC99874E08D90E1C2052B0D55D61422 /* Value.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA20E4439380BE7A6D649169D98938F3 /* Value.swift */; }; - 6CD3D8B90EAB4CF7CC3729B37FAD3E56 /* AWSIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = F4EA58D4FE0C9E146683EFAE53A2B6AF /* AWSIdentityProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6DA311D12585C859B25209C0139E7C93 /* AWSCognitoIdentityProviderASF-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 202EA3D29F2DD5D06EF4B5631FF82B4A /* AWSCognitoIdentityProviderASF-dummy.m */; }; - 6F10D45C4D853263C9541083219F4D59 /* Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FFFAFC3C812BA48FF33D4404EA788CB /* Foundation.swift */; }; + 6B0FD26825FF0C071F0988CFA1EF9C34 /* AWSFMDatabaseQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 1880515C2DAC5861F80C331688C76D20 /* AWSFMDatabaseQueue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6C3C819DFF89C4243C9E28494DCC3327 /* AWSCognitoIdentityService.m in Sources */ = {isa = PBXBuildFile; fileRef = A1D4BA18ECD2C6606D18620A1C8A9A87 /* AWSCognitoIdentityService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C5F9DAEBE14C5911CD2A857A219BFC5 /* AWSS3TransferUtility+EnumerateBlocks.m in Sources */ = {isa = PBXBuildFile; fileRef = D16AFC5A97B3085C9DD26E0A91944D8E /* AWSS3TransferUtility+EnumerateBlocks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6C7AAF039626ECBEF03445BEF20BB8C6 /* AWSSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = F82642319AD414617D0E29E8FF9CB512 /* AWSSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6CC99874E08D90E1C2052B0D55D61422 /* Value.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFF64F4ECC4AB004626FB5755F792D4B /* Value.swift */; }; + 6CDF3D07F0E9E3680F7883D73DCC3723 /* AWSDDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 37375A42ADADD80C97E6C9F158C9FADF /* AWSDDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6E6F7176DE19531E91A9EA5D702404EC /* AWSSTSService.h in Headers */ = {isa = PBXBuildFile; fileRef = A2CDD8332146E08667D63F9865A26F71 /* AWSSTSService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F10D45C4D853263C9541083219F4D59 /* Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45B5718D6B206B353B159B48117A405F /* Foundation.swift */; }; 6F3321A7B4E03E92213D45E005542B72 /* Pods-AWSAppSyncIntegrationTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D4B6D7BEE61C0464513DE6907C8EF8C /* Pods-AWSAppSyncIntegrationTests-dummy.m */; }; - 7052EC22C27B5C784820AB6921F23A1E /* AWSModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 198B22D95C81900C86C8165818BEBD29 /* AWSModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 709AB6142E575E09B2B1744F0499D9B1 /* OIDCAuthInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C58965AC14148FA00E6C3DD3F63C33E /* OIDCAuthInterceptor.swift */; }; - 70A8401A28519AD3968B7E0D3C51A5CB /* Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49C92F354F289409DABE45D98908263B /* Connection.swift */; }; - 721DE7B8966EFC5A3A86D6797833240B /* AWSSTSService.m in Sources */ = {isa = PBXBuildFile; fileRef = 22374EF8A161F9B0884E7DA2CA1C70B3 /* AWSSTSService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7370618CC612CD9FD1DB49D0CE32FAA7 /* AWSS3-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E2803BAC531D49B0854F17FDAAE8B7C0 /* AWSS3-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7386EDCB5937E1D7E4BF5203380F8413 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */; }; - 745CF3DA22B166B9C17568942450CF32 /* AWSDDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = F2787E0A03DE3BFE54FF17FE61BBFDC5 /* AWSDDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74659CFA991F86EFF314557CBA75BD95 /* AWSCognitoAuthUICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 044B5BBB48B24B9AC7457B0F589531C0 /* AWSCognitoAuthUICKeyChainStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 700052CEF6215DC8A53656CDF6B1EE03 /* AWSService.m in Sources */ = {isa = PBXBuildFile; fileRef = F077FB40A037AB0A3BB3689ED964029B /* AWSService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 709AB6142E575E09B2B1744F0499D9B1 /* OIDCAuthInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D60A7210AF9737275B90328BA72A6BF8 /* OIDCAuthInterceptor.swift */; }; + 70A8401A28519AD3968B7E0D3C51A5CB /* Connection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9336A132D5E8D73B1C98EA766747C0A8 /* Connection.swift */; }; + 74659CFA991F86EFF314557CBA75BD95 /* AWSCognitoAuthUICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CB4E00ECE754B8B4F706D5E7B3BA428 /* AWSCognitoAuthUICKeyChainStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; 748E2D0F79D3F36B79AE2D3B0A7A60E5 /* Pods-AWSAppSyncUnitTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A6F731DDC9602EDF56B9CA4CC20DCAF /* Pods-AWSAppSyncUnitTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 755B35D9A5B72F6BEC2EFF4524AF76FD /* AppSyncMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92201F0FF3477050A2A6FC523D1800D8 /* AppSyncMessage.swift */; }; - 762981BC369249A464166103F169910B /* AWSUICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = EED771BF0B3F6BA9BDB1DB72E4B5F700 /* AWSUICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 76CC5C8B5046928A88B12BC736BCD965 /* AppSyncMessage+Encodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D034A5ED239A16221628815492B0A3E9 /* AppSyncMessage+Encodable.swift */; }; - 777419B61510415E7D789F6FD72B9811 /* AppSyncLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0B5DE20B250D82E05BD7878DB00649 /* AppSyncLogger.swift */; }; - 77FD7DCACFFD32BC10285443BBCC7697 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC7C7C675948EAD6180F0B91D42487F1 /* Compression.swift */; }; - 787557184398AF2FD5854507411CFA65 /* AWSMobileResults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 577AD9D20037A49E49F41E31088025BE /* AWSMobileResults.swift */; }; - 79663CF7E702087499B1038CAF6B8AE4 /* AWSGZIP.h in Headers */ = {isa = PBXBuildFile; fileRef = E89C189594C63DB8D1985F0222EC6B07 /* AWSGZIP.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7980DAE68C3FCC252954BC603AD71CEE /* AWSCognitoIdentityASF.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A636D396EAFDAA2BF6C03ADB0A60A7D /* AWSCognitoIdentityASF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7A0F4AA4632D193BE1B9337FDF10FC16 /* DeviceOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A1305E6E02CE0D7A5B821B3168F4005 /* DeviceOperations.swift */; }; - 7AADFDBCC74AFD7561D07E9750F0514A /* AWSLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = B93C2F893446EDE47E6D11B3D34BBF20 /* AWSLogging.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7ACCDC23F5D5F4788773AD12BFEFE91F /* AWSUserPoolCustomAuthHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6FC56C6CCBF4BF92CE693B54CBCA448 /* AWSUserPoolCustomAuthHandler.swift */; }; - 7BCEF910AB7BD3977183CFE531A2FDD1 /* AWSMobileClientXCF.h in Headers */ = {isa = PBXBuildFile; fileRef = 108DBE2CE75B24468D0E662D498932AC /* AWSMobileClientXCF.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7CE37B39977B4366B1AB457743CA7E25 /* AWSMTLModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 829BF6F49F1EB4AAB1727260A7614877 /* AWSMTLModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D33A5E311026C8058916AD15B25408B /* AWSCredentialsProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5E994B47F5177C6EC1872DFCEE4D11 /* AWSCredentialsProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7D3BE49E36FA69A430E3E872BDC36732 /* AWSS3RequestRetryHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B730704CBB4DBA7F47E9DA9195C9879 /* AWSS3RequestRetryHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7DB7197C3CA96807E8DF855FE3646D01 /* AWSFMDB+AWSHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E37D6D62FD2AA68E3478256B5C76089 /* AWSFMDB+AWSHelpers.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7E8A7CC2BBD152A74702DEC2167603DA /* AWSMobileClient-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BEBC797FA55506E8C8C41C536B7E5DD2 /* AWSMobileClient-dummy.m */; }; - 807379EB0DD1AD5C15062CA827F51BC9 /* AWSSTS.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B00A31ABE29B0AFD02146B66D1F861 /* AWSSTS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 822510324FA16A9528B1F13636A4D975 /* AWSS3RequestRetryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A43406533161BE27F86FCC5DD3C0E1ED /* AWSS3RequestRetryHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 83BB4EF70A4D53F4CB950E7787061C66 /* AWSCognitoIdentityProviderSrpHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A127992FFB927836EFEEBCDB039AA1C /* AWSCognitoIdentityProviderSrpHelper.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 755B35D9A5B72F6BEC2EFF4524AF76FD /* AppSyncMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BC77D9C53DAA3E0A10BAB25E98E92AB /* AppSyncMessage.swift */; }; + 7627E5CA0253E67FBA7E4C7E8DE7E2AD /* AWSFMResultSet.h in Headers */ = {isa = PBXBuildFile; fileRef = CC66D9DC132498F3F73E09D9EBBF889E /* AWSFMResultSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 767F88516DD6C80AF0DFA4129963F779 /* AWSMantle.h in Headers */ = {isa = PBXBuildFile; fileRef = 4185019E82437205220D28D4FEBB3498 /* AWSMantle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76CC5C8B5046928A88B12BC736BCD965 /* AppSyncMessage+Encodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25B0461FA8422A6E210EC4D4806981A2 /* AppSyncMessage+Encodable.swift */; }; + 777419B61510415E7D789F6FD72B9811 /* AppSyncLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6655F78C0F8A3B0CFB1843BB4E86EC62 /* AppSyncLogger.swift */; }; + 787557184398AF2FD5854507411CFA65 /* AWSMobileResults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C5271F6508743A4873F3C21A5741BC4 /* AWSMobileResults.swift */; }; + 7881892FE770A22E5C40DA61C24AEA76 /* AWSCognitoIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = 432C8FFBCC54CCB771E0DC06FA589714 /* AWSCognitoIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 79174F6B6F20C880725D025CBE79CFD1 /* AWSEXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B665285AAAD72496F1DE00A627AB19 /* AWSEXTScope.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 7A0F4AA4632D193BE1B9337FDF10FC16 /* DeviceOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = C288D73B84EB3C24651163F1ADCEF355 /* DeviceOperations.swift */; }; + 7A402BBB955B8849CF97AA48F71BEAD2 /* AWSServiceEnum.h in Headers */ = {isa = PBXBuildFile; fileRef = DAE607E77B82DE1677A91BC8DC17A8CD /* AWSServiceEnum.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7ACCDC23F5D5F4788773AD12BFEFE91F /* AWSUserPoolCustomAuthHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 465DE2B27F1EDC326106C30149D35483 /* AWSUserPoolCustomAuthHandler.swift */; }; + 7AD0E0C6ADEF64B86CBAA054B5597FFC /* AWSS3TransferUtilityDatabaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B87A489C0182577FCC2EBCD97063207A /* AWSS3TransferUtilityDatabaseHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7BCEF910AB7BD3977183CFE531A2FDD1 /* AWSMobileClientXCF.h in Headers */ = {isa = PBXBuildFile; fileRef = E699E64A2E03BB75CDD7A79ED4FDB76B /* AWSMobileClientXCF.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BDDAC4C78EA6EC790499DF90B2B52A2 /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9597A65DB84AD54CF2FA5B445677718C /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C41A7E7EDBA3700C47FFE33B9E00142 /* AWSCognitoIdentityService.h in Headers */ = {isa = PBXBuildFile; fileRef = A61B0F46D37424B8E4E127C4240A37E7 /* AWSCognitoIdentityService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C679ED646C5F8E1BFD074031F7D4B8D /* AWSDDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 00BDC6178338A7349FEDD2A188591576 /* AWSDDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7E8A7CC2BBD152A74702DEC2167603DA /* AWSMobileClient-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CD91719B24E902E66C63FF569AC530B /* AWSMobileClient-dummy.m */; }; + 7F90B9D894C717FCBE4814BF04B576E2 /* NSDictionary+AWSMTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 16140BD7BFD61A89571CED0D6F9D35F0 /* NSDictionary+AWSMTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 809F999AAD33CC0C40BF112AF3A653C8 /* AWSNSCodingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E004B456C5659E1E6D89CB750FE338B /* AWSNSCodingUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8307D71499E993FBD45AF131341263B2 /* AWSFMDatabasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = EC0543B1B56E8C1C2EA3485393962106 /* AWSFMDatabasePool.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83BB4EF70A4D53F4CB950E7787061C66 /* AWSCognitoIdentityProviderSrpHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = BA579A22EE6DA9F823F5EE9115197E3A /* AWSCognitoIdentityProviderSrpHelper.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84281B53718858BB766E568A18B1C59E /* AWSModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BEE4CD2DB40584D88F9D96680DB8E76 /* AWSModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 84686D47AC1CB5F5FFDBC44AF17EA26C /* Pods-AWSAppSyncIntegrationTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CD6316D5195F58EABD1723B3C383843 /* Pods-AWSAppSyncIntegrationTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84DF432BDBDC6872A044E8995D7E80F6 /* AWSIdentityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 163A772367B3FF9875BCA61F475AEE70 /* AWSIdentityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8575D12135A7FA398C47004EB7016150 /* AWSFMDatabasePool.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AE07467A803DC6A20FD0C42BEB09678 /* AWSFMDatabasePool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 85CE74DE29D87A4C847AB2D02B50EE2A /* AWSCognitoCredentialsProvider+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = B787C6263B34F4524C2FAB3532450371 /* AWSCognitoCredentialsProvider+Extension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8728F62562C593F3C9C4A926D5E0F79E /* AWSSynchronizedMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ACAD9219BC0E689CF1A4497F1129FBA /* AWSSynchronizedMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 87DF0A14C85CF325FE13D1042E1E3EB0 /* AWSSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = 968C4737FA4BBE8324A77ECFEDBD6053 /* AWSSignature.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 883747CA099EBD0C1DA1D348AA2A5078 /* FABKitProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 2879DE7EBCD30596277C5E688A823559 /* FABKitProtocol.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 888D15A1EFCB49C302A3B5D47C29F5B7 /* AWSCognitoIdentityProviderService.h in Headers */ = {isa = PBXBuildFile; fileRef = E202527A8626400D4C1A135FD446B05C /* AWSCognitoIdentityProviderService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88E748C5B7A2F27E3BA931AB7D47BDB6 /* AWSS3Serializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 72D99F12BBB58C3A82BD70840BF61C7D /* AWSS3Serializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8A9E6AA5AC0833ADC11D3DE9DA43EECC /* AWSS3Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EEA0CBA1952AA815BB3227B42048023 /* AWSS3Resources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8BC87FCC51C6B7E887D1445F6D7128AC /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B9E2A1BC980C8E5047073DB55EBCFA2A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 847BAC681E660E352A993019F173CE3D /* AWSCognitoIdentityProviderASF-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CC20CAEDF031694E359A9DFAA236D3A /* AWSCognitoIdentityProviderASF-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 84DF432BDBDC6872A044E8995D7E80F6 /* AWSIdentityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 984439D0465FE9EC4FA5B25A77DC18F6 /* AWSIdentityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85CE74DE29D87A4C847AB2D02B50EE2A /* AWSCognitoCredentialsProvider+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = B737283A440A2455311774C2A7B1B46A /* AWSCognitoCredentialsProvider+Extension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85ECE4AC8BA301174B95DAB8DF5A3FA6 /* AWSMTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D1504212DFF87D8F19A0A6C2E2DEEA5 /* AWSMTLReflection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 85EEA5E83E2ACD686F50DEA3A7513A09 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C18B6AF4049F02B512C5B9B878998D6 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88862387B2C086903768B4386D48F8C7 /* AWSS3PreSignedURL.h in Headers */ = {isa = PBXBuildFile; fileRef = FFB2D08A6F53CB7739086D42A36ECA8D /* AWSS3PreSignedURL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 888D15A1EFCB49C302A3B5D47C29F5B7 /* AWSCognitoIdentityProviderService.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C3C48537F8E5BC12CE03869A43E4506 /* AWSCognitoIdentityProviderService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 891509734B0E5DDCD6EB5EDCFB8A7512 /* AWSURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCE149A46E0E56D26165ABF41290D8F /* AWSURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 899099E6147DD98A3378944EDDF4AEDF /* AWSS3Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = 913B76F220CC7D7D2990AC39F1823C7F /* AWSS3Resources.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B20A759B15FDC548A947383707AF43A /* AWSValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D5A79411614F3FD1570658C2406E039 /* AWSValidation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8C084D691691393F12872FC495223ADC /* AWSCognitoIdentityProviderASF.m in Sources */ = {isa = PBXBuildFile; fileRef = 8816E2CA5F839A7F85539B2C16CE07DD /* AWSCognitoIdentityProviderASF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 8C6BBE622771EB3AAD6B360ED555E329 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 8D2AE7F57909797BB3C67F195DFE583F /* AWSBolts.h in Headers */ = {isa = PBXBuildFile; fileRef = 1760B117177DB50D3124422AE652DE30 /* AWSBolts.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E123D2E43BBB5F0D9040097B02A1B9B /* AWSDDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F4E21B7CA87EBA2A8E97CBD408994D /* AWSDDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8F1CE5173FF7F282F1EB41E2004CD952 /* AppSyncWebsocketProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28BEF08B909833FF10E173A36E483301 /* AppSyncWebsocketProvider.swift */; }; - 8F48C33690AEA6C27F5121BBD918C6CB /* Fabric+FABKits.h in Headers */ = {isa = PBXBuildFile; fileRef = D9FF163E8BC7FC32A7595204C44985B4 /* Fabric+FABKits.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8D44605D248620C404738EBFA0684E0C /* AWSMTLModel+NSCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = B9EF568010055465BD1BACE13B2B362B /* AWSMTLModel+NSCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8F1CE5173FF7F282F1EB41E2004CD952 /* AppSyncWebsocketProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5541E64C62A79A166C20A604B52BB450 /* AppSyncWebsocketProvider.swift */; }; 8F51E5A154BB88609B22A8B32431B807 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */; }; - 8F79E056BC8504C4FC5E7C6EB3D32EBF /* AWSFMResultSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A4FA3EB423302AAB4928E9185AAAD47 /* AWSFMResultSet.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8F9B507ABE0E22C4FBB32197D6997BEA /* AWSCognitoIdentityProviderResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 64C77CAF8EF106FEC3E804E74ADF7D53 /* AWSCognitoIdentityProviderResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 906E7C291EA6CAB36476B479BA0F5707 /* AWSCognitoIdentityModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 01DBF972FF8FB9716753490B233CD615 /* AWSCognitoIdentityModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9147F938CA994D43AFE7B8EB9979C742 /* RealtimeConnectionProvider+Websocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9F2444328766B450F9187D0346A62C /* RealtimeConnectionProvider+Websocket.swift */; }; - 91CE1E9099CC2CB651DD5E0A8A9EEC1A /* StarscreamAdapter+Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0E8DB57BF90F398BBE712EC1D66126C /* StarscreamAdapter+Delegate.swift */; }; - 921A674029BDEA5933DC10DBD39D6861 /* AWSCancellationTokenRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 03A7A729FE4A0CAABB83EE077269FBF5 /* AWSCancellationTokenRegistration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9291179162B3E5168E0DF335F4C3B163 /* AWSCancellationTokenSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 73538580658B24FA1C4CDFEBCDBB3B04 /* AWSCancellationTokenSource.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 92FF20B06A341880EBC292ED77381391 /* AWSS3TransferUtility+HeaderHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 45CC3D4CC83089AC6A5504ACAE473F99 /* AWSS3TransferUtility+HeaderHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8F9B507ABE0E22C4FBB32197D6997BEA /* AWSCognitoIdentityProviderResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 20FD6D1C7F2128DE6C362D4FFBF73D92 /* AWSCognitoIdentityProviderResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9147F938CA994D43AFE7B8EB9979C742 /* RealtimeConnectionProvider+Websocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = D391B99BB82C2EB7A5C62944387E6DDB /* RealtimeConnectionProvider+Websocket.swift */; }; + 91CE1E9099CC2CB651DD5E0A8A9EEC1A /* StarscreamAdapter+Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F892744FB2F40B4D82DB413B8797A26D /* StarscreamAdapter+Delegate.swift */; }; + 92ADF801A826E95C43C7AEA4C80DDBC9 /* Fabric+FABKits.h in Headers */ = {isa = PBXBuildFile; fileRef = F07C1097822293229E7464594EEE7289 /* Fabric+FABKits.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 92CFB773F9A41A128B801C364B46D6AD /* AWSSTSResources.m in Sources */ = {isa = PBXBuildFile; fileRef = BE459093615028FD5EBF54890D6B2701 /* AWSSTSResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 92E11FE3D9FF4179FBCF1CA8E147B01F /* AWSNetworkingHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 7925C4F68CBA2CA4DBC558C995A46834 /* AWSNetworkingHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 93AF7E1719244DF8BA2E2E9F74EFFC14 /* AWSSynchronizedMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 7533CF91DA6B7E2F18F2033B8CB008DC /* AWSSynchronizedMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; 942CE130954AB998BA126666338D28F0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 95CC590E8997A2C173786BECCCC97745 /* AWSCognitoIdentityProviderModel.h in Headers */ = {isa = PBXBuildFile; fileRef = CD60D2B62890CE2081636C4413EB165F /* AWSCognitoIdentityProviderModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9643D956BCB6E84044E135A024B6126C /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 363CB0DA5880F81EC9A06801833CF130 /* Errors.swift */; }; - 969AFDFB20BADFB0BBE6BC99FF24ABDF /* AWSCognitoIdentityUserPool_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1264E7F05AC26A89E331FF0BF7E02C90 /* AWSCognitoIdentityUserPool_Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 9875B6D6BCF8DF0AC8C8FD0A0390A5FD /* RetryableConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98F5B99A4207726BB8315A113AC01041 /* RetryableConnection.swift */; }; - 98AD714DE67BFD453E742FAB050A534F /* AWSLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCCB527A5B2D996D5EF7F17899BB327 /* AWSLogging.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 98FAA16AC9EFEE9E08E3BCF50CEC9A27 /* AWSCognitoIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1C066DA1016DCA250C6BADD143B10E /* AWSCognitoIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9999F038FAA4455C8D71880FC03EBAA6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E5B7839FFCA59975E932625DEAAB4A8 /* CoreGraphics.framework */; }; - 99DBF178720DEA2C971E97A3D5D4D801 /* AWSFMDatabaseQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = C1FAECC53155F9C3D6ADDE8CABF94A2E /* AWSFMDatabaseQueue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9BC6812A5FD7B79F28CF484824F30820 /* AWSFMDB+AWSHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 78D30461EB1FB09228E42D79A271DBD1 /* AWSFMDB+AWSHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9BD3062DCED806ABF2116A78C1A3D6E6 /* AWSS3TransferUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D03A05419E8FF4FAE99C5DABE8A654E6 /* AWSS3TransferUtility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9CD078A8A9902F5F7B0537E5CADC96AC /* AWSFMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = C666BB68138A7ACEF6EBCC93F45D6385 /* AWSFMDatabase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9D0EDD6461A49457321F91DFD784FFED /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69EBE1543CF542E4A761B6C8D7C091B8 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 95CC590E8997A2C173786BECCCC97745 /* AWSCognitoIdentityProviderModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 1772500BA668FED37F3FFB54D5CEF90F /* AWSCognitoIdentityProviderModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9643D956BCB6E84044E135A024B6126C /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EC525B589E290CDC85010599A94BFD /* Errors.swift */; }; + 969AFDFB20BADFB0BBE6BC99FF24ABDF /* AWSCognitoIdentityUserPool_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = F720160F3C7BC302894A9A2BE50CF64B /* AWSCognitoIdentityUserPool_Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 96D7F8F4D131A119B159827E87E61B48 /* AWSS3Model.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E6F52BCDC918E533B006EFFE17CD0FE /* AWSS3Model.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9875B6D6BCF8DF0AC8C8FD0A0390A5FD /* RetryableConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F7EC2B6CFFCEDC314303B0A97EA79DC /* RetryableConnection.swift */; }; + 9875D44BCAEBE40ABC4CB1DC96AB18C6 /* AWSSTSService.m in Sources */ = {isa = PBXBuildFile; fileRef = D93E6B935D02913DB399A3EDF01A2583 /* AWSSTSService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9977AB8F21186EA993E2DCDFBE7C62B4 /* AWSDDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 01DA0A8A3CC67A37C3D14A497024472E /* AWSDDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 99982C014FBC4463A434436E05813FEF /* AWSCognitoIdentity+Fabric.h in Headers */ = {isa = PBXBuildFile; fileRef = FF8E832ACFFF82FFDD01BB8C809FBA44 /* AWSCognitoIdentity+Fabric.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 9A012E9B2D107F2941AE538DE5CB17C4 /* AWSS3TransferUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D24710B5E53CA05BAEB43672FE317EF3 /* AWSS3TransferUtility.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9D56E9EE4E258A1A43DCC84808A2361C /* AWSCognitoIdentityResources.h in Headers */ = {isa = PBXBuildFile; fileRef = FD87FE197AB93898265E4B245EC08EF4 /* AWSCognitoIdentityResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9D8912A2DF0290DD19A674A49A4DAFEA /* AWSXMLDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 92A2C6416B761B9F4B4A0585FC1084B1 /* AWSXMLDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 9E2942120E6B107DDFDEF7E3BB3BEB21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 9F1C2D1E48038A0457C0084C31126A51 /* AppSyncSubscriptionConnection+ErrorHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7083FBFCC6032F317268DDB362EC1F0 /* AppSyncSubscriptionConnection+ErrorHandler.swift */; }; + 9E525128FF6CCD70ED457D4EDACCA574 /* AWSFMDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 64B96DF8F1ED517807AFA1E3038C6252 /* AWSFMDatabase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F1C2D1E48038A0457C0084C31126A51 /* AppSyncSubscriptionConnection+ErrorHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98928EC197B0F0623282A11C228DB037 /* AppSyncSubscriptionConnection+ErrorHandler.swift */; }; 9F4DADA8AE5271F4338124F7C5D3DBA5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - 9F6A93EC4267F478ED840E43612287D6 /* AWSCognitoIdentityUserPool+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = 98528467499FE846516F433BF3D3A1A4 /* AWSCognitoIdentityUserPool+Extension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FD24108BFD650036A3422872243C978 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - A01E435D21B404D1F930F8994A796DFD /* AWSXMLWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3430A4CC002946A630B4BB010D8F741E /* AWSXMLWriter.h */; settings = {ATTRIBUTES = (Private, ); }; }; - A07A394E22FD7728BC41B503981E94EF /* NSDictionary+AWSMTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C1E630CA20A05F71ED3E0A676F64F069 /* NSDictionary+AWSMTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A17B12FDB08B7ED8F060606D3CDC15A6 /* AWSNSCodingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 483259F173ACC61AEA7FAE9F0F5A4977 /* AWSNSCodingUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3369B994CC6E7BBAE61B29F620C3143 /* AWSExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 872123A0F9A32A96D344B0815B8B808F /* AWSExecutor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A38FF583268CEE454B536F1CC9B4B884 /* AWSCognitoIdentityResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CF9D1B0A6E0128F4B55A7644BD567A2 /* AWSCognitoIdentityResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3D9F97F685EAACC199B20284F22EDD5 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89DDC6FAF9DAC282B60A9FCA37EC3830 /* Helpers.swift */; }; - A3DF17D3D701688F4672E7C3132EA343 /* AWSCognitoIdentityUserPool.m in Sources */ = {isa = PBXBuildFile; fileRef = E49C92DD0769C2535762B459B052160E /* AWSCognitoIdentityUserPool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9F6A93EC4267F478ED840E43612287D6 /* AWSCognitoIdentityUserPool+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = D2298DA2AD246448CE1890D1E6F7BDF1 /* AWSCognitoIdentityUserPool+Extension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A22C0A1359E3893E3018422CDF9E8FF5 /* FABKitProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BF84B7F87111E023024E2B41E3E689B /* FABKitProtocol.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A3D9F97F685EAACC199B20284F22EDD5 /* Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = E34E477B307F3670C0FBDA848C30211A /* Helpers.swift */; }; + A3DF17D3D701688F4672E7C3132EA343 /* AWSCognitoIdentityUserPool.m in Sources */ = {isa = PBXBuildFile; fileRef = D03C4530E2B9259797124DEBB9397E9C /* AWSCognitoIdentityUserPool.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A3F16EE5D770AC4520429816B4C66739 /* AWSKSReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = DABFBB5DA0369756267394A8FAB3F09B /* AWSKSReachability.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; A434FE9C5BF92BACEC9C40C4ABF04804 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - A522202DE65E17CBC8CA9EB04F016F80 /* AWSS3TransferUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7004F1E24CD9158CACA745C257B1F40E /* AWSS3TransferUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A571FAB874DE7F73C464992E897937EF /* APIKeyAuthInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = F887571921E5030AD629CDA921FE8580 /* APIKeyAuthInterceptor.swift */; }; + A46A79159F3F24E12882032DEA14065C /* AWSMTLModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 93D719D900E40ED23D80721BE67A3012 /* AWSMTLModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A571FAB874DE7F73C464992E897937EF /* APIKeyAuthInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29ACAB893B8B08452B243D4346BDB5A7 /* APIKeyAuthInterceptor.swift */; }; + A584191D1DE5F44E8B7C79E28E7F8814 /* AWSS3Resources.m in Sources */ = {isa = PBXBuildFile; fileRef = 3480C2DD5D6D9444D68271AFE11888CD /* AWSS3Resources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; A585090B20B65954B0993B014E340E9C /* Pods-AWSAppSyncTestCommon-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 706496C50430CF84A38749DAE278F49B /* Pods-AWSAppSyncTestCommon-dummy.m */; }; - A6CA7B1A03EB156B2CDC90C6E04274B4 /* AWSCognitoIdentityProviderASF.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F5673774FFD93133DCA1910E2941B38 /* AWSCognitoIdentityProviderASF.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A6EE0D4F9A503846BF702349F55D74DC /* AWSCognitoIdentity+Fabric.m in Sources */ = {isa = PBXBuildFile; fileRef = B3254537A86A512944C5BACA6DFB8079 /* AWSCognitoIdentity+Fabric.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A83ADC59DF80CD606228B2333D387941 /* AWSCognitoIdentityProviderService.m in Sources */ = {isa = PBXBuildFile; fileRef = FED9EFA1CD034ABE6C12C1F4869B47A6 /* AWSCognitoIdentityProviderService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AA067A9BD9DDE6C3E7BF16682DAE4CEB /* RealtimeConnectionProviderResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5786587F97152A42E0AA42DD15D60251 /* RealtimeConnectionProviderResponse.swift */; }; - AA87EC5E677B4DB5432A60F9FD494D28 /* AWSCognitoAuth+Extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = B60F07B2D1F0B5B297697709B4CC8C0E /* AWSCognitoAuth+Extensions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AB042B24531A6BFCD000DC4517DA5474 /* AWSCategory.m in Sources */ = {isa = PBXBuildFile; fileRef = 651AEA1FFC1BE75F97F084B9FA00AED0 /* AWSCategory.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AB6319319E7ABB80D078DCF6526A2E89 /* AWSTimestampSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 148A75265746E6F6CB829A8C36A6C143 /* AWSTimestampSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ABC7EAE7F1C233E80F9BFA148E76646D /* RealtimeConnectionProvider+ConnectionInterceptable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24682F00E7B26C71E8202BB83499CAF7 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */; }; - AC80456D71706B9FA2B7C8C45D9CEC25 /* AWSJKBigDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = F74523E7A265375632691662B1409FDA /* AWSJKBigDecimal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC96F44279E61358242F26840D4853F0 /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2951457EBDC8396016EEBFD09853A0BD /* Reachability.swift */; }; - ACDD44CC7931F54A7C6123C535CB34B7 /* NSArray+AWSMTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B43A65151406E7B21A6E8AB93E5DDDFE /* NSArray+AWSMTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A83ADC59DF80CD606228B2333D387941 /* AWSCognitoIdentityProviderService.m in Sources */ = {isa = PBXBuildFile; fileRef = 96D43F07564550F1C861B2ED7D8D1234 /* AWSCognitoIdentityProviderService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A86D1697E8F2841846D9CD492F96E56F /* AWSDDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 3455B20596763619C6635782D5349C18 /* AWSDDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A88599B7540264D067A340F89FA6FD60 /* AWSDDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 79DEC8129DE529490844861ED18D125B /* AWSDDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA067A9BD9DDE6C3E7BF16682DAE4CEB /* RealtimeConnectionProviderResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2017F91ACF1A0C156178420DB55F33A /* RealtimeConnectionProviderResponse.swift */; }; + AA87EC5E677B4DB5432A60F9FD494D28 /* AWSCognitoAuth+Extensions.h in Headers */ = {isa = PBXBuildFile; fileRef = F3A1479C6F55CEDFDF874D9778D3AAB5 /* AWSCognitoAuth+Extensions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AB900C03F56F7EAFC7B5F2FFA16F29C2 /* AWSMTLManagedObjectAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 40F920C60A809F7A5EDE3E44EBB72812 /* AWSMTLManagedObjectAdapter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ABC7EAE7F1C233E80F9BFA148E76646D /* RealtimeConnectionProvider+ConnectionInterceptable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1FC3F8581740518B45257F46AEC5D8 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */; }; + AC332FE04A511803B9F7D815359577B1 /* AWSUICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 733D0360E602A9EFFCE4F60F205CEAB5 /* AWSUICKeyChainStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AC80456D71706B9FA2B7C8C45D9CEC25 /* AWSJKBigDecimal.h in Headers */ = {isa = PBXBuildFile; fileRef = CE29DE93BC880A3A05A516D6814BBEC8 /* AWSJKBigDecimal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC96F44279E61358242F26840D4853F0 /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BC95166A95B987B63AA83427801EE41 /* Reachability.swift */; }; AD76F538D16EF9A0F395C31DA668DD35 /* AWSCognitoIdentityProvider.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E7975B0059C2DE9ECC077F957CE837E /* AWSCognitoIdentityProvider.framework */; }; - ADC598A39D79B311D3E0A307940164AA /* AWSClientContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 41EEFCD72D4836216713DE0020B17C1A /* AWSClientContext.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AE08E1F69DED481A915B8211DC508827 /* AWSSignInManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AE17E76CEA49EA06247D54F92AC6C54E /* AWSSignInManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF0D9797E9C60EBABE52ED2BD09642C7 /* NSObject+AWSMTLComparisonAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D891ED4F8ED0B36A0DF08DE51A1AAF90 /* NSObject+AWSMTLComparisonAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF23B4F17ADC23E968D48F93B9080B33 /* AWSCognitoIdentityProviderResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 200781A87C0EA24AF1163BF2C37D87A1 /* AWSCognitoIdentityProviderResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B07DB6B1E55D0A62D607A4F293FC1AB0 /* AWSMTLJSONAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = E079F4060322A39E0D35E856AB6FB939 /* AWSMTLJSONAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ADFF1D0E98EFC17F075335E4195301E2 /* AWSS3TransferUtility+EnumerateBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C1C10E05EEB45671FBBE5104572390B /* AWSS3TransferUtility+EnumerateBlocks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AE08E1F69DED481A915B8211DC508827 /* AWSSignInManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AA88013E7B25A7790A643581C8224B7 /* AWSSignInManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AEA23F98445A95662D248526B9EFE28D /* AWSS3TransferUtilityBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CEA655A8E276E9391C6FD535A227F0A /* AWSS3TransferUtilityBlocks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AEE3B2F383CC34DC7E39720F59CA7B73 /* AWSDDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = E257125B68F64BCEC07F65C1686C9F0F /* AWSDDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF23B4F17ADC23E968D48F93B9080B33 /* AWSCognitoIdentityProviderResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D1FA8BF16A8311380A28DCA02A823CA /* AWSCognitoIdentityProviderResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B077C76CD62BFB003B41D6A0E036DE96 /* AWSS3Serializer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B9CFF4B8585697E000A7491742F5479 /* AWSS3Serializer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; B0A1C3B99F1E4303AFBEB5D2F280B6EF /* AWSAuthCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFAB6BA6FB742ED24B32404F3BF062E9 /* AWSAuthCore.framework */; }; - B0C054A310518649985DEC62DC8667A5 /* AppSyncResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648B412D515D75BF3244AAA9DFA33115 /* AppSyncResponse.swift */; }; - B1454EA7AFAF4EAD5E92E3B22615503A /* AWSJKBigInteger.m in Sources */ = {isa = PBXBuildFile; fileRef = EB03747E3895A71023785C41C981A2D0 /* AWSJKBigInteger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B16275DA9FCB9D535D71E4F6F6C74660 /* AWSCognitoIdentityProviderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FC137E0AD254AB3BD2B1F5C7E4FF6DB /* AWSCognitoIdentityProviderModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B1D89872AC365C78155FF44EE9F28FEF /* SQLite.h in Headers */ = {isa = PBXBuildFile; fileRef = 0389BB838CB34C9B610CE601B3851B79 /* SQLite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1E738DA3C0526A26EDF59D85CE2A210 /* SubscriptionConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E9D2C36CF34F060660BA30372635F7 /* SubscriptionConnection.swift */; }; - B22A617C6BDAB28A89FBCCE0AA97091F /* AWSDDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 647440B47A124EF8895555526C35FEDE /* AWSDDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B2A427DAFCE8DF5A199696D13B1962F0 /* AWSMobileOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D6A7E0DFBFBB20F85CB70BF9964BFF /* AWSMobileOptions.swift */; }; - B47D3C868D4432C7D1BABCF0908069E8 /* AWSSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = BFB0F416156E20EA13F192817B560A76 /* AWSSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B58F5BE3F91D493CF3C963A3850B9FBD /* AWSNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BE9F02307244EF88D10A06ED41FDFE2 /* AWSNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B63A4D6272DCEE04046BF41A3FA63366 /* AWSDDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 61CF1413BDE3543E96B62177BB9C6522 /* AWSDDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B77048603A73FB21883E99D08289B44D /* AWSMobileClient-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 09C356A966D7D64AFC7D74FB6CB8922C /* AWSMobileClient-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B79011FE27E61C369CC971B1E7968097 /* AWSCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 73D147A7B06E8A74570DCB8CFF9F7BB7 /* AWSCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0C054A310518649985DEC62DC8667A5 /* AppSyncResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB850EC351329E428C7621F1DA2ABB33 /* AppSyncResponse.swift */; }; + B1454EA7AFAF4EAD5E92E3B22615503A /* AWSJKBigInteger.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C7DC580419698F988C87F415048F4E3 /* AWSJKBigInteger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B16275DA9FCB9D535D71E4F6F6C74660 /* AWSCognitoIdentityProviderModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 05EBDEC0F0F3B3253845F7C91CD9890F /* AWSCognitoIdentityProviderModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B1D89872AC365C78155FF44EE9F28FEF /* SQLite.h in Headers */ = {isa = PBXBuildFile; fileRef = 3879728B9A31BA93B28C90D62820B1E2 /* SQLite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1E738DA3C0526A26EDF59D85CE2A210 /* SubscriptionConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = F650690CA50741B98A4F2A90CD2F07B6 /* SubscriptionConnection.swift */; }; + B2269575257EBABABAE2EDDE01405D0B /* AWSIdentityProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = E456B8FB9EBB1BA7C30673F1594034A3 /* AWSIdentityProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B2A427DAFCE8DF5A199696D13B1962F0 /* AWSMobileOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAC8F97831772E2AF223DE08DE73CDC9 /* AWSMobileOptions.swift */; }; + B2F034442295511F86D3FDD1F1703631 /* AWSS3TransferUtilityDatabaseHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = A54FCDD278739177FCDCEA7134837172 /* AWSS3TransferUtilityDatabaseHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B7690CC00FF9B893EB5DAC9BDF87B697 /* AWSBolts.h in Headers */ = {isa = PBXBuildFile; fileRef = 7728833CFC1E223BE3A8E790FAB97F54 /* AWSBolts.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B77048603A73FB21883E99D08289B44D /* AWSMobileClient-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25AEE152823311B82BD4764CC48060BE /* AWSMobileClient-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; B7EF607DEB9402C6D1892A9671A2C0ED /* Pods-AWSAppSyncTestApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AA39ED00DA45ED5C9CF4A4AA0D1EE8B2 /* Pods-AWSAppSyncTestApp-dummy.m */; }; - B814234B61F2FB3129C72C4F6525DB6D /* aws_tommath_superclass.h in Headers */ = {isa = PBXBuildFile; fileRef = CC357EA3C8CC8CD576FEBF2A04B22E42 /* aws_tommath_superclass.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B93152DC502C042FBC67E67A1D3B7770 /* AWSTimestampSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4240EE4E9772FA1F72C71B9534269988 /* AWSTimestampSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9737E8FE6357D2088421516293765CB /* SubscriptionConnectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B0C9DC28C4FD4378C14F97A856ADC4 /* SubscriptionConnectionType.swift */; }; - BA2C1F62AD9A7F5E59DF48D55FF50201 /* FTS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28AE68D01A0FF859AE90B7C79593BB26 /* FTS5.swift */; }; - BAEFED47C75CEF29DDA9C1B64E354546 /* AWSFMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD9A049455CA886145A854C6649FC98 /* AWSFMDB.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB240AB446EDE8E791BE41BA3E3DC402 /* AWSCognitoIdentityProvider-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F9D290156917F5EFAE0BC5A85AE4991 /* AWSCognitoIdentityProvider-dummy.m */; }; - BBD880ECEE5C319EEE7E129C34E50AB1 /* AWSFMDatabase+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = A366107CD6B4A98986F2F68BC3AB7DA5 /* AWSFMDatabase+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B814234B61F2FB3129C72C4F6525DB6D /* aws_tommath_superclass.h in Headers */ = {isa = PBXBuildFile; fileRef = 270F53841164E39850C076DA000D3332 /* aws_tommath_superclass.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B9737E8FE6357D2088421516293765CB /* SubscriptionConnectionType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C08E76D0C48289C0D91200E1E8FEA3 /* SubscriptionConnectionType.swift */; }; + B9AE9CE505D256B119283539AEA9A45E /* AWSMTLModel+NSCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 5EF8E6D84E124565D735EC191D71AB9D /* AWSMTLModel+NSCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA21E9F9DA8F7724F07BD00640AF7356 /* AWSCognitoIdentityProviderASF-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA5C990D9B68602FAED6DB3CF42BBFB2 /* AWSCognitoIdentityProviderASF-dummy.m */; }; + BA2C1F62AD9A7F5E59DF48D55FF50201 /* FTS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C59B18755264188D619A5F269983A06 /* FTS5.swift */; }; + BB240AB446EDE8E791BE41BA3E3DC402 /* AWSCognitoIdentityProvider-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FD8785EAB774BEBA550ADB8AE1B91D10 /* AWSCognitoIdentityProvider-dummy.m */; }; BC4129C7C23E5F600A21FAD79A17384E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */; }; - BDB6EBBB471D4D7FCF5E3A2ABF57CABF /* StarscreamAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D736BA331354E71D15D23B6F00427737 /* StarscreamAdapter.swift */; }; - BDD0C5FFFA10EF36275EA94A8CAEE9C0 /* AWSDDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C225330EFCFCCAEBA675788D49FAAB /* AWSDDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BE12399D07843B8917C2CA6FE43EAFBD /* AWSMobileClientUserDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85782346E6D99739675062487C4872D1 /* AWSMobileClientUserDetails.swift */; }; - BE15451B18A9620BFCCA43E81E96454C /* AWSS3Model.h in Headers */ = {isa = PBXBuildFile; fileRef = 7237BB8A1CE03EBB4CA44EC7F6A27934 /* AWSS3Model.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BE2A2BFD062BDF5D67247DB617DDFE95 /* AWSMantle.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EDF1587D8CE25C966A666201FCAA0BE /* AWSMantle.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BE68287DCA5B4CAF34789BB58F6C9E1D /* AWSCognitoIdentityService.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E3EDB574B0D8B9A170F608A4D3B1095 /* AWSCognitoIdentityService.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BEC16FE1C64E9AE449107C4DC9429B23 /* AWSS3TransferUtility+Validation.m in Sources */ = {isa = PBXBuildFile; fileRef = F6A405165E44A8192BF0CBBD8EF5D8F7 /* AWSS3TransferUtility+Validation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C02AF819F2210D8C2AA3501F3C6548C2 /* InterceptableConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A3290C70564E35AA79390199F330B1 /* InterceptableConnection.swift */; }; - C040B96F2BFEF8B7A3EBA450EA2DFBDE /* AWSCognitoAuth_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6428CE95057551A716E25D6D850DD6BD /* AWSCognitoAuth_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C0AC9BC460602435C15D801E4CC668E4 /* _AWSMobileClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 083FF44CD44CD6B3390F56580EBEACD7 /* _AWSMobileClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BDA452B22FA5D285DD2F857365A72F9A /* AWSCancellationTokenSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ADCD2C31A5013C169566F3E17E9F126 /* AWSCancellationTokenSource.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BDB6EBBB471D4D7FCF5E3A2ABF57CABF /* StarscreamAdapter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841B3C45740E175B9392083426BFCFF2 /* StarscreamAdapter.swift */; }; + BE12399D07843B8917C2CA6FE43EAFBD /* AWSMobileClientUserDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = A61AEAD34258AE32FBE49B294A41E9E0 /* AWSMobileClientUserDetails.swift */; }; + C02AF819F2210D8C2AA3501F3C6548C2 /* InterceptableConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A2643F856E049A1F967AB55DB4D1DC1 /* InterceptableConnection.swift */; }; + C03088929CA889CF537643AF8FA3CFD8 /* AWSCognitoIdentityModel.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9AB02C44FEE669D0257FCF1603989F /* AWSCognitoIdentityModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C040B96F2BFEF8B7A3EBA450EA2DFBDE /* AWSCognitoAuth_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 585D0B2BFA01328F724DDCD5420CD067 /* AWSCognitoAuth_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0AC9BC460602435C15D801E4CC668E4 /* _AWSMobileClient.h in Headers */ = {isa = PBXBuildFile; fileRef = E0B3843374C35716E3AE0AA8101EC76B /* _AWSMobileClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0DA53A1F26A80135D1405B714A0E958 /* AWSCredentialsProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B64AE45DA23BBAB74486321AAC3004 /* AWSCredentialsProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; C0E9B18348A3DB7B0BBE9ABA1FFE6865 /* Pods-AWSAppSyncTestHostApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A12D889A86B4E4F0CB2A548599771BD7 /* Pods-AWSAppSyncTestHostApp-dummy.m */; }; - C13E207D69C177794C72FBBBD117D275 /* AWSCognitoIdentityASF.h in Headers */ = {isa = PBXBuildFile; fileRef = C11636DBBD7E1F83C886CE73A690DBBA /* AWSCognitoIdentityASF.h */; settings = {ATTRIBUTES = (Private, ); }; }; - C1ED6E9752EAA89093B51E90CBD1F3DD /* AWSCognitoIdentityUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 275B2272189577B513A15AF411D03C93 /* AWSCognitoIdentityUser.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C1ED6E9752EAA89093B51E90CBD1F3DD /* AWSCognitoIdentityUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 63450CE6ACB083F1611ED7AD116EE9F6 /* AWSCognitoIdentityUser.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; C1FEDB0C02B827A51FA0C9DF346BA97C /* Pods-AWSAppSync-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FAD4B84ADD920FCA3A89A6D1C3FC140C /* Pods-AWSAppSync-dummy.m */; }; - C26F4C2B70C2434D63DD9848908AE027 /* AWSMTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B37397BD120C7B2EA7B4B348159793E /* AWSMTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C46CCFB45A6DE2D27E904AAD57C968E1 /* RTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = D18EFDE712B36D9CFAC5DCFB385E61E0 /* RTree.swift */; }; - C4CED7D20EA2ADA2E1A2287336F04FA4 /* AWSMTLReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = C25033161C3E4D371F85068D17BE866B /* AWSMTLReflection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C255C58BBFC5BE3ECA1E83F7761842B7 /* AWSFMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = 89FB2E3F1018FD8DA9ABB017A11577B2 /* AWSFMDB.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C27FC6EE802F59BCA3A61F5B3DDFD382 /* Fabric.h in Headers */ = {isa = PBXBuildFile; fileRef = 731E69E3132137CEE6641BD5A213FF31 /* Fabric.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C46CCFB45A6DE2D27E904AAD57C968E1 /* RTree.swift in Sources */ = {isa = PBXBuildFile; fileRef = F495C9FA898D07C9F17EE515E5C3863F /* RTree.swift */; }; C4ED79D51A6BBD971A622E93EA8E8A62 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */; }; - C52143BAECE1B5DC8A500D999C03C772 /* AppSyncRealTimeClient-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 73F2696E65A62E9ABC9068DDB1B14360 /* AppSyncRealTimeClient-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C632AEF7E0FD36E2F513501B339BD9B7 /* AWSURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 3133285BE0A8F478083EAE8B703AEB91 /* AWSURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C679FFA22658A5852BF94552464014DB /* AWSCancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 386E2C7E783E74967487F1372F500977 /* AWSCancellationToken.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C696C19076F5A09C5DE88F4ABD2C9EE8 /* AWSSTSResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 53315FBA87DD6C4FBC19FB83A6169A40 /* AWSSTSResources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C8461C1D71AB7700B91B669FF4FB5B90 /* AWSKSReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C72D159FDA8FCD7F0B95B8DD7C2D3B /* AWSKSReachability.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C52143BAECE1B5DC8A500D999C03C772 /* AppSyncRealTimeClient-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A27B5023638EB6282158DFCEC5BBB49F /* AppSyncRealTimeClient-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6165E60CD0FC8218820096CD084CAB6 /* AWSDDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 19BE8591EAA5405EB333AA466DCC9042 /* AWSDDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C89372BFBE89641142CFBCFB3951CA75 /* AWSCancellationTokenRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E2031029F57C0202DB62883B872D6F0 /* AWSCancellationTokenRegistration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; C89B2A13CEC7DC3431B481ED8FD07183 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 895900F359BDDAD1D3137C29C674257B /* Starscream.framework */; }; - CB0D6716841765D711E4FB6EDEDAC71A /* AWSURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C507EBDE4BA2128EDB62C4DB9F1AC705 /* AWSURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CCD0B9179DF16FD1FFD0A2E5C3FB4879 /* NSValueTransformer+AWSMTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DBFBFAA26EF1D7A8A8B3153CDCCB329E /* NSValueTransformer+AWSMTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CCE25345C0578A2DF56C0BC1B23413E6 /* AWSCognitoAuthUICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = E7C5909190E73EAC3763AE5D1C4D240F /* AWSCognitoAuthUICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CD8B44159D5BC19C6E2649C73518886C /* AWSCocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 6204CA9C1C9AB1DE2B5B9E5540173BFE /* AWSCocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CDA8C01C0D921D943B907B911B6AE060 /* AWSDDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = A93E50F086D692B371CCBC93AA373E0B /* AWSDDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CDE815F93829405BBAD11FAB2C0FC61E /* AWSDDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = A3D17B1B5A8278557B8A7163E4C37720 /* AWSDDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C8D8F9DA319B75B6AD02772AA7ECBD79 /* AWSTimestampSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 55C47F8C61BA42C28AC0EC00FB23377A /* AWSTimestampSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C91BC3BA3A3399D0C653910356E63457 /* AWSTimestampSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = FE907A82BF330E5388FDA3574AED6361 /* AWSTimestampSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C952864D00385C136AE9D0808463C09C /* NSArray+AWSMTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BEF4E62987970472C9316FF3E45E499 /* NSArray+AWSMTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C9682BF5FAC42CFC944C0ADFB21B3745 /* AWSMTLValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 322E62E9B8C3D8BB8AD2CFD65DA9B19F /* AWSMTLValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C999730DF9DE37D5B3924574AC54FEAA /* AWSCancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B40C344E8741A8383DBC6C5BC97BAEC /* AWSCancellationToken.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CA25D79A1051C03EFFD693618197E263 /* AWSEXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C75CAAF7F49F89B7051A38707269FE2 /* AWSEXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CCE25345C0578A2DF56C0BC1B23413E6 /* AWSCognitoAuthUICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = CB1EA0AF84EC22E7A65FC73D5C7BA79C /* AWSCognitoAuthUICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CF295F9CC4EE598BE315A9F86D81BAF3 /* AWSEXTScope.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D50C4C6FE7D4639BE7CA6DCB37ECE2B /* AWSEXTScope.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CF59506719CDEC5B60DDD8DF7AEEBACC /* AWSCognitoIdentity+Fabric.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FA08FFF5D956454EB14501ABCFBB85F /* AWSCognitoIdentity+Fabric.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; CF9BE0EE1A1AC8AFD19E1AA7EDE0B23B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - D056FE1903DE9137C19B686FAA053FA9 /* AWSNSCodingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A695B35441B1BB7DB3A4CCB49AB70A6 /* AWSNSCodingUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D08172C39A17D903B91F677C3B2D0BFC /* AWSS3TransferUtility+HeaderHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 784ECF46BEB4AE6A6ED6D0DF4CC28A50 /* AWSS3TransferUtility+HeaderHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0EAEF94E06F5429B62A8B4DEB9B0420 /* RealtimeConnectionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55C0ECC248AD4A0C036D683D2149DE29 /* RealtimeConnectionProvider.swift */; }; - D362C98566FC999B9D0F2C7E964D6F41 /* NSError+AWSMTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = CF641D4A37A07E0B30FF0A9BCEB07B39 /* NSError+AWSMTLModelException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D43AD0E639AD5017CD6918527657B3F7 /* AWSmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ADA6AF9C3ECEE2F4E6369C81E33AD40 /* AWSmetamacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D45D101FF69EB9FC50253EBD013BB145 /* AWSDDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FC7A9A53F2CE52AE92934DE7D5A8DC0 /* AWSDDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D6F8B6D249CB516A90B4D5F764CBF5D9 /* AWSSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EA9923382348B47C616072E566D3B68 /* AWSSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D77639108F8E332FB03CA4DC1207F770 /* AWSDDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = E0B024AF37340D772934BD5E77E67F77 /* AWSDDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D825EA4231D1A46B575D336040962255 /* AggregateFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 412384FD6E5746341923BE8932EF7415 /* AggregateFunctions.swift */; }; - D8AFB1021BA3B13F268BA621779CDA3D /* AWSMobileClient-Mixed-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 2579E1ED5FE95C8159316351580E2CA3 /* AWSMobileClient-Mixed-Swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DADB33B5459CB8655C957E509644F00A /* AWSCognitoIdentityUserPool.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEFC0396379C43F2EC9B8CA2982E970 /* AWSCognitoIdentityUserPool.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D03186284080C404092EFBB96403F035 /* AWSDDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = BD58D6553894E20498C50B60F5C94E17 /* AWSDDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0EAEF94E06F5429B62A8B4DEB9B0420 /* RealtimeConnectionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CC686E49A1FC05FADD2E50A13E45CE3 /* RealtimeConnectionProvider.swift */; }; + D215F9C9303EEAD4A8B3C487F81F1D3E /* AWSValidation.m in Sources */ = {isa = PBXBuildFile; fileRef = 57E280DEA069EFE4977BC75A61C93EE8 /* AWSValidation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D3B7D2AB5AA2D59B2B3A074395765DAD /* AWSXMLDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C4B15AB7CB8B79C8F53F553537CC820 /* AWSXMLDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D46F1D2C736C34B3314F4CE40FDF674F /* AWSCancellationTokenRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 21398801150101DA0622EC11C32EC9F9 /* AWSCancellationTokenRegistration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D4BA0546D8F66B64C996A99062D78FC5 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E5B7839FFCA59975E932625DEAAB4A8 /* CoreGraphics.framework */; }; + D4CA1E747DA8A6232E51DDE679BA5A5D /* NSError+AWSMTLModelException.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C7914C72795D4884C1579B18955FAD2 /* NSError+AWSMTLModelException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5E840B98553662A66EB509C5C24B966 /* AWSDDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 45DFE681029BF6918520479369ECDBEB /* AWSDDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D62B885097E2527C156E8E6F406016CA /* AWSS3TransferUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C03105DDF99D5F6AEAEA4D9B6DFE07C /* AWSS3TransferUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D66FF41ABFD5F7252E4BCCBA77404F91 /* FABAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 0482F728BBF1D6C65450FA38F6CCA243 /* FABAttributes.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D7745EB5CC77648BBE9D9D1C3A21919F /* AWSEXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = CC2FE5289AA070C0A6495754EF921139 /* AWSEXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D79512430743808221509AC05BCD8FC3 /* AWSMTLManagedObjectAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8130F6268B947C47932C628622881B01 /* AWSMTLManagedObjectAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D7EB81DB0E885286C50DD4F1DC481140 /* NSValueTransformer+AWSMTLInversionAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 704E0C5DACF8C12C215190550B44B358 /* NSValueTransformer+AWSMTLInversionAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D804607EB2771404A3EB8C71B65E4787 /* AWSFMDatabaseAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1465389819E154FC9DAD787A1B307069 /* AWSFMDatabaseAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D825EA4231D1A46B575D336040962255 /* AggregateFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = E26F432975EB3224977A096FE5042E93 /* AggregateFunctions.swift */; }; + D843B4806BDF42FC89ED524E5DAC9F88 /* AWSNSCodingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FF41B0FC773D07A7BD0C0ECF354190C /* AWSNSCodingUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D872941BFF6565B8C8A8D2A713DD5F35 /* AWSS3TransferUtilityTasks.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C9B9909DA48EC0F78F38D1FB85CC2B0 /* AWSS3TransferUtilityTasks.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8A1D599348F119FDEB34F84749D7B32 /* AWSTaskCompletionSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B883A0E6B17A2CE045B79769C981C64 /* AWSTaskCompletionSource.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D8AFB1021BA3B13F268BA621779CDA3D /* AWSMobileClient-Mixed-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = B168D1FA8491E0A677C1A433EB31C84B /* AWSMobileClient-Mixed-Swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D945A475320801042FE6C2A751A7D6A6 /* NSDictionary+AWSMTLManipulationAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 82931D501856CB25921F17A689B4C6A4 /* NSDictionary+AWSMTLManipulationAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D9726B71E2F9977AFFD2BA95D17A1F19 /* AWSTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A4483432FBD5E418990AD96074E5347 /* AWSTask.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADB33B5459CB8655C957E509644F00A /* AWSCognitoIdentityUserPool.h in Headers */ = {isa = PBXBuildFile; fileRef = 79F15ADEF71A72AE6110CF34F02DC80D /* AWSCognitoIdentityUserPool.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAE69DCD5EAA1E66657DC475B0769EE2 /* Pods-AWSAppSyncTestHostApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A4E5DB3D58FE9ADF76B8B7CA8EA3959 /* Pods-AWSAppSyncTestHostApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD0ED59D9E4241115435C9A1249A3F23 /* AWSDDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BE5E937D6688F0D10C69A304F69D786 /* AWSDDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DDE7649C510D69318B60A6E32531BF56 /* AWSSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = C1781FB64F02E9473F89C558DB0798D5 /* AWSSignature.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E144E462ED0B9E3B483F395C6673EE9B /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 518E8ABBB490E98D9C19C867BB469CD9 /* Expression.swift */; }; - E17A28212F37F2FDDDCE14209B7D12E1 /* aws_tommath.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F2A6730C313E4F03802D992F1AB58E9 /* aws_tommath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1B851FDBE0216B1AFD0ADA342E9F1E2 /* AppSyncRealTimeClient-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E39432DE86DE7475E7421BC3F24BDBFD /* AppSyncRealTimeClient-dummy.m */; }; - E21D0E27F9AE4C40E420E9228133B514 /* AWSFMDatabaseAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE0B4707825FB5E1DEB1AAD9CA103A7C /* AWSFMDatabaseAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCA27374EF1A51B0434BDF9301A580B7 /* AWSMTLJSONAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = C10E02B8676694B9354AC43296E56EB5 /* AWSMTLJSONAdapter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DDC0A7928EB85BDEB4FB7FBF1B03C6E8 /* AWSInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2916502995C36C2CEFB41B1C1B0B9BA1 /* AWSInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DDCA647BBE60FC7A9DD372FD99F8BD3F /* AWSSTSResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 42998E72838ACCABFF2EE1C69EC38938 /* AWSSTSResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFA9698B95E33347C312AE3C5C1C5BD7 /* AWSUICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 317B506821312CEF760A23D4CA62B0EB /* AWSUICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E0436419E5700C0683DB03D5152DFF80 /* AWSFMDatabase+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 39397C1D4B3B5BB8709FE4E242B0AF3F /* AWSFMDatabase+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E144E462ED0B9E3B483F395C6673EE9B /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 824505B5361984454CF38BE77E6BDB05 /* Expression.swift */; }; + E17A28212F37F2FDDDCE14209B7D12E1 /* aws_tommath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD06A9E25C5C88339B5C467BB1FB281 /* aws_tommath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E1B851FDBE0216B1AFD0ADA342E9F1E2 /* AppSyncRealTimeClient-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F388B1D50BC77D3BBFFBC3B440F6C5F6 /* AppSyncRealTimeClient-dummy.m */; }; E24F6E6280C6FC00187E1F9833364490 /* Pods-AWSAppSyncTestCommon-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B053194373E64F60F299934207F45337 /* Pods-AWSAppSyncTestCommon-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2A20EC6F4BA1AC974A77865A196D950 /* AWSSignInProviderApplicationIntercept.h in Headers */ = {isa = PBXBuildFile; fileRef = 84C26EBA7F4E5697A75CE3C06E63BE83 /* AWSSignInProviderApplicationIntercept.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E2BA43D53314CCE77F18E76091AE4660 /* AWSCognitoIdentityProviderASF.m in Sources */ = {isa = PBXBuildFile; fileRef = A166B39764E9307E5427FD06AD9587B5 /* AWSCognitoIdentityProviderASF.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E4887DC9FBAB65C745061951B0FFC648 /* AWSS3Resources.m in Sources */ = {isa = PBXBuildFile; fileRef = 94A855204B4FB537662C7D3D3BA7F726 /* AWSS3Resources.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E5032D3363E33633EA89B0482404D7D7 /* AWSDDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 68B5814696B72D4B454C47B93858EC15 /* AWSDDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E52F166F73883C28A635AC31FB77A943 /* AWSMTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = A38913A47712A74F90B92CEBEF92062C /* AWSMTLReflection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E5BF1CE91B86447051D52A9ED27AEE10 /* AWSSTSResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 34C2DFB55A5904235DEEEC2F46EFFE9D /* AWSSTSResources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5F36E9A5D6399C5DE02BFA10B48A1DD /* AWSS3Service.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B5BAF25B86890E71C047907FEBE799F /* AWSS3Service.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E5F6ACACDF29D937A21E7DEC85A13E3E /* ReachabilitySwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 21603AB86102150AA4FE15827A4DCD40 /* ReachabilitySwift-dummy.m */; }; + E2A20EC6F4BA1AC974A77865A196D950 /* AWSSignInProviderApplicationIntercept.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A23CC71A352867CB67935B2C9FC516 /* AWSSignInProviderApplicationIntercept.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E5775F6FFFD342A5DDA6D74D945306CF /* AWSS3Serializer.h in Headers */ = {isa = PBXBuildFile; fileRef = B3436CBD5067044DFD4832959CFA53C8 /* AWSS3Serializer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E57E4A6FD1D2121FE22AB7AFD94A105A /* AWSGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EE9B426F4450D922CE46D21FFF65A98 /* AWSGeneric.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E5F6ACACDF29D937A21E7DEC85A13E3E /* ReachabilitySwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B82B8A201EDFFFE45D53FA749442190 /* ReachabilitySwift-dummy.m */; }; E61A0AE07EA6D60791B561DE425E28AB /* Pods-ApolloTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB920F3E9C8C378B4461DE2FA927C0C3 /* Pods-ApolloTests-dummy.m */; }; - E734DDE3C529DD9617CAFD59BB444716 /* AWSFMDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 638AD56143B6268393A30549E277DF6B /* AWSFMDatabase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E7EB48DDDD37CCE22747D8469BFCEB5B /* AWSURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF43E3182C5226F3230DB99C3DB2637 /* AWSURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E95E0792CE337B13B38091C7F23FC6F3 /* AWSDDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BAEFCE80B5C6A1C149F7DAF4D2A432C /* AWSDDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E9794F6ABE52433AE4410CE1B6F7ABEE /* AWSClientContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9741180E12A972970AE30AA4BDF7D5CC /* AWSClientContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EB08A3A3E5F8B669CF3319A582FDE120 /* AWSSTSModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D4321354141FCA8F2D2B82F3C181C6B /* AWSSTSModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ECE8DF477E2BCDC7D1D8BC399F3E80F0 /* NSError+AWSMTLModelException.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D00E470E076F73E486E3C8D706BE205 /* NSError+AWSMTLModelException.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ED18E919A58BF0FE8126D8728FB0EB1B /* aws_tommath_class.h in Headers */ = {isa = PBXBuildFile; fileRef = 104994536BBFF5187C98EFFA19159528 /* aws_tommath_class.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EE1350857C31375EB5A46A3FE65648D3 /* AWSNetworkingHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = F25D384CE129DDC6618B45B11473E504 /* AWSNetworkingHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE2FD269DE891303277F845707F9D31F /* AWSGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 55AFF8A595AEAB53EF1B656C20202CB1 /* AWSGeneric.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EF5E32C13CFA779B953F8F81AE3C67D6 /* SQLiteObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A3C2B776ECDEB46513A83D6B65DA9D9 /* SQLiteObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F122B71BF8EA935B69B8A775E1604F10 /* AWSAuthCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 79C72FA50AB166098F2914709B9D477A /* AWSAuthCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1A17001E979095DA6E33B6C14929FED /* AWSModel.m in Sources */ = {isa = PBXBuildFile; fileRef = F579FA7A9BD49B58BF23AC4CCEDCC393 /* AWSModel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EA15DA5E10F3E67D83C0ADBAB03EE430 /* AWSURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 873226EEA39AA35D28FF169FBD1820C2 /* AWSURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA9097A5DFFC3B9718998DC944A4B178 /* AWSCredentialsProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = E1369AD07009D02020C57BCA93B63E30 /* AWSCredentialsProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EC5BC3095183E7E84403B052FA6E536C /* AWSSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 5885646DA37882C5B0D3120C1E995B40 /* AWSSignature.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ECBC03CCD4F30A6CD02D150928A89C16 /* AWSDDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = B933A7AE854FCA24B4179171B051439A /* AWSDDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED18E919A58BF0FE8126D8728FB0EB1B /* aws_tommath_class.h in Headers */ = {isa = PBXBuildFile; fileRef = 362C3977E079434AFE2060800D1E7A0E /* aws_tommath_class.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED1B55B09DA00A6B6A5957DC18CDBB59 /* AWSGZIP.h in Headers */ = {isa = PBXBuildFile; fileRef = 6435641FE82C3369D049144E728AA57E /* AWSGZIP.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EEBC7DCE06A44A29656656EBB8FF26BD /* NSObject+AWSMTLComparisonAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC98045CE1BABEB11A32D17BD72A051 /* NSObject+AWSMTLComparisonAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EF5E32C13CFA779B953F8F81AE3C67D6 /* SQLiteObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = B3539260131C0CC9CE439FD2AE617478 /* SQLiteObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F122B71BF8EA935B69B8A775E1604F10 /* AWSAuthCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 70BD1EE82B6C8D50F8A12F28B319A584 /* AWSAuthCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; F1C271E4D884988444063921A426BC39 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - F28E36F7AB9DF5B354CBBCD1785D2C5F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */; }; - F39D262038805E667E2739269492E991 /* AWSCancellationTokenSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 863FC21CD0014D3291A995F873D96EC0 /* AWSCancellationTokenSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F440E52763828039E814D076C83DDA99 /* AWSValidation.m in Sources */ = {isa = PBXBuildFile; fileRef = C46B8CBFC90F3C531637A3106F6E6E21 /* AWSValidation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F5CEECD0635B18326CC64BFF4548BC6B /* RealtimeGatewayURLInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACEEFA68C8A50FA0C82DB48951E23094 /* RealtimeGatewayURLInterceptor.swift */; }; - F6B6066B6E9E224529BA083B47055C1C /* AWSAuthCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A2458CD0A8887EC497E68387909FC8F /* AWSAuthCore-dummy.m */; }; - F8D542AD68B72CCFFC13788244972366 /* AWSURLRequestRetryHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 17249D7489BA09B53EB53D04173F199F /* AWSURLRequestRetryHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8F276299B26C379F08DE0928D4DCE48 /* AWSDDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 5861A606F89A8A3E264E95DA587754DF /* AWSDDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FA090E75D21022AEBEFFA88F683125F0 /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */; }; - FA9C7C0DB7B9EDA98E2495854F05ACF7 /* AWSCognitoIdentityService.m in Sources */ = {isa = PBXBuildFile; fileRef = 72ED65F4AA3E46F89E3A468A51816B3F /* AWSCognitoIdentityService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FAB8438852B4A670636394E3DCC8C86A /* AWSCognitoIdentityProviderSrpHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 729B37F0B2D4CE31D255A5191B0AE6EB /* AWSCognitoIdentityProviderSrpHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FB38209022F16E806CF1EBFC3174767B /* AWSMobileClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 66C939469BA6B6612FEC64CB638E2E55 /* AWSMobileClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FB62563E13863CF67ABAEA93260A64A7 /* AWSFMDatabasePool.h in Headers */ = {isa = PBXBuildFile; fileRef = FCF637F589ECFF44236FC94576888D4E /* AWSFMDatabasePool.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FC17BCAB62346A73289F99A6B5D4E7B4 /* ConnectionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F03ADED458B124FB46CE1CEB0195055F /* ConnectionProvider.swift */; }; - FC4A523FDAE1EF7F648A83059FB59ECD /* AWSInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E976CE37FF9752AD65E1541A324AD43 /* AWSInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FCA96315BD1DA6E388C2459C3BC32B34 /* AWSCredentialsProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 58A3AD206664B6ED1E8B740D8802AB0B /* AWSCredentialsProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FCAEFD3342AFF241C5659ED078798D08 /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0A988F27CFD0DB80A4EE10DC342E249 /* Query.swift */; }; - FEF7286772CD6EF4AA48A84394B5B9C5 /* AppSyncSubscriptionConnection+DataHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DA7987E41128A92C5C42267977234D /* AppSyncSubscriptionConnection+DataHandler.swift */; }; - FF143787CF4668F1663116B26E101BEF /* JSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = A11F295F58DCBF338FB63B022381FFE1 /* JSONHelper.swift */; }; - FF17EC59A6408C4223F2F68A9271EAFF /* AWSCognitoIdentityUser_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = FC9FE68C88683B2EB48AD58CF097A553 /* AWSCognitoIdentityUser_Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + F1DFC12068A6A8F9824CB474BB213CF7 /* AWSDDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B3FB71BC9ADBDDAD067EB5C6A682042 /* AWSDDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2ED8B8E09B95911DE91A69A50998660 /* AWSSynchronizedMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 587F73B156FF4E96872F34CE940AEE2C /* AWSSynchronizedMutableDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F3238F87945244A9B7D9BADFB6CF4750 /* AWSMTLReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A2AFD5AFD17334598C47D01EF7E470F /* AWSMTLReflection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F3A48E87A4B2E14560A085EB71C04740 /* AWSService.h in Headers */ = {isa = PBXBuildFile; fileRef = 233860740D51E40D040279CF278B7159 /* AWSService.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F3E9D00C62DAF1E2222FC91B49DD0BEC /* AWSIdentityProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 1488D7FEADC52EAF1C5F96C336E35A72 /* AWSIdentityProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4B033B7B31489BEA1C70204867D8E9C /* AWSS3-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D843576F0EA77E55512B96F24B13EDD /* AWSS3-dummy.m */; }; + F5CEECD0635B18326CC64BFF4548BC6B /* RealtimeGatewayURLInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1537D24B473082AF1CA051A4ECD0F39E /* RealtimeGatewayURLInterceptor.swift */; }; + F6B6066B6E9E224529BA083B47055C1C /* AWSAuthCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 437685D91D6475B078EF0C31F342551C /* AWSAuthCore-dummy.m */; }; + F7043A0CCAC11102A604D206498F54D6 /* NSValueTransformer+AWSMTLInversionAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3463876276536145189472BBB7CBC0CC /* NSValueTransformer+AWSMTLInversionAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F7C691933186639A465828A47D55FF52 /* AWSURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 21F2C2BCB788B4A41DEF36BE1DB8D46C /* AWSURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FA63E6F006F9A2FE4379200D2039E727 /* NSArray+AWSMTLManipulationAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 37806ADE597DC98B838FADA59C85A973 /* NSArray+AWSMTLManipulationAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FAB8438852B4A670636394E3DCC8C86A /* AWSCognitoIdentityProviderSrpHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BFEAD7EFD5E18161924CEC4ABF19DF /* AWSCognitoIdentityProviderSrpHelper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB38209022F16E806CF1EBFC3174767B /* AWSMobileClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE0A71D9B3BA7EC994EB789116C7B24 /* AWSMobileClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FB3CF6A7406C2C4FEF75529048B8002E /* AWSSTS.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A0C02E510843DB1CE885AF9D12D591 /* AWSSTS.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC17BCAB62346A73289F99A6B5D4E7B4 /* ConnectionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8E46E92C0966F3913B8F22169E6D62B /* ConnectionProvider.swift */; }; + FCAEFD3342AFF241C5659ED078798D08 /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D96E562F52AB489DCD36D372E512C61 /* Query.swift */; }; + FCD2EDB9A162795BCFFFB36F7409A1BA /* AWSNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C3AA6EFC10E70D5782E3A34EF9101A0B /* AWSNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FEF7286772CD6EF4AA48A84394B5B9C5 /* AppSyncSubscriptionConnection+DataHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5DFA1AB79158E6DB0CB63E1E298B6D9 /* AppSyncSubscriptionConnection+DataHandler.swift */; }; + FF143787CF4668F1663116B26E101BEF /* JSONHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF98526BD55BCBBBAADC2529628DD254 /* JSONHelper.swift */; }; + FF17EC59A6408C4223F2F68A9271EAFF /* AWSCognitoIdentityUser_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 04C295CF72814DE30D3EADF21012A526 /* AWSCognitoIdentityUser_Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FFD53B7D08F746008E83E52652BA95EE /* AWSCognitoIdentityASF.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FBE82DC160024EA0C01A5B3CB414561 /* AWSCognitoIdentityASF.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FFDF61128681268476595642BCDDC4BE /* AWSClientContext.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B3C09A2CEEC8B25BA3C9C5924B57FE /* AWSClientContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 043590348F6406E7F8E8C6D2479BE13D /* PBXContainerItemProxy */ = { + 07B9A3C005DA809804B226C28A327A83 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - 0898A45626059FF23EDE7092F505E6B7 /* PBXContainerItemProxy */ = { + 0C2D9BE30ABA41B0E87AF35FC7567F80 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 0B280E6598FEEC183D325A77431753C6 /* PBXContainerItemProxy */ = { + 0DFF3FD1ED9F71A113BC226205D0B385 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; + remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; + remoteInfo = AWSS3; }; - 0DA77FDF6D70024D35BFB64F9D3E37D4 /* PBXContainerItemProxy */ = { + 0E937000850943E15AEDA9F4C8F051F2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; remoteInfo = ReachabilitySwift; }; - 109E35FD2442A9775DEC4F6CC702A4AE /* PBXContainerItemProxy */ = { + 12335894480DB751D4215226522FCCE9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; remoteInfo = SQLite.swift; }; - 1A9277A6C9C5A3F13DBE9FB2C160BD90 /* PBXContainerItemProxy */ = { + 19719C19E06072B29DE3A07DCAB40C48 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; + remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; + remoteInfo = AWSS3; }; - 22F08D4BBAA8DCD40F02A0F8670D4093 /* PBXContainerItemProxy */ = { + 199AE29523C4E0DB780F3AB316E47AFF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 8042F2B0721B13AEDEB81F058C2B2125; + remoteInfo = AWSAuthCore; }; - 24D3EE8A17EAF37BE66CB446AE5EE7EF /* PBXContainerItemProxy */ = { + 1D00780A8916F4E3FD0E15E15C6A83A4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - 2D9C7A51EA43DEB57EA2715259391F85 /* PBXContainerItemProxy */ = { + 1F29C678844CB61095C6162B08AAAFF3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; + remoteGlobalIDString = 6428ED7DAC8003D918A4F549769F079D; + remoteInfo = AWSMobileClient; }; - 31A764E62FA366AD97FEB62AA1CB38F1 /* PBXContainerItemProxy */ = { + 23077C140CC53FE47ED1EB08E334462B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8042F2B0721B13AEDEB81F058C2B2125; - remoteInfo = AWSAuthCore; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 356C875C72851B141614F47754352940 /* PBXContainerItemProxy */ = { + 28207F19EFD05573CB09A7490ACB5F28 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 29212B2F049288E035AB98405A23E41E; - remoteInfo = AWSCognitoIdentityProvider; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - 38A251AA1155C4E2654838DE4D47E7FC /* PBXContainerItemProxy */ = { + 2FE55014C91B93C3526B67A2570230F5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; + remoteInfo = AWSS3; }; - 3D9FB729371CD7514C35E7F2F9085A5A /* PBXContainerItemProxy */ = { + 30F3C1ED3802C62AFBC29600C9E13150 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; - remoteInfo = ReachabilitySwift; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 3ECCDC57B4F0C3CD44689DC111740630 /* PBXContainerItemProxy */ = { + 3173D9FCBDC08A04BFA0695329E78F1B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; - remoteInfo = ReachabilitySwift; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 4427C0468FCCF3270E4188EFBCE19A87 /* PBXContainerItemProxy */ = { + 34C3D77B1B5379202ECE006D20F990C3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; remoteInfo = AWSCore; }; - 4ACEBDAC631EF2049EF6D7B87A476D4B /* PBXContainerItemProxy */ = { + 3838879A08C0BEC0D373C1C80F928A5D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; - remoteInfo = ReachabilitySwift; + remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; + remoteInfo = SQLite.swift; }; - 502C987CE1F7B83387BE9467D6729CB3 /* PBXContainerItemProxy */ = { + 44468060CF8B57FF5AC37EB33A2EA346 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; - remoteInfo = AWSS3; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - 5349292F851FA6516A7E44829721FA07 /* PBXContainerItemProxy */ = { + 47B14CED075D3A0C21F14F5CC5737A19 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; - remoteInfo = AWSS3; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - 56DF4DFF9C3CBA8DC5D64E134E49858D /* PBXContainerItemProxy */ = { + 48830789A9E609D23FC2D5C221C6B725 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - 64D4086BFCED5294EC02B2A12DD3B7BF /* PBXContainerItemProxy */ = { + 4E5F58DF6ECFFFFAD743F561FFA24600 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; - remoteInfo = AWSS3; + remoteGlobalIDString = 29212B2F049288E035AB98405A23E41E; + remoteInfo = AWSCognitoIdentityProvider; }; - 6654FD7816D350C93A0D967F18235BDC /* PBXContainerItemProxy */ = { + 4FCB909C85BAFB8B89DBD66E56E61DAA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; + remoteGlobalIDString = 8042F2B0721B13AEDEB81F058C2B2125; + remoteInfo = AWSAuthCore; }; - 695234287A314020D1C0961B4175CAF4 /* PBXContainerItemProxy */ = { + 50D27FE63D192047AFAD4054A631EA96 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; - remoteInfo = ReachabilitySwift; + remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; + remoteInfo = SQLite.swift; }; - 69EE7183848531C856A1F5E8F0100D99 /* PBXContainerItemProxy */ = { + 5241423A662514342D8F6478EE4997E2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; }; - 7069963BC869E38A459415AAE81C4DA4 /* PBXContainerItemProxy */ = { + 547A43A9E97990989690183E28BD159E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; - remoteInfo = SQLite.swift; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - 73AF28D3554DB3385696CFC5F3EF15FF /* PBXContainerItemProxy */ = { + 557007A2597606098BFBA7E4D3C5420A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; - remoteInfo = SQLite.swift; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - 77765EEF5260D0662843C351E4F9300D /* PBXContainerItemProxy */ = { + 6397DC8BD040711143C26668CC38F819 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 29212B2F049288E035AB98405A23E41E; + remoteInfo = AWSCognitoIdentityProvider; }; - 7CA2ECEEE314AE9E23CFE862CC8DDE55 /* PBXContainerItemProxy */ = { + 653ACF5CF0C6EC910559B667BD33D6FC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - 8DB42F29BF7C3CFC7178780137F08E95 /* PBXContainerItemProxy */ = { + 6CAE0C6610AEB42D8E8BA7F39ED5C0F9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = BBF90BA4F6EC5653945C7B0FFD9128D2; - remoteInfo = AWSCognitoIdentityProviderASF; + remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; + remoteInfo = ReachabilitySwift; }; - 9A540EB1EC8B259567ADF8ECC9DF8F10 /* PBXContainerItemProxy */ = { + 717B90338D933F6E54991A46969F32E9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 29212B2F049288E035AB98405A23E41E; - remoteInfo = AWSCognitoIdentityProvider; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - 9B0985AE83BAA2066CDBACC455D932B5 /* PBXContainerItemProxy */ = { + 785010B7745575BD7D3A058A5E8E7AD4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - 9CD2E6CAD385FE82E1EC213A91E2E63F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; - }; - 9EBD8EBCAA5F32C74B5531EF2DC45049 /* PBXContainerItemProxy */ = { + 7D0507903E796C1AA29DC382B2010EE2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; remoteInfo = SQLite.swift; }; - A1FF5F8B699E3C127338C3066F0D4116 /* PBXContainerItemProxy */ = { + 7FAA31B875291034B71092E9CE3F86AB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; remoteInfo = ReachabilitySwift; }; - A29CE48A8E562B4E019665D906D11B40 /* PBXContainerItemProxy */ = { + 850692091BB5B8E1AAEAA860DC04BAB8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; - remoteInfo = AWSS3; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; + }; + 8DB2FAE543EC85276277800185C925E2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - A4BE76B241A4742475FC691C0C806E37 /* PBXContainerItemProxy */ = { + 8E81087A8D561B92C19D97A9AA7231E4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; remoteInfo = ReachabilitySwift; }; - A77E2B57564152EFCFBA4FAFB909E275 /* PBXContainerItemProxy */ = { + 954E2522ED03F856563DD7515F3FD1D5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; - remoteInfo = SQLite.swift; + remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; + remoteInfo = AWSS3; }; - B022CBF8FA88CCEC9627208332822F07 /* PBXContainerItemProxy */ = { + 974BDFE6606A59C7ECD2131898BB7294 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; + remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; + remoteInfo = AWSS3; }; - B8EDFFBE47BD57A9662A01BC4A756D81 /* PBXContainerItemProxy */ = { + 9E565B6C0B7F21E15DA7288F4DECD968 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = BBF90BA4F6EC5653945C7B0FFD9128D2; remoteInfo = AWSCognitoIdentityProviderASF; }; - BB6E9ED3C446E79D4619A90183337727 /* PBXContainerItemProxy */ = { + 9EFA3D1A757E33CC8C13E832BDED58D3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8042F2B0721B13AEDEB81F058C2B2125; - remoteInfo = AWSAuthCore; + remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; + remoteInfo = SQLite.swift; }; - C17BCAC00BB7C62336D91BA088D6571B /* PBXContainerItemProxy */ = { + A4FBE8A24E3EF31E58B9473D9465CC58 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6428ED7DAC8003D918A4F549769F079D; - remoteInfo = AWSMobileClient; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; }; - C3B69C63A5E0A71EA0E35DFABE00881B /* PBXContainerItemProxy */ = { + ABF5BC729A0521147AB4639671239908 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; remoteInfo = SwiftLint; }; - C40292D7F3C3FC22DB7DE616B2A69E3C /* PBXContainerItemProxy */ = { + B732655BFA79B5123F1D54A3A5932F6D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; + remoteInfo = ReachabilitySwift; }; - CF1CD9F16AC034A3DF2D76313E33A24E /* PBXContainerItemProxy */ = { + BCE05CAD12A2246A37041ACB5FBF5E96 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; + remoteGlobalIDString = BBF90BA4F6EC5653945C7B0FFD9128D2; + remoteInfo = AWSCognitoIdentityProviderASF; }; - CFBFD3D2CF9A6A1B9E54EC7DC1D51F72 /* PBXContainerItemProxy */ = { + BD5BC26648C8B5E39D4C7D8EFA63FDD8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; + remoteInfo = SQLite.swift; }; - D0B98E054FAAD34E30B2FF31ECB6F317 /* PBXContainerItemProxy */ = { + BE16BB71A31168E79B1C02B6AFD29164 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - D3834D2845F3AB06C8A4B17D8BE8BD58 /* PBXContainerItemProxy */ = { + C2A3302FD3EE97AEEBEDE21D33CE49C8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - DAE27E49B9C66628C0791841A1C04163 /* PBXContainerItemProxy */ = { + C3BA438E784D3FBCD0B78FE51CA40E42 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; remoteInfo = AWSCore; }; - DB2402150620BE94AD5B50949B9DB091 /* PBXContainerItemProxy */ = { + C7F5564DB15DA7938696707B3C202A67 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - DBCF05B4BE748D9770DCD0090AB2153B /* PBXContainerItemProxy */ = { + D4C5AD179235FA45F3CFA7315D9C7145 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; - remoteInfo = SQLite.swift; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; }; - DEBC35E6F95EA97AFBB2F4AA28E16B78 /* PBXContainerItemProxy */ = { + DF67B5C479B0CEBCAB1D11725A2AD675 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; + remoteInfo = SQLite.swift; }; - DF850E4E731B0B4BC44956FC2E4A395F /* PBXContainerItemProxy */ = { + DFA19EA6BC4230D06DC5F38F5854C913 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3F2C1776D90B62B156DB52C41A5C419C; - remoteInfo = SQLite.swift; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - E00E5D6AB9F2ED1EF0BF749EAE94A5EF /* PBXContainerItemProxy */ = { + DFAF98DD9C3410C9DE84653057DC54AE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; + remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; + remoteInfo = SwiftLint; }; - E77CCB26EDDB410566A8DDD97063876B /* PBXContainerItemProxy */ = { + E180CF1F3EF758324C56590150B5CFFA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; remoteInfo = AWSCore; }; - E8EA70594B1F480DA1A20C88C93BD5E2 /* PBXContainerItemProxy */ = { + E55ACFA2C5D9930AF593D130F5F413CE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 52B60EC2A583F24ACBB69C113F5488B9; - remoteInfo = SwiftLint; + remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; + remoteInfo = ReachabilitySwift; }; - EC035BB9CC817F66022D6A856F3F1A5D /* PBXContainerItemProxy */ = { + EE7DB7DEF5E771669F493E7F5A552059 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 31F0084E2E60CA68AAF7E3224C77C86E; - remoteInfo = AWSS3; + remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; + remoteInfo = AppSyncRealTimeClient; }; - F4579AD14A573DD8985348884343694A /* PBXContainerItemProxy */ = { + F06BB1FBB4B9B850D1AE86D37D10CF4E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = BBF90BA4F6EC5653945C7B0FFD9128D2; - remoteInfo = AWSCognitoIdentityProviderASF; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; - F93DDD0556DF66B47BEBA8309D675AF8 /* PBXContainerItemProxy */ = { + F53C3D2B67E90A316D93A07BA55B1FED /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; + remoteInfo = ReachabilitySwift; }; - FD3F2917EECAB2D9C607AEEF3602A5A2 /* PBXContainerItemProxy */ = { + F67064248EEA4164E6BBABC8B5D7C1F3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; - remoteInfo = AWSCore; + remoteGlobalIDString = BBF90BA4F6EC5653945C7B0FFD9128D2; + remoteInfo = AWSCognitoIdentityProviderASF; }; - FE8205AC4A0E13EEED15D44700C17A71 /* PBXContainerItemProxy */ = { + FA64B0BED5E605F0CAE33267F80C6CFB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 1CBAA1BF721D47841624A5647B1A36B3; - remoteInfo = AppSyncRealTimeClient; + remoteGlobalIDString = 9B172FACE90046AA5E100E650B6109DD; + remoteInfo = AWSCore; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01DBF972FF8FB9716753490B233CD615 /* AWSCognitoIdentityModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityModel.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityModel.h; sourceTree = ""; }; + 00BDC6178338A7349FEDD2A188591576 /* AWSDDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDASLLogCapture.h; path = AWSCore/Logging/AWSDDASLLogCapture.h; sourceTree = ""; }; + 00E1FF1DD984DE03007B17C9FF42DBD5 /* FTS4.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS4.swift; path = Sources/SQLite/Extensions/FTS4.swift; sourceTree = ""; }; + 01DA0A8A3CC67A37C3D14A497024472E /* AWSDDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDContextFilterLogFormatter.m; path = AWSCore/Logging/Extensions/AWSDDContextFilterLogFormatter.m; sourceTree = ""; }; 027A672E5391399D3858F72217E6BFB5 /* Pods_AWSAppSyncTestHostApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSyncTestHostApp.framework; path = "Pods-AWSAppSyncTestHostApp.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0389BB838CB34C9B610CE601B3851B79 /* SQLite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLite.h; path = Sources/SQLite/SQLite.h; sourceTree = ""; }; - 03A7A729FE4A0CAABB83EE077269FBF5 /* AWSCancellationTokenRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationTokenRegistration.h; path = AWSCore/Bolts/AWSCancellationTokenRegistration.h; sourceTree = ""; }; - 044B5BBB48B24B9AC7457B0F589531C0 /* AWSCognitoAuthUICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuthUICKeyChainStore.h; path = AWSCognitoAuth/Internal/UICKeyChainStore/AWSCognitoAuthUICKeyChainStore.h; sourceTree = ""; }; - 06F71D5F7C5827B7531BFAC20F48E982 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; - 07D6A7E0DFBFBB20F85CB70BF9964BFF /* AWSMobileOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileOptions.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileOptions.swift; sourceTree = ""; }; + 02A0C02E510843DB1CE885AF9D12D591 /* AWSSTS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTS.h; path = AWSCore/STS/AWSSTS.h; sourceTree = ""; }; + 0330C0738E8490EB94BB708B0FE97B22 /* AWSCognitoIdentityProviderASF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderASF.h; path = AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.h; sourceTree = ""; }; + 0482F728BBF1D6C65450FA38F6CCA243 /* FABAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABAttributes.h; path = AWSCore/Fabric/FABAttributes.h; sourceTree = ""; }; + 04C295CF72814DE30D3EADF21012A526 /* AWSCognitoIdentityUser_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUser_Internal.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityUser_Internal.h; sourceTree = ""; }; + 05034E39EB153A21F06EAE7511FAC2CC /* AWSDDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDTTYLogger.m; path = AWSCore/Logging/AWSDDTTYLogger.m; sourceTree = ""; }; + 05A66BD3CCC52D156A30C5CA1B3B2EFC /* _AWSMobileClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _AWSMobileClient.m; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.m; sourceTree = ""; }; + 05BC1DC119C21C0BFF7EDDB5467AF63A /* AWSCancellationTokenSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationTokenSource.h; path = AWSCore/Bolts/AWSCancellationTokenSource.h; sourceTree = ""; }; + 05EBDEC0F0F3B3253845F7C91CD9890F /* AWSCognitoIdentityProviderModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderModel.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m; sourceTree = ""; }; + 064B87BCF17996CD985E883C900A3335 /* AWSXMLWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSXMLWriter.h; path = AWSCore/XMLWriter/AWSXMLWriter.h; sourceTree = ""; }; + 06689F760F8AF36385F144E6CDEAF9E8 /* AWSMobileClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSMobileClient.release.xcconfig; sourceTree = ""; }; + 06D6385D622115914F8B1F009C3EBF34 /* AWSExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSExecutor.h; path = AWSCore/Bolts/AWSExecutor.h; sourceTree = ""; }; 07D84F970096693EE14F6B22EF6B6F0F /* Pods-AWSAppSyncUnitTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSyncUnitTests-acknowledgements.markdown"; sourceTree = ""; }; + 07FE01ED3D06AB7DB9625AF0DE4A739A /* AppSyncSubscriptionConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncSubscriptionConnection.swift; path = AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift; sourceTree = ""; }; 080F3AC91D597C0CC9E83218742802D8 /* Pods-ApolloTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ApolloTests-Info.plist"; sourceTree = ""; }; - 083FF44CD44CD6B3390F56580EBEACD7 /* _AWSMobileClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _AWSMobileClient.h; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.h; sourceTree = ""; }; - 08F293F1B985A8B32F94B0E13C84521C /* AWSAuthCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSAuthCore.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthCore.h; sourceTree = ""; }; - 09C356A966D7D64AFC7D74FB6CB8922C /* AWSMobileClient-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSMobileClient-umbrella.h"; sourceTree = ""; }; + 0A6AE811BF24686175BF161248799A77 /* AWSDDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDOSLogger.h; path = AWSCore/Logging/AWSDDOSLogger.h; sourceTree = ""; }; 0A6F731DDC9602EDF56B9CA4CC20DCAF /* Pods-AWSAppSyncUnitTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSyncUnitTests-umbrella.h"; sourceTree = ""; }; - 0AD37DBC4FCF500D2CA29F67AFD7EA14 /* SQLite.swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-prefix.pch"; sourceTree = ""; }; - 0B642C7C2C205ACF2616CC8604F68545 /* AWSCancellationTokenRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationTokenRegistration.m; path = AWSCore/Bolts/AWSCancellationTokenRegistration.m; sourceTree = ""; }; + 0B0469E1A5C6F8691E08BADE67A067E7 /* SQLite.swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLite.swift-dummy.m"; sourceTree = ""; }; 0B79EB3FF2A32A59B6114724DCDB2050 /* Pods-ApolloTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ApolloTests-acknowledgements.markdown"; sourceTree = ""; }; - 0C7F2CB0C83083EC96EEEEFFB526B4F9 /* AWSS3PreSignedURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3PreSignedURL.h; path = AWSS3/AWSS3PreSignedURL.h; sourceTree = ""; }; - 0E3EDB574B0D8B9A170F608A4D3B1095 /* AWSCognitoIdentityService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityService.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityService.h; sourceTree = ""; }; + 0B82B8A201EDFFFE45D53FA749442190 /* ReachabilitySwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ReachabilitySwift-dummy.m"; sourceTree = ""; }; + 0B9CFF4B8585697E000A7491742F5479 /* AWSS3Serializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Serializer.m; path = AWSS3/AWSS3Serializer.m; sourceTree = ""; }; + 0BEE4CD2DB40584D88F9D96680DB8E76 /* AWSModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSModel.m; path = AWSCore/Utility/AWSModel.m; sourceTree = ""; }; + 0CD91719B24E902E66C63FF569AC530B /* AWSMobileClient-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSMobileClient-dummy.m"; sourceTree = ""; }; + 0D5A79411614F3FD1570658C2406E039 /* AWSValidation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSValidation.h; path = AWSCore/Serialization/AWSValidation.h; sourceTree = ""; }; + 0E2031029F57C0202DB62883B872D6F0 /* AWSCancellationTokenRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationTokenRegistration.m; path = AWSCore/Bolts/AWSCancellationTokenRegistration.m; sourceTree = ""; }; 0E7975B0059C2DE9ECC077F957CE837E /* AWSCognitoIdentityProvider.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AWSCognitoIdentityProvider.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0F080112AB3F2DDA36C0D19ABDC0FEB8 /* AWSMTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSMTLModel+NSCoding.m"; path = "AWSCore/Mantle/AWSMTLModel+NSCoding.m"; sourceTree = ""; }; - 0FB4B57601C04A21A6AEBA2215C7B329 /* SQLite.swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SQLite.swift-dummy.m"; sourceTree = ""; }; - 0FEE504C6AE91BCF520865BAD91EA2F2 /* AWSCognitoIdentityModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityModel.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityModel.m; sourceTree = ""; }; - 104994536BBFF5187C98EFFA19159528 /* aws_tommath_class.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath_class.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath_class.h; sourceTree = ""; }; - 108DBE2CE75B24468D0E662D498932AC /* AWSMobileClientXCF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMobileClientXCF.h; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientXCF.h; sourceTree = ""; }; - 1146F8E557EC6C9C589F8A1886E5390F /* AWSSignInManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInManager.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInManager.h; sourceTree = ""; }; - 1264E7F05AC26A89E331FF0BF7E02C90 /* AWSCognitoIdentityUserPool_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUserPool_Internal.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityUserPool_Internal.h; sourceTree = ""; }; - 12EB737714B8C792271560205AE7597D /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Sources/Starscream/SSLSecurity.swift; sourceTree = ""; }; - 147D13DB905F3E96E568674C16C52E1A /* ReachabilitySwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.release.xcconfig; sourceTree = ""; }; - 148A75265746E6F6CB829A8C36A6C143 /* AWSTimestampSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTimestampSerialization.m; path = AWSCore/Serialization/AWSTimestampSerialization.m; sourceTree = ""; }; - 163A772367B3FF9875BCA61F475AEE70 /* AWSIdentityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSIdentityManager.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSIdentityManager.h; sourceTree = ""; }; - 16B08A407D12B219EF15893161A9B188 /* ReachabilitySwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ReachabilitySwift.modulemap; sourceTree = ""; }; - 17249D7489BA09B53EB53D04173F199F /* AWSURLRequestRetryHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLRequestRetryHandler.m; path = AWSCore/Serialization/AWSURLRequestRetryHandler.m; sourceTree = ""; }; - 1760B117177DB50D3124422AE652DE30 /* AWSBolts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSBolts.h; path = AWSCore/Bolts/AWSBolts.h; sourceTree = ""; }; - 18F15600207EF4F9E88CD1FB3B77197C /* AWSS3.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSS3.release.xcconfig; sourceTree = ""; }; - 198B22D95C81900C86C8165818BEBD29 /* AWSModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSModel.h; path = AWSCore/Utility/AWSModel.h; sourceTree = ""; }; - 19CA88A35DF75744CF9E7E3B4E1B4873 /* AWSEXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTRuntimeExtensions.h; path = AWSCore/Mantle/extobjc/AWSEXTRuntimeExtensions.h; sourceTree = ""; }; + 0EBB9CE66A91A8805FD227A851B608BB /* AWSS3Model.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Model.m; path = AWSS3/AWSS3Model.m; sourceTree = ""; }; + 0FCE149A46E0E56D26165ABF41290D8F /* AWSURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLResponseSerialization.h; path = AWSCore/Serialization/AWSURLResponseSerialization.h; sourceTree = ""; }; + 116FA08B0E0EFAB6D7ABCF84DD2A385B /* NSError+AWSMTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+AWSMTLModelException.m"; path = "AWSCore/Mantle/NSError+AWSMTLModelException.m"; sourceTree = ""; }; + 120A1EF99909C201109CB93C3057197E /* AWSCocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCocoaLumberjack.h; path = AWSCore/Logging/AWSCocoaLumberjack.h; sourceTree = ""; }; + 1372DBF2ACB25037F35DA3EA295C4741 /* CoreFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoreFunctions.swift; path = Sources/SQLite/Typed/CoreFunctions.swift; sourceTree = ""; }; + 1408BFA88133B4F789CE9BB65BC4B12F /* AtomicValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicValue.swift; path = AppSyncRealTimeClient/Support/AtomicValue.swift; sourceTree = ""; }; + 1439DB0FD414EBCBADEA12B632EB0D05 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; + 14556AD603E9AE6ED8138D781CECD0FD /* AWSSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSerialization.h; path = AWSCore/Serialization/AWSSerialization.h; sourceTree = ""; }; + 1465389819E154FC9DAD787A1B307069 /* AWSFMDatabaseAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabaseAdditions.h; path = AWSCore/FMDB/AWSFMDatabaseAdditions.h; sourceTree = ""; }; + 14799BFB672FE8F20CFD22F2B8A5ECDD /* SQLite.swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SQLite.swift.modulemap; sourceTree = ""; }; + 1488D7FEADC52EAF1C5F96C336E35A72 /* AWSIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSIdentityProvider.h; path = AWSCore/Authentication/AWSIdentityProvider.h; sourceTree = ""; }; + 14EC525B589E290CDC85010599A94BFD /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/SQLite/Core/Errors.swift; sourceTree = ""; }; + 1537D24B473082AF1CA051A4ECD0F39E /* RealtimeGatewayURLInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeGatewayURLInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/RealtimeGatewayURLInterceptor.swift; sourceTree = ""; }; + 16140BD7BFD61A89571CED0D6F9D35F0 /* NSDictionary+AWSMTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+AWSMTLManipulationAdditions.h"; path = "AWSCore/Mantle/NSDictionary+AWSMTLManipulationAdditions.h"; sourceTree = ""; }; + 1772500BA668FED37F3FFB54D5CEF90F /* AWSCognitoIdentityProviderModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderModel.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h; sourceTree = ""; }; + 179AFCDBE855128B4F4A7519D79F02CD /* AppSyncRealTimeClient-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AppSyncRealTimeClient-Info.plist"; sourceTree = ""; }; + 1880515C2DAC5861F80C331688C76D20 /* AWSFMDatabaseQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabaseQueue.h; path = AWSCore/FMDB/AWSFMDatabaseQueue.h; sourceTree = ""; }; + 18C19AB1F3A4B5C99B2DC374AF098A4B /* AppSyncJSONHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncJSONHelper.swift; path = AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift; sourceTree = ""; }; + 19BE8591EAA5405EB333AA466DCC9042 /* AWSDDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDAbstractDatabaseLogger.h; path = AWSCore/Logging/AWSDDAbstractDatabaseLogger.h; sourceTree = ""; }; 19CCC50F989EF86490C8A062E92CD482 /* Pods-ApolloTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ApolloTests.modulemap"; sourceTree = ""; }; - 1A38F5872837AE34E9547D4141AF3C9F /* AWSFMDatabaseQueue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabaseQueue.h; path = AWSCore/FMDB/AWSFMDatabaseQueue.h; sourceTree = ""; }; - 1AC1EF436DEDC1E05B3641B560D95AF1 /* AWSService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSService.m; path = AWSCore/Service/AWSService.m; sourceTree = ""; }; - 1AC678A249C394D9B19A95367376CE08 /* AWSS3TransferUtilityTasks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtilityTasks.m; path = AWSS3/AWSS3TransferUtilityTasks.m; sourceTree = ""; }; - 1B33B0BA15C5D183EDE97B39E0D2DBB3 /* AWSDDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDContextFilterLogFormatter.m; path = AWSCore/Logging/Extensions/AWSDDContextFilterLogFormatter.m; sourceTree = ""; }; + 1AFCCD7A8EDD863642F8CC6FD543398E /* AWSAuthCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSAuthCore.debug.xcconfig; sourceTree = ""; }; + 1B0C2D49D46BE5EEC096D9D2E9BCB945 /* AWSS3.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSS3.release.xcconfig; sourceTree = ""; }; + 1BC95166A95B987B63AA83427801EE41 /* Reachability.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reachability.swift; path = Sources/Reachability.swift; sourceTree = ""; }; + 1BEF4E62987970472C9316FF3E45E499 /* NSArray+AWSMTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+AWSMTLManipulationAdditions.m"; path = "AWSCore/Mantle/NSArray+AWSMTLManipulationAdditions.m"; sourceTree = ""; }; + 1BF84B7F87111E023024E2B41E3E689B /* FABKitProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABKitProtocol.h; path = AWSCore/Fabric/FABKitProtocol.h; sourceTree = ""; }; + 1C0789D787ED7A4D11930832FDFBE1A7 /* AWSUserPoolOperationsHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSUserPoolOperationsHandler.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSUserPoolOperationsHandler.swift; sourceTree = ""; }; + 1C15CF3D17E203A3EFFC6A82C695A4B2 /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = ""; }; + 1C3C48537F8E5BC12CE03869A43E4506 /* AWSCognitoIdentityProviderService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderService.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h; sourceTree = ""; }; 1C5E4714B64C94CE16847D24CB18A6E9 /* Pods-AWSAppSyncTestHostApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestHostApp-acknowledgements.plist"; sourceTree = ""; }; + 1CB4E00ECE754B8B4F706D5E7B3BA428 /* AWSCognitoAuthUICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuthUICKeyChainStore.h; path = AWSCognitoAuth/Internal/UICKeyChainStore/AWSCognitoAuthUICKeyChainStore.h; sourceTree = ""; }; + 1CC20CAEDF031694E359A9DFAA236D3A /* AWSCognitoIdentityProviderASF-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProviderASF-umbrella.h"; sourceTree = ""; }; 1CD6316D5195F58EABD1723B3C383843 /* Pods-AWSAppSyncIntegrationTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSyncIntegrationTests-umbrella.h"; sourceTree = ""; }; - 1CF9D1B0A6E0128F4B55A7644BD567A2 /* AWSCognitoIdentityResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityResources.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityResources.h; sourceTree = ""; }; + 1D1504212DFF87D8F19A0A6C2E2DEEA5 /* AWSMTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLReflection.h; path = AWSCore/Mantle/AWSMTLReflection.h; sourceTree = ""; }; + 1D211FB291FD2F783C12CF6181A4D097 /* AWSS3.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSS3.debug.xcconfig; sourceTree = ""; }; 1D216CE4A8B6F50D603960D17EE072C6 /* AWSS3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSS3.framework; path = AWSS3.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EDF1587D8CE25C966A666201FCAA0BE /* AWSMantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMantle.h; path = AWSCore/Mantle/AWSMantle.h; sourceTree = ""; }; - 1F2A6730C313E4F03802D992F1AB58E9 /* aws_tommath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath.h; sourceTree = ""; }; - 1F8DC41265FEDA310FF1888F85B23227 /* AWSCognitoIdentityProvider-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCognitoIdentityProvider-Info.plist"; sourceTree = ""; }; - 1FC137E0AD254AB3BD2B1F5C7E4FF6DB /* AWSCognitoIdentityProviderModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderModel.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m; sourceTree = ""; }; - 1FC7A9A53F2CE52AE92934DE7D5A8DC0 /* AWSDDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDAssertMacros.h; path = AWSCore/Logging/AWSDDAssertMacros.h; sourceTree = ""; }; - 200781A87C0EA24AF1163BF2C37D87A1 /* AWSCognitoIdentityProviderResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderResources.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m; sourceTree = ""; }; - 202EA3D29F2DD5D06EF4B5631FF82B4A /* AWSCognitoIdentityProviderASF-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCognitoIdentityProviderASF-dummy.m"; sourceTree = ""; }; - 2076CC7E6625D45F945CA4AE50E24889 /* AWSS3-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSS3-Info.plist"; sourceTree = ""; }; - 21603AB86102150AA4FE15827A4DCD40 /* ReachabilitySwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ReachabilitySwift-dummy.m"; sourceTree = ""; }; + 1FF0051E3A8D667DC9F1056D19D476CE /* AWSNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNetworking.m; path = AWSCore/Networking/AWSNetworking.m; sourceTree = ""; }; + 2056F1EC5C934691A6CDEB1BAED84FE4 /* AWSURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLSessionManager.h; path = AWSCore/Networking/AWSURLSessionManager.h; sourceTree = ""; }; + 20FD6D1C7F2128DE6C362D4FFBF73D92 /* AWSCognitoIdentityProviderResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderResources.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h; sourceTree = ""; }; + 21398801150101DA0622EC11C32EC9F9 /* AWSCancellationTokenRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationTokenRegistration.h; path = AWSCore/Bolts/AWSCancellationTokenRegistration.h; sourceTree = ""; }; 21B03CA622E690725A6626C088E1D09F /* Reachability.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Reachability.framework; path = ReachabilitySwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22374EF8A161F9B0884E7DA2CA1C70B3 /* AWSSTSService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSService.m; path = AWSCore/STS/AWSSTSService.m; sourceTree = ""; }; + 21DAE1506B76A88D447B406D48A9EFD7 /* AWSURLRequestRetryHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLRequestRetryHandler.m; path = AWSCore/Serialization/AWSURLRequestRetryHandler.m; sourceTree = ""; }; + 21F2C2BCB788B4A41DEF36BE1DB8D46C /* AWSURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLResponseSerialization.m; path = AWSCore/Serialization/AWSURLResponseSerialization.m; sourceTree = ""; }; + 233860740D51E40D040279CF278B7159 /* AWSService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSService.h; path = AWSCore/Service/AWSService.h; sourceTree = ""; }; 23BBF96B456626F26AD814C35A720195 /* Pods_AWSAppSyncUnitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSyncUnitTests.framework; path = "Pods-AWSAppSyncUnitTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 24682F00E7B26C71E8202BB83499CAF7 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+ConnectionInterceptable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+ConnectionInterceptable.swift"; sourceTree = ""; }; + 23C5E050448884F1C09FCB84EEE10886 /* SQLiteObjc.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SQLiteObjc.m; path = Sources/SQLiteObjc/SQLiteObjc.m; sourceTree = ""; }; 247391C84BD2716FFCD75881080C9093 /* Pods-AWSAppSyncTestApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AWSAppSyncTestApp-frameworks.sh"; sourceTree = ""; }; - 249C973943176DC503E48EF46B5F7AC5 /* AWSCognitoIdentityProviderHKDF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderHKDF.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderHKDF.h; sourceTree = ""; }; + 2478441E521A0B0EFBD4EC041E30788F /* NSObject+AWSMTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+AWSMTLComparisonAdditions.h"; path = "AWSCore/Mantle/NSObject+AWSMTLComparisonAdditions.h"; sourceTree = ""; }; + 248EBDFB48BCCE23B07865003CB04C05 /* Blob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blob.swift; path = Sources/SQLite/Core/Blob.swift; sourceTree = ""; }; 254944609F8E085A6EFCCA553796AFEC /* Pods_AWSAppSync.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSync.framework; path = "Pods-AWSAppSync.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2579E1ED5FE95C8159316351580E2CA3 /* AWSMobileClient-Mixed-Swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMobileClient-Mixed-Swift.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClient-Mixed-Swift.h"; sourceTree = ""; }; + 25AEE152823311B82BD4764CC48060BE /* AWSMobileClient-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSMobileClient-umbrella.h"; sourceTree = ""; }; + 25B0461FA8422A6E210EC4D4806981A2 /* AppSyncMessage+Encodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncMessage+Encodable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage+Encodable.swift"; sourceTree = ""; }; 26687424923F910CD2CFBAC98164D553 /* Pods-AWSAppSyncIntegrationTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncIntegrationTests-Info.plist"; sourceTree = ""; }; - 275B2272189577B513A15AF411D03C93 /* AWSCognitoIdentityUser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityUser.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m; sourceTree = ""; }; - 2879DE7EBCD30596277C5E688A823559 /* FABKitProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABKitProtocol.h; path = AWSCore/Fabric/FABKitProtocol.h; sourceTree = ""; }; - 28AE68D01A0FF859AE90B7C79593BB26 /* FTS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS5.swift; path = Sources/SQLite/Extensions/FTS5.swift; sourceTree = ""; }; - 28BEF08B909833FF10E173A36E483301 /* AppSyncWebsocketProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncWebsocketProvider.swift; path = AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift; sourceTree = ""; }; - 2951457EBDC8396016EEBFD09853A0BD /* Reachability.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reachability.swift; path = Sources/Reachability.swift; sourceTree = ""; }; - 2999A6A672FC2AFAF90EFD161EE77E63 /* AWSMobileClient-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSMobileClient-Info.plist"; sourceTree = ""; }; - 2A4A99B4B4F341916793103967D8FE31 /* Collation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Collation.swift; path = Sources/SQLite/Typed/Collation.swift; sourceTree = ""; }; + 270F53841164E39850C076DA000D3332 /* aws_tommath_superclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath_superclass.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath_superclass.h; sourceTree = ""; }; + 27145DBD2A68FD6408F77D4F0AA5EF73 /* SubscriptionConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConstants.swift; path = AppSyncRealTimeClient/Support/SubscriptionConstants.swift; sourceTree = ""; }; + 2916502995C36C2CEFB41B1C1B0B9BA1 /* AWSInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSInfo.h; path = AWSCore/Service/AWSInfo.h; sourceTree = ""; }; + 29ACAB893B8B08452B243D4346BDB5A7 /* APIKeyAuthInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIKeyAuthInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift; sourceTree = ""; }; + 2A2643F856E049A1F967AB55DB4D1DC1 /* InterceptableConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InterceptableConnection.swift; path = AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection.swift; sourceTree = ""; }; + 2A4483432FBD5E418990AD96074E5347 /* AWSTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTask.h; path = AWSCore/Bolts/AWSTask.h; sourceTree = ""; }; 2A4E5DB3D58FE9ADF76B8B7CA8EA3959 /* Pods-AWSAppSyncTestHostApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSyncTestHostApp-umbrella.h"; sourceTree = ""; }; - 2A85F42E4ECEA36DD42D3BDF6ACA9F2C /* AWSCognitoIdentityProviderASF.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCognitoIdentityProviderASF.modulemap; sourceTree = ""; }; - 2BE9F02307244EF88D10A06ED41FDFE2 /* AWSNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNetworking.m; path = AWSCore/Networking/AWSNetworking.m; sourceTree = ""; }; - 2D2D8A155D5CA52CB0A4591C4A1567F2 /* AWSEXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSEXTScope.m; path = AWSCore/Mantle/extobjc/AWSEXTScope.m; sourceTree = ""; }; + 2B40C344E8741A8383DBC6C5BC97BAEC /* AWSCancellationToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationToken.h; path = AWSCore/Bolts/AWSCancellationToken.h; sourceTree = ""; }; + 2B72A35187FF658E61C7160B17D1CBAB /* AppSyncRealTimeClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppSyncRealTimeClient.debug.xcconfig; sourceTree = ""; }; + 2B883A0E6B17A2CE045B79769C981C64 /* AWSTaskCompletionSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTaskCompletionSource.m; path = AWSCore/Bolts/AWSTaskCompletionSource.m; sourceTree = ""; }; + 2BC77D9C53DAA3E0A10BAB25E98E92AB /* AppSyncMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncMessage.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift; sourceTree = ""; }; + 2C4B15AB7CB8B79C8F53F553537CC820 /* AWSXMLDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSXMLDictionary.h; path = AWSCore/XMLDictionary/AWSXMLDictionary.h; sourceTree = ""; }; 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 2E3A77A47FB4C801CC8E1559B10D51EA /* AppSyncSubscriptionConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncSubscriptionConnection.swift; path = AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift; sourceTree = ""; }; - 2EA9923382348B47C616072E566D3B68 /* AWSSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSerialization.h; path = AWSCore/Serialization/AWSSerialization.h; sourceTree = ""; }; - 2F29E7FFFAD7FA29B6CD5CC296E1DEA8 /* AWSCognitoIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProvider.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h; sourceTree = ""; }; - 2F9D290156917F5EFAE0BC5A85AE4991 /* AWSCognitoIdentityProvider-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCognitoIdentityProvider-dummy.m"; sourceTree = ""; }; + 2D50C4C6FE7D4639BE7CA6DCB37ECE2B /* AWSEXTScope.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSEXTScope.m; path = AWSCore/Mantle/extobjc/AWSEXTScope.m; sourceTree = ""; }; + 2F3C138148AAC2294F575CDB49C3EC70 /* AWSFMResultSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMResultSet.m; path = AWSCore/FMDB/AWSFMResultSet.m; sourceTree = ""; }; + 2FBE82DC160024EA0C01A5B3CB414561 /* AWSCognitoIdentityASF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityASF.h; path = AWSCognitoIdentityProviderASF/Internal/AWSCognitoIdentityASF.h; sourceTree = ""; }; 2FF8CBF8F8F95671E361BFFCF1C263F6 /* Pods-AWSAppSyncIntegrationTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSyncIntegrationTests-acknowledgements.markdown"; sourceTree = ""; }; - 311D5C09FE9122EFCF19C99E976472EC /* _AWSMobileClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _AWSMobileClient.m; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.m; sourceTree = ""; }; - 3133285BE0A8F478083EAE8B703AEB91 /* AWSURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLRequestSerialization.h; path = AWSCore/Serialization/AWSURLRequestSerialization.h; sourceTree = ""; }; - 313A5E2082F75C91F809A808D53E15BF /* AWSDDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLegacyMacros.h; path = AWSCore/Logging/AWSDDLegacyMacros.h; sourceTree = ""; }; + 3086B349EBE695D4F7BF3C0C56E1080A /* AWSS3-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSS3-Info.plist"; sourceTree = ""; }; + 3136E3E49C24E8B0C12498A8B750C03D /* AWSCognitoIdentityProviderASF-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProviderASF-prefix.pch"; sourceTree = ""; }; + 317B506821312CEF760A23D4CA62B0EB /* AWSUICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSUICKeyChainStore.m; path = AWSCore/UICKeyChainStore/AWSUICKeyChainStore.m; sourceTree = ""; }; 3223D523FFC3DE4D13BA82B3F274E015 /* Pods-AWSAppSyncUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncUnitTests.debug.xcconfig"; sourceTree = ""; }; - 337BB189C50B1F1328A9FE4BE818B3A6 /* AWSService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSService.h; path = AWSCore/Service/AWSService.h; sourceTree = ""; }; - 3430A4CC002946A630B4BB010D8F741E /* AWSXMLWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSXMLWriter.h; path = AWSCore/XMLWriter/AWSXMLWriter.h; sourceTree = ""; }; - 34A3290C70564E35AA79390199F330B1 /* InterceptableConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = InterceptableConnection.swift; path = AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection.swift; sourceTree = ""; }; - 34C2DFB55A5904235DEEEC2F46EFFE9D /* AWSSTSResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSResources.h; path = AWSCore/STS/AWSSTSResources.h; sourceTree = ""; }; - 35057B2B4436EC624A5E017D060AA5E5 /* AtomicValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AtomicValue.swift; path = AppSyncRealTimeClient/Support/AtomicValue.swift; sourceTree = ""; }; - 363CB0DA5880F81EC9A06801833CF130 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/SQLite/Core/Errors.swift; sourceTree = ""; }; - 37101759045DBB7D60DAFB7EC1974CA0 /* AWSCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCore-prefix.pch"; sourceTree = ""; }; - 386E2C7E783E74967487F1372F500977 /* AWSCancellationToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationToken.h; path = AWSCore/Bolts/AWSCancellationToken.h; sourceTree = ""; }; + 322DF6B6938C52FC7759B185228942B1 /* AWSAuthCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSAuthCore.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthCore.h; sourceTree = ""; }; + 322E62E9B8C3D8BB8AD2CFD65DA9B19F /* AWSMTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLValueTransformer.h; path = AWSCore/Mantle/AWSMTLValueTransformer.h; sourceTree = ""; }; + 336D2225859821C6B3A97A70AA9F5BE8 /* AWSIdentityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSIdentityManager.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSIdentityManager.m; sourceTree = ""; }; + 3455B20596763619C6635782D5349C18 /* AWSDDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDASLLogger.h; path = AWSCore/Logging/AWSDDASLLogger.h; sourceTree = ""; }; + 3463876276536145189472BBB7CBC0CC /* NSValueTransformer+AWSMTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+AWSMTLInversionAdditions.m"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLInversionAdditions.m"; sourceTree = ""; }; + 3480C2DD5D6D9444D68271AFE11888CD /* AWSS3Resources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Resources.m; path = AWSS3/AWSS3Resources.m; sourceTree = ""; }; + 354934565F86A44E53ACCAE5A3BDCBFD /* AWSFMDatabaseAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabaseAdditions.m; path = AWSCore/FMDB/AWSFMDatabaseAdditions.m; sourceTree = ""; }; + 362C3977E079434AFE2060800D1E7A0E /* aws_tommath_class.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath_class.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath_class.h; sourceTree = ""; }; + 37375A42ADADD80C97E6C9F158C9FADF /* AWSDDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDAbstractDatabaseLogger.m; path = AWSCore/Logging/AWSDDAbstractDatabaseLogger.m; sourceTree = ""; }; + 37806ADE597DC98B838FADA59C85A973 /* NSArray+AWSMTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+AWSMTLManipulationAdditions.h"; path = "AWSCore/Mantle/NSArray+AWSMTLManipulationAdditions.h"; sourceTree = ""; }; + 378297A4B801243E23BFAFD7C8E5A5D7 /* AWSDDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDOSLogger.m; path = AWSCore/Logging/AWSDDOSLogger.m; sourceTree = ""; }; + 37FD3BB77403AF08E2DD7CE5AC51C8BF /* AWSMTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLJSONAdapter.h; path = AWSCore/Mantle/AWSMTLJSONAdapter.h; sourceTree = ""; }; + 3879728B9A31BA93B28C90D62820B1E2 /* SQLite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLite.h; path = Sources/SQLite/SQLite.h; sourceTree = ""; }; 389829DD1C4C0C9B6489B3AA9150432F /* Pods-AWSAppSyncUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncUnitTests.release.xcconfig"; sourceTree = ""; }; - 38E648B3063EA451EFEEF47D333DD564 /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = ""; }; - 3A4FA3EB423302AAB4928E9185AAAD47 /* AWSFMResultSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMResultSet.h; path = AWSCore/FMDB/AWSFMResultSet.h; sourceTree = ""; }; - 3A636D396EAFDAA2BF6C03ADB0A60A7D /* AWSCognitoIdentityASF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityASF.m; path = AWSCognitoIdentityProviderASF/Internal/AWSCognitoIdentityASF.m; sourceTree = ""; }; - 3B88BFA948879CFC86534CD7A30858E7 /* AWSMobileClient-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSMobileClient-prefix.pch"; sourceTree = ""; }; - 3D57180C2CFAB3EF5F770DEC3036B12B /* SQLite.swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SQLite.swift.modulemap; sourceTree = ""; }; - 3EB33BD5A9ECB5FD2C0DE4BD566E601C /* CountdownTimer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CountdownTimer.swift; path = AppSyncRealTimeClient/Support/CountdownTimer.swift; sourceTree = ""; }; - 3ED33C8BB7B3177EA8FC99ECEC63C30A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; - 3FA13A1E5C054ECA4DD1C6601BB17887 /* AWSSignInButtonView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInButtonView.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInButtonView.h; sourceTree = ""; }; - 403A25F61A51AA9F699E807BDFAE5243 /* AWSURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLRequestSerialization.m; path = AWSCore/Serialization/AWSURLRequestSerialization.m; sourceTree = ""; }; - 412384FD6E5746341923BE8932EF7415 /* AggregateFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AggregateFunctions.swift; path = Sources/SQLite/Typed/AggregateFunctions.swift; sourceTree = ""; }; + 38D23668157F6DAE937A42F5A9CB8777 /* tommath.c */ = {isa = PBXFileReference; includeInIndex = 1; name = tommath.c; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c; sourceTree = ""; }; + 39397C1D4B3B5BB8709FE4E242B0AF3F /* AWSFMDatabase+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSFMDatabase+Private.h"; path = "AWSCore/FMDB/AWSFMDatabase+Private.h"; sourceTree = ""; }; + 3B3FB71BC9ADBDDAD067EB5C6A682042 /* AWSDDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDFileLogger.h; path = AWSCore/Logging/AWSDDFileLogger.h; sourceTree = ""; }; + 3CEA655A8E276E9391C6FD535A227F0A /* AWSS3TransferUtilityBlocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtilityBlocks.h; path = AWSS3/AWSS3TransferUtilityBlocks.h; sourceTree = ""; }; + 3D6CA55C8F106136CD1F0538E97F16EB /* AWSSignInManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInManager.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInManager.h; sourceTree = ""; }; + 3DCC246FB3EDCCBF0D1910054F54BD4B /* AWSBolts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSBolts.m; path = AWSCore/Bolts/AWSBolts.m; sourceTree = ""; }; + 3F7D0B06BC5AE9DE878976B1EDDE9380 /* AWSS3PreSignedURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3PreSignedURL.m; path = AWSS3/AWSS3PreSignedURL.m; sourceTree = ""; }; + 40F920C60A809F7A5EDE3E44EBB72812 /* AWSMTLManagedObjectAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLManagedObjectAdapter.m; path = AWSCore/Mantle/AWSMTLManagedObjectAdapter.m; sourceTree = ""; }; 4173269ADB6261AABA30415E3B9A005D /* Pods-ApolloTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ApolloTests.release.xcconfig"; sourceTree = ""; }; - 41EEFCD72D4836216713DE0020B17C1A /* AWSClientContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSClientContext.m; path = AWSCore/Service/AWSClientContext.m; sourceTree = ""; }; - 42138D1B06BAF0A3D5D80730F11128A0 /* AWSCognitoIdentityProviderASF-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProviderASF-umbrella.h"; sourceTree = ""; }; - 42336D0A812EBC95347738349B6A814D /* AWSCognitoIdentityProvider.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCognitoIdentityProvider.modulemap; sourceTree = ""; }; - 423F82D43D04007D9E5FDF05823E05F1 /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; - 4240EE4E9772FA1F72C71B9534269988 /* AWSTimestampSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTimestampSerialization.h; path = AWSCore/Serialization/AWSTimestampSerialization.h; sourceTree = ""; }; - 4273E43D4232B0064005AAF2A83CE5F8 /* AWSCognitoAuth.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoAuth.m; path = AWSCognitoAuth/AWSCognitoAuth.m; sourceTree = ""; }; - 44122B77D68BD5AC6EDCFE9E9339FFDB /* DateAndTimeFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateAndTimeFunctions.swift; path = Sources/SQLite/Typed/DateAndTimeFunctions.swift; sourceTree = ""; }; - 44A68086272BFACC519E538E712A3961 /* SQLiteObjc.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SQLiteObjc.m; path = Sources/SQLiteObjc/SQLiteObjc.m; sourceTree = ""; }; + 4185019E82437205220D28D4FEBB3498 /* AWSMantle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMantle.h; path = AWSCore/Mantle/AWSMantle.h; sourceTree = ""; }; + 4218E18E98A6263C14EF4DC9360B52A0 /* RealtimeConnectionProvider+MessageInterceptable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+MessageInterceptable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+MessageInterceptable.swift"; sourceTree = ""; }; + 421C8FC45E1280C7E2C16379B2F77DE4 /* AWSSTSModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSModel.m; path = AWSCore/STS/AWSSTSModel.m; sourceTree = ""; }; + 42998E72838ACCABFF2EE1C69EC38938 /* AWSSTSResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSResources.h; path = AWSCore/STS/AWSSTSResources.h; sourceTree = ""; }; + 432C8FFBCC54CCB771E0DC06FA589714 /* AWSCognitoIdentity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentity.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentity.h; sourceTree = ""; }; + 437685D91D6475B078EF0C31F342551C /* AWSAuthCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSAuthCore-dummy.m"; sourceTree = ""; }; 453B90D233853D3153016E9F53F7D636 /* Pods-AWSAppSyncTestApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSyncTestApp-umbrella.h"; sourceTree = ""; }; - 4553AE6C8834BDAF73C21762E525675D /* AWSIdentityProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSIdentityProvider.m; path = AWSCore/Authentication/AWSIdentityProvider.m; sourceTree = ""; }; - 45CC3D4CC83089AC6A5504ACAE473F99 /* AWSS3TransferUtility+HeaderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSS3TransferUtility+HeaderHelper.m"; path = "AWSS3/AWSS3TransferUtility+HeaderHelper.m"; sourceTree = ""; }; - 46035C95AAF9696C2EA02F54977EB935 /* AppSyncJSONHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncJSONHelper.swift; path = AppSyncRealTimeClient/Support/AppSyncJSONHelper.swift; sourceTree = ""; }; - 468D8DEEE14CEFA138DEDF8623C7ECA4 /* AWSCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCore.h; path = AWSCore/AWSCore.h; sourceTree = ""; }; - 46F8B81E3251C80C2D864D264954DD94 /* Blob.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blob.swift; path = Sources/SQLite/Core/Blob.swift; sourceTree = ""; }; - 46FCD2196AE5DFE8DD3D756690B525CD /* AWSValidation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSValidation.h; path = AWSCore/Serialization/AWSValidation.h; sourceTree = ""; }; - 47BE209438E8170E884E2191756157C3 /* AWSDDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDTTYLogger.m; path = AWSCore/Logging/AWSDDTTYLogger.m; sourceTree = ""; }; - 483259F173ACC61AEA7FAE9F0F5A4977 /* AWSNSCodingUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNSCodingUtilities.h; path = AWSCore/Utility/AWSNSCodingUtilities.h; sourceTree = ""; }; + 4562769E4D1982AADAA3436C004CB427 /* AWSCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCore.modulemap; sourceTree = ""; }; + 45B5718D6B206B353B159B48117A405F /* Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Foundation.swift; path = Sources/SQLite/Foundation.swift; sourceTree = ""; }; + 45DFE681029BF6918520479369ECDBEB /* AWSDDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDAssertMacros.h; path = AWSCore/Logging/AWSDDAssertMacros.h; sourceTree = ""; }; + 465DE2B27F1EDC326106C30149D35483 /* AWSUserPoolCustomAuthHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSUserPoolCustomAuthHandler.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSUserPoolCustomAuthHandler.swift; sourceTree = ""; }; + 474AA90499D8F4CA54909630CCC1561B /* AWSJKBigInteger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSJKBigInteger.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigInteger.h; sourceTree = ""; }; + 4774C1CBA850E8902560536275AB94D5 /* AWSSignInProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInProvider.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInProvider.h; sourceTree = ""; }; + 4833DDDD4333D63F0DB86844B0D7D970 /* AWSS3RequestRetryHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3RequestRetryHandler.m; path = AWSS3/AWSS3RequestRetryHandler.m; sourceTree = ""; }; 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 49C92F354F289409DABE45D98908263B /* Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Connection.swift; path = Sources/SQLite/Core/Connection.swift; sourceTree = ""; }; - 4A1305E6E02CE0D7A5B821B3168F4005 /* DeviceOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeviceOperations.swift; path = AWSAuthSDK/Sources/AWSMobileClient/DeviceOperations.swift; sourceTree = ""; }; - 4A55CCD6471F7535EAB0C36873A3177E /* ReachabilitySwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-prefix.pch"; sourceTree = ""; }; - 4ACAD9219BC0E689CF1A4497F1129FBA /* AWSSynchronizedMutableDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSynchronizedMutableDictionary.h; path = AWSCore/Utility/AWSSynchronizedMutableDictionary.h; sourceTree = ""; }; - 4BCCB527A5B2D996D5EF7F17899BB327 /* AWSLogging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSLogging.m; path = AWSCore/Utility/AWSLogging.m; sourceTree = ""; }; - 4C58965AC14148FA00E6C3DD3F63C33E /* OIDCAuthInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OIDCAuthInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift; sourceTree = ""; }; - 4E37D6D62FD2AA68E3478256B5C76089 /* AWSFMDB+AWSHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSFMDB+AWSHelpers.m"; path = "AWSCore/FMDB/AWSFMDB+AWSHelpers.m"; sourceTree = ""; }; + 496AFA317E3B6DFBC666EDE0C73F9D7C /* AppSyncRealTimeClient-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AppSyncRealTimeClient-prefix.pch"; sourceTree = ""; }; + 4A031454E74D05C1B0D988D7A72D5CF4 /* AWSXMLWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSXMLWriter.m; path = AWSCore/XMLWriter/AWSXMLWriter.m; sourceTree = ""; }; + 4A34C7FE8693DFCA71C1D5B1AC2EB0F7 /* AWSSTSModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSModel.h; path = AWSCore/STS/AWSSTSModel.h; sourceTree = ""; }; + 4B00B90A0C2ECC6A69AFA04AFCEBE2FB /* SQLite.swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-umbrella.h"; sourceTree = ""; }; + 4C7914C72795D4884C1579B18955FAD2 /* NSError+AWSMTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+AWSMTLModelException.h"; path = "AWSCore/Mantle/NSError+AWSMTLModelException.h"; sourceTree = ""; }; + 4D28E46D217AD575E2D63F8EFD124BF9 /* AWSS3.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSS3.modulemap; sourceTree = ""; }; + 4E004B456C5659E1E6D89CB750FE338B /* AWSNSCodingUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNSCodingUtilities.h; path = AWSCore/Utility/AWSNSCodingUtilities.h; sourceTree = ""; }; + 4E696F74591E6C99BC034AAD091FEECC /* Schema.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Schema.swift; path = Sources/SQLite/Typed/Schema.swift; sourceTree = ""; }; 4F692ACEA599D56255144D6D7C75BA58 /* Pods-AWSAppSyncTestApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestApp.debug.xcconfig"; sourceTree = ""; }; - 518E8ABBB490E98D9C19C867BB469CD9 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/SQLite/Typed/Expression.swift; sourceTree = ""; }; - 51DAEDF060FA6BB715BCA39E4E717012 /* SQLite.swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SQLite.swift-Info.plist"; sourceTree = ""; }; - 53315FBA87DD6C4FBC19FB83A6169A40 /* AWSSTSResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSResources.m; path = AWSCore/STS/AWSSTSResources.m; sourceTree = ""; }; - 55AFF8A595AEAB53EF1B656C20202CB1 /* AWSGeneric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSGeneric.h; path = AWSCore/Bolts/AWSGeneric.h; sourceTree = ""; }; - 55C0ECC248AD4A0C036D683D2149DE29 /* RealtimeConnectionProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeConnectionProvider.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift; sourceTree = ""; }; - 56D3C6C70238019F698A26854F37C5AE /* AWSS3-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSS3-dummy.m"; sourceTree = ""; }; - 577AD9D20037A49E49F41E31088025BE /* AWSMobileResults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileResults.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileResults.swift; sourceTree = ""; }; - 5786587F97152A42E0AA42DD15D60251 /* RealtimeConnectionProviderResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeConnectionProviderResponse.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift; sourceTree = ""; }; - 5861A606F89A8A3E264E95DA587754DF /* AWSDDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDTTYLogger.h; path = AWSCore/Logging/AWSDDTTYLogger.h; sourceTree = ""; }; - 58A3AD206664B6ED1E8B740D8802AB0B /* AWSCredentialsProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCredentialsProvider.h; path = AWSCore/Authentication/AWSCredentialsProvider.h; sourceTree = ""; }; + 4FA08FFF5D956454EB14501ABCFBB85F /* AWSCognitoIdentity+Fabric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSCognitoIdentity+Fabric.m"; path = "AWSCore/CognitoIdentity/AWSCognitoIdentity+Fabric.m"; sourceTree = ""; }; + 4FF41B0FC773D07A7BD0C0ECF354190C /* AWSNSCodingUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNSCodingUtilities.m; path = AWSCore/Utility/AWSNSCodingUtilities.m; sourceTree = ""; }; + 52B665285AAAD72496F1DE00A627AB19 /* AWSEXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTScope.h; path = AWSCore/Mantle/extobjc/AWSEXTScope.h; sourceTree = ""; }; + 54C4C29635C8334D8668B06DCCC0D58D /* SQLite.swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SQLite.swift-Info.plist"; sourceTree = ""; }; + 5541E64C62A79A166C20A604B52BB450 /* AppSyncWebsocketProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncWebsocketProvider.swift; path = AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift; sourceTree = ""; }; + 55821D4470C60AE7A7882A0FD10820B3 /* AWSFMDB+AWSHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSFMDB+AWSHelpers.h"; path = "AWSCore/FMDB/AWSFMDB+AWSHelpers.h"; sourceTree = ""; }; + 55C47F8C61BA42C28AC0EC00FB23377A /* AWSTimestampSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTimestampSerialization.h; path = AWSCore/Serialization/AWSTimestampSerialization.h; sourceTree = ""; }; + 564ACA81771A5E68ACBFFAC0AC9CBA7B /* AWSTaskCompletionSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTaskCompletionSource.h; path = AWSCore/Bolts/AWSTaskCompletionSource.h; sourceTree = ""; }; + 57E280DEA069EFE4977BC75A61C93EE8 /* AWSValidation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSValidation.m; path = AWSCore/Serialization/AWSValidation.m; sourceTree = ""; }; + 585D0B2BFA01328F724DDCD5420CD067 /* AWSCognitoAuth_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuth_Internal.h; path = AWSCognitoAuth/Internal/AWSCognitoAuth_Internal.h; sourceTree = ""; }; + 587F73B156FF4E96872F34CE940AEE2C /* AWSSynchronizedMutableDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSynchronizedMutableDictionary.m; path = AWSCore/Utility/AWSSynchronizedMutableDictionary.m; sourceTree = ""; }; + 5885646DA37882C5B0D3120C1E995B40 /* AWSSignature.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSignature.m; path = AWSCore/Authentication/AWSSignature.m; sourceTree = ""; }; 592313CB94B49286EEF277EA91D3D95A /* AWSCognitoIdentityProviderASF.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSCognitoIdentityProviderASF.framework; path = AWSCognitoIdentityProviderASF.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 592B2BCB137C9547C58D0FE998ADA977 /* RealtimeConnectionProvider+StaleConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+StaleConnection.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift"; sourceTree = ""; }; - 5A0B5DE20B250D82E05BD7878DB00649 /* AppSyncLogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncLogger.swift; path = AppSyncRealTimeClient/Support/AppSyncLogger.swift; sourceTree = ""; }; - 5B5BAF25B86890E71C047907FEBE799F /* AWSS3Service.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Service.m; path = AWSS3/AWSS3Service.m; sourceTree = ""; }; + 59AED2051663A428B4CE760553E407FD /* AWSCognitoIdentityResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityResources.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityResources.m; sourceTree = ""; }; + 59FAB0170B78D1F89FDFCB5B34A7A2C5 /* AWSLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSLogging.h; path = AWSCore/Utility/AWSLogging.h; sourceTree = ""; }; 5B6A2A474A7E0FC48A4720DE6FA47FDE /* Pods-AWSAppSync-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSync-Info.plist"; sourceTree = ""; }; - 5B79468A83A3BD413A4347094AACE507 /* AppSyncRealTimeClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppSyncRealTimeClient.release.xcconfig; sourceTree = ""; }; - 5B98BF99FACDDE5B5107D2875F99C2C4 /* AWSIdentityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSIdentityManager.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSIdentityManager.m; sourceTree = ""; }; - 5BAEFCE80B5C6A1C149F7DAF4D2A432C /* AWSDDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDOSLogger.m; path = AWSCore/Logging/AWSDDOSLogger.m; sourceTree = ""; }; + 5C75CAAF7F49F89B7051A38707269FE2 /* AWSEXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTKeyPathCoding.h; path = AWSCore/Mantle/extobjc/AWSEXTKeyPathCoding.h; sourceTree = ""; }; 5D02CF5CA5A53E84026EB3AFCE12098F /* Pods-AWSAppSyncIntegrationTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AWSAppSyncIntegrationTests-frameworks.sh"; sourceTree = ""; }; - 5EBBA42BE5D182EBB530876C2A05BE1F /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; - 5F5673774FFD93133DCA1910E2941B38 /* AWSCognitoIdentityProviderASF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderASF.h; path = AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.h; sourceTree = ""; }; + 5D1FA8BF16A8311380A28DCA02A823CA /* AWSCognitoIdentityProviderResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderResources.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m; sourceTree = ""; }; + 5E7DD427478AEE9B1AF58919FD4CD2E1 /* AWSCognitoAuth.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoAuth.m; path = AWSCognitoAuth/AWSCognitoAuth.m; sourceTree = ""; }; + 5EDDB92448F9927B1AAEC7B9753C530B /* fts3_tokenizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fts3_tokenizer.h; path = Sources/SQLiteObjc/fts3_tokenizer.h; sourceTree = ""; }; + 5EF8E6D84E124565D735EC191D71AB9D /* AWSMTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMTLModel+NSCoding.h"; path = "AWSCore/Mantle/AWSMTLModel+NSCoding.h"; sourceTree = ""; }; 5FA201FD7F04844F9B9C1F2974AD9B46 /* AWSCognitoIdentityProvider.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSCognitoIdentityProvider.framework; path = AWSCognitoIdentityProvider.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 610C348F2EDDBCE18C5729E40829EACE /* SubscriptionItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionItem.swift; path = AppSyncRealTimeClient/Connection/SubscriptionItem.swift; sourceTree = ""; }; - 6173466C4E76AC7F519D668823FDE0E2 /* AWSServiceEnum.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSServiceEnum.h; path = AWSCore/Service/AWSServiceEnum.h; sourceTree = ""; }; - 61CF1413BDE3543E96B62177BB9C6522 /* AWSDDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDMultiFormatter.h; path = AWSCore/Logging/Extensions/AWSDDMultiFormatter.h; sourceTree = ""; }; - 61D8CC5C8ADFC988827F26D35DC3B6FB /* Starscream.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.debug.xcconfig; sourceTree = ""; }; + 61A23CC71A352867CB67935B2C9FC516 /* AWSSignInProviderApplicationIntercept.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInProviderApplicationIntercept.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInProviderApplicationIntercept.h; sourceTree = ""; }; + 61BDCDAED4D6D20CE77B978C09132CE8 /* AWSNetworkingHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNetworkingHelpers.m; path = AWSCore/Networking/AWSNetworkingHelpers.m; sourceTree = ""; }; + 61D684E36BF86DBE8A04DA08386E6C6D /* ReachabilitySwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ReachabilitySwift-Info.plist"; sourceTree = ""; }; 61FA33FD89BAC35FF8DD26E5BA51567E /* Pods-AWSAppSyncUnitTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSyncUnitTests-dummy.m"; sourceTree = ""; }; - 6204CA9C1C9AB1DE2B5B9E5540173BFE /* AWSCocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCocoaLumberjack.h; path = AWSCore/Logging/AWSCocoaLumberjack.h; sourceTree = ""; }; 6253C030B3DF5BDAA50334BA734C1F55 /* Pods-AWSAppSyncIntegrationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncIntegrationTests.release.xcconfig"; sourceTree = ""; }; - 62EDCA61CD7B5A70B8CC11E6B1D4F538 /* AWSAuthCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSAuthCore.release.xcconfig; sourceTree = ""; }; - 6306029C55AD34FC9D3C6665D0E8507E /* AWSCognitoAuth+Extensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSCognitoAuth+Extensions.m"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.m"; sourceTree = ""; }; - 63574350659EFF35B06929D9EB9366BF /* AWSCognitoIdentityProviderASF-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProviderASF-prefix.pch"; sourceTree = ""; }; - 638AD56143B6268393A30549E277DF6B /* AWSFMDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabase.h; path = AWSCore/FMDB/AWSFMDatabase.h; sourceTree = ""; }; - 63B39970E666C71947AD99A888262EEF /* AWSCognitoIdentityProviderASF.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProviderASF.release.xcconfig; sourceTree = ""; }; - 6428CE95057551A716E25D6D850DD6BD /* AWSCognitoAuth_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuth_Internal.h; path = AWSCognitoAuth/Internal/AWSCognitoAuth_Internal.h; sourceTree = ""; }; - 647440B47A124EF8895555526C35FEDE /* AWSDDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDASLLogCapture.m; path = AWSCore/Logging/AWSDDASLLogCapture.m; sourceTree = ""; }; - 648B412D515D75BF3244AAA9DFA33115 /* AppSyncResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncResponse.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncResponse.swift; sourceTree = ""; }; - 64C77CAF8EF106FEC3E804E74ADF7D53 /* AWSCognitoIdentityProviderResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderResources.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.h; sourceTree = ""; }; - 651AEA1FFC1BE75F97F084B9FA00AED0 /* AWSCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCategory.m; path = AWSCore/Utility/AWSCategory.m; sourceTree = ""; }; - 65F0D89B985385255E77781294DEC3DC /* AWSExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSExecutor.m; path = AWSCore/Bolts/AWSExecutor.m; sourceTree = ""; }; - 6606785B337BE6D710EBEE2FC40BE6B3 /* tommath.c */ = {isa = PBXFileReference; includeInIndex = 1; name = tommath.c; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/tommath.c; sourceTree = ""; }; + 62B211C26D71C331E3A23F273BF292F1 /* AppSyncRealTimeClient.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AppSyncRealTimeClient.modulemap; sourceTree = ""; }; + 63450CE6ACB083F1611ED7AD116EE9F6 /* AWSCognitoIdentityUser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityUser.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUser.m; sourceTree = ""; }; + 6435641FE82C3369D049144E728AA57E /* AWSGZIP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSGZIP.h; path = AWSCore/GZIP/AWSGZIP.h; sourceTree = ""; }; + 64B96DF8F1ED517807AFA1E3038C6252 /* AWSFMDatabase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabase.h; path = AWSCore/FMDB/AWSFMDatabase.h; sourceTree = ""; }; + 64C66A20CA498E37C4C7CE548009BB52 /* AWSDDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDASLLogCapture.m; path = AWSCore/Logging/AWSDDASLLogCapture.m; sourceTree = ""; }; 663F8E0982039D17F9E806D48BE59836 /* Pods-AWSAppSyncTestApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestApp.release.xcconfig"; sourceTree = ""; }; - 6683ED2750BED356C2C0CA5B760C73AA /* AWSCognitoIdentityProviderHKDF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderHKDF.m; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderHKDF.m; sourceTree = ""; }; - 66C939469BA6B6612FEC64CB638E2E55 /* AWSMobileClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMobileClient.h; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.h; sourceTree = ""; }; - 66DE53BB56EC04A6F8D16F28C2CC3438 /* ConnectionProviderFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProviderFactory.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderFactory.swift; sourceTree = ""; }; - 68B00A31ABE29B0AFD02146B66D1F861 /* AWSSTS.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTS.h; path = AWSCore/STS/AWSSTS.h; sourceTree = ""; }; - 68B5814696B72D4B454C47B93858EC15 /* AWSDDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDContextFilterLogFormatter.h; path = AWSCore/Logging/Extensions/AWSDDContextFilterLogFormatter.h; sourceTree = ""; }; + 6655F78C0F8A3B0CFB1843BB4E86EC62 /* AppSyncLogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncLogger.swift; path = AppSyncRealTimeClient/Support/AppSyncLogger.swift; sourceTree = ""; }; + 665CEB43C88A744CAF33BD27E3019F8A /* AWSModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSModel.h; path = AWSCore/Utility/AWSModel.h; sourceTree = ""; }; + 67BD3FDCBFFB2CD9BEA8AF0E555CE6B0 /* Setter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Setter.swift; path = Sources/SQLite/Typed/Setter.swift; sourceTree = ""; }; 6967F18657C65396AE085CB8D500D311 /* Pods-AWSAppSyncUnitTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AWSAppSyncUnitTests-frameworks.sh"; sourceTree = ""; }; - 69EBE1543CF542E4A761B6C8D7C091B8 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; 6A22E4603139529299C60A805A758333 /* Pods-AWSAppSyncTestApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestApp-acknowledgements.plist"; sourceTree = ""; }; - 6A2458CD0A8887EC497E68387909FC8F /* AWSAuthCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSAuthCore-dummy.m"; sourceTree = ""; }; - 6A3C2B776ECDEB46513A83D6B65DA9D9 /* SQLiteObjc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLiteObjc.h; path = Sources/SQLiteObjc/include/SQLiteObjc.h; sourceTree = ""; }; + 6B359177081ECB46E80E8DBBBBA6E039 /* AWSCognitoIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProvider.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProvider.h; sourceTree = ""; }; + 6C3781B0C8712A58779B8FE3A9A3B8E3 /* AWSCognitoIdentityProvider-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProvider-umbrella.h"; sourceTree = ""; }; + 6C4524F5A694B3E55632E71EFD865505 /* AWSCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCore.release.xcconfig; sourceTree = ""; }; + 6C59B18755264188D619A5F269983A06 /* FTS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS5.swift; path = Sources/SQLite/Extensions/FTS5.swift; sourceTree = ""; }; 6C81CC0258D4E4C6230E583C79613573 /* AWSAuthCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSAuthCore.framework; path = AWSAuthCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 6CF53AD6CCE56B8F53C3E9D21872A979 /* Pods-AWSAppSyncTestCommon.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestCommon.debug.xcconfig"; sourceTree = ""; }; - 6D00E470E076F73E486E3C8D706BE205 /* NSError+AWSMTLModelException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError+AWSMTLModelException.m"; path = "AWSCore/Mantle/NSError+AWSMTLModelException.m"; sourceTree = ""; }; - 6DEE2BA9BAAEA0ED9A756247007EEF3C /* AWSMTLModel+NSCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMTLModel+NSCoding.h"; path = "AWSCore/Mantle/AWSMTLModel+NSCoding.h"; sourceTree = ""; }; - 6E976CE37FF9752AD65E1541A324AD43 /* AWSInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSInfo.h; path = AWSCore/Service/AWSInfo.h; sourceTree = ""; }; - 6EF84FA37F5DD3A5CC995701EB5641F6 /* SQLite.swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.debug.xcconfig; sourceTree = ""; }; - 6F8CB37E5F86BA0693AA1DAD7350F924 /* AWSDDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDAbstractDatabaseLogger.h; path = AWSCore/Logging/AWSDDAbstractDatabaseLogger.h; sourceTree = ""; }; - 7004F1E24CD9158CACA745C257B1F40E /* AWSS3TransferUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtility.h; path = AWSS3/AWSS3TransferUtility.h; sourceTree = ""; }; + 6D62E4BC5DA4630DED29FF742AB00327 /* AWSCognitoAuth.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuth.h; path = AWSCognitoAuth/AWSCognitoAuth.h; sourceTree = ""; }; + 6D98942807563A70D80E6AA4989F6404 /* SQLite.swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-prefix.pch"; sourceTree = ""; }; + 704E0C5DACF8C12C215190550B44B358 /* NSValueTransformer+AWSMTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+AWSMTLInversionAdditions.h"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLInversionAdditions.h"; sourceTree = ""; }; 706496C50430CF84A38749DAE278F49B /* Pods-AWSAppSyncTestCommon-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSyncTestCommon-dummy.m"; sourceTree = ""; }; - 714FE79CAFED1E3FF16BA5FE929B159B /* AWSMobileClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSMobileClient.release.xcconfig; sourceTree = ""; }; - 716AEA3476CFC18F4A4399DCB7AA5C00 /* ConnectionProviderError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProviderError.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderError.swift; sourceTree = ""; }; - 718261847EA4374BDAB0DDFE4D783A74 /* AWSXMLWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSXMLWriter.m; path = AWSCore/XMLWriter/AWSXMLWriter.m; sourceTree = ""; }; - 718D14F140315DDFA2052E031F151393 /* AWSMTLManagedObjectAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLManagedObjectAdapter.h; path = AWSCore/Mantle/AWSMTLManagedObjectAdapter.h; sourceTree = ""; }; - 71DA7987E41128A92C5C42267977234D /* AppSyncSubscriptionConnection+DataHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+DataHandler.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift"; sourceTree = ""; }; - 7237BB8A1CE03EBB4CA44EC7F6A27934 /* AWSS3Model.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Model.h; path = AWSS3/AWSS3Model.h; sourceTree = ""; }; - 72436B123E378D3FC5294FC60C9D15E2 /* AWSJKBigInteger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSJKBigInteger.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigInteger.h; sourceTree = ""; }; + 70BD1EE82B6C8D50F8A12F28B319A584 /* AWSAuthCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSAuthCore-umbrella.h"; sourceTree = ""; }; + 70CB0D4BCE825E0C144400246AEA6271 /* AWSLogging.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSLogging.m; path = AWSCore/Utility/AWSLogging.m; sourceTree = ""; }; + 71BFEAD7EFD5E18161924CEC4ABF19DF /* AWSCognitoIdentityProviderSrpHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderSrpHelper.m; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderSrpHelper.m; sourceTree = ""; }; + 71D12487BD6BAE3B2364EA27FF73B675 /* AWSCategory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCategory.m; path = AWSCore/Utility/AWSCategory.m; sourceTree = ""; }; 7274EB1E9AABCB032CCA6D0571A0E8CC /* Pods_AWSAppSyncTestCommon.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSyncTestCommon.framework; path = "Pods-AWSAppSyncTestCommon.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 729B37F0B2D4CE31D255A5191B0AE6EB /* AWSCognitoIdentityProviderSrpHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderSrpHelper.m; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderSrpHelper.m; sourceTree = ""; }; - 72D99F12BBB58C3A82BD70840BF61C7D /* AWSS3Serializer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Serializer.m; path = AWSS3/AWSS3Serializer.m; sourceTree = ""; }; - 72ED65F4AA3E46F89E3A468A51816B3F /* AWSCognitoIdentityService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityService.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityService.m; sourceTree = ""; }; - 731B3B54362E2CC0EC92A55F707D7A01 /* ReachabilitySwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ReachabilitySwift-Info.plist"; sourceTree = ""; }; - 733CFBD889603EBE3D3CA100E1FFD872 /* OIDCAuthProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OIDCAuthProvider.swift; path = AppSyncRealTimeClient/Support/OIDCAuthProvider.swift; sourceTree = ""; }; - 734C77DA27D6AD26F5585A7D77B54A92 /* ReachabilitySwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.debug.xcconfig; sourceTree = ""; }; - 73538580658B24FA1C4CDFEBCDBB3B04 /* AWSCancellationTokenSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationTokenSource.m; path = AWSCore/Bolts/AWSCancellationTokenSource.m; sourceTree = ""; }; - 73D147A7B06E8A74570DCB8CFF9F7BB7 /* AWSCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCore-umbrella.h"; sourceTree = ""; }; - 73F2696E65A62E9ABC9068DDB1B14360 /* AppSyncRealTimeClient-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AppSyncRealTimeClient-umbrella.h"; sourceTree = ""; }; + 731E69E3132137CEE6641BD5A213FF31 /* Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Fabric.h; path = AWSCore/Fabric/Fabric.h; sourceTree = ""; }; + 733D0360E602A9EFFCE4F60F205CEAB5 /* AWSUICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSUICKeyChainStore.h; path = AWSCore/UICKeyChainStore/AWSUICKeyChainStore.h; sourceTree = ""; }; + 7373350F71493C6BE3B7341A006B4AAE /* AWSKSReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSKSReachability.h; path = AWSCore/KSReachability/AWSKSReachability.h; sourceTree = ""; }; + 73C9432E981995B409B7F9B2A6830F64 /* AWSS3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3.h; path = AWSS3/AWSS3.h; sourceTree = ""; }; 751A6187D3152BF6DA848D2DC39ECD2A /* AppSyncRealTimeClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AppSyncRealTimeClient.framework; path = AppSyncRealTimeClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 75ABBDCFE8BEAEF45D277B1547B40064 /* AWSMobileClientExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClientExtensions.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift; sourceTree = ""; }; - 7617D7D94C683118A3F92B4978535B89 /* CustomFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomFunctions.swift; path = Sources/SQLite/Typed/CustomFunctions.swift; sourceTree = ""; }; - 7671AF14133E7FE1E45AAB2483CC14F9 /* AWSInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSInfo.m; path = AWSCore/Service/AWSInfo.m; sourceTree = ""; }; - 76A02227C1674DA4B5FDF64AC69B96F7 /* AWSSTSModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSModel.m; path = AWSCore/STS/AWSSTSModel.m; sourceTree = ""; }; + 7533CF91DA6B7E2F18F2033B8CB008DC /* AWSSynchronizedMutableDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSynchronizedMutableDictionary.h; path = AWSCore/Utility/AWSSynchronizedMutableDictionary.h; sourceTree = ""; }; + 75619633007EEA285863FEE6336A6AD2 /* AWSS3TransferUtility+HeaderHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSS3TransferUtility+HeaderHelper.m"; path = "AWSS3/AWSS3TransferUtility+HeaderHelper.m"; sourceTree = ""; }; + 756F23E4D992B7791E56BD842D1F09E7 /* AWSCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCore-prefix.pch"; sourceTree = ""; }; 76DA23533D0D7118513F3DA7D689B5CA /* AWSCognitoIdentityProviderASF.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AWSCognitoIdentityProviderASF.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7728833CFC1E223BE3A8E790FAB97F54 /* AWSBolts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSBolts.h; path = AWSCore/Bolts/AWSBolts.h; sourceTree = ""; }; 777A94C5786C9A7C952B8E6A7F69B655 /* Pods-ApolloTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ApolloTests-umbrella.h"; sourceTree = ""; }; - 784ECF46BEB4AE6A6ED6D0DF4CC28A50 /* AWSS3TransferUtility+HeaderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSS3TransferUtility+HeaderHelper.h"; path = "AWSS3/AWSS3TransferUtility+HeaderHelper.h"; sourceTree = ""; }; - 786C7A5C3ED4EEFD4834B27DE97860ED /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/SQLite/Typed/Operators.swift; sourceTree = ""; }; + 7820188E4F53FEA6ABE973AB99F6B631 /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; 78B909ABE9DF2B4273E8C8B49268E94C /* Pods-AWSAppSyncTestHostApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-AWSAppSyncTestHostApp-frameworks.sh"; sourceTree = ""; }; - 78D30461EB1FB09228E42D79A271DBD1 /* AWSFMDB+AWSHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSFMDB+AWSHelpers.h"; path = "AWSCore/FMDB/AWSFMDB+AWSHelpers.h"; sourceTree = ""; }; - 79C72FA50AB166098F2914709B9D477A /* AWSAuthCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSAuthCore-umbrella.h"; sourceTree = ""; }; - 7A695B35441B1BB7DB3A4CCB49AB70A6 /* AWSNSCodingUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNSCodingUtilities.m; path = AWSCore/Utility/AWSNSCodingUtilities.m; sourceTree = ""; }; - 7A87FC2DBBA21E664D5164EE0CD72C0C /* AWSAuthCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSAuthCore.debug.xcconfig; sourceTree = ""; }; - 7ADA6AF9C3ECEE2F4E6369C81E33AD40 /* AWSmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSmetamacros.h; path = AWSCore/Mantle/extobjc/AWSmetamacros.h; sourceTree = ""; }; + 7925C4F68CBA2CA4DBC558C995A46834 /* AWSNetworkingHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNetworkingHelpers.h; path = AWSCore/Networking/AWSNetworkingHelpers.h; sourceTree = ""; }; + 796B5F2A6953240BCDCAC7C43EC771B0 /* AWSCognitoIdentityProviderASF-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCognitoIdentityProviderASF-Info.plist"; sourceTree = ""; }; + 79DEC8129DE529490844861ED18D125B /* AWSDDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLegacyMacros.h; path = AWSCore/Logging/AWSDDLegacyMacros.h; sourceTree = ""; }; + 79F15ADEF71A72AE6110CF34F02DC80D /* AWSCognitoIdentityUserPool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUserPool.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUserPool.h; sourceTree = ""; }; 7AFAD82BD19D846B6A35176CFC6D30DD /* Pods-AWSAppSyncTestCommon.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestCommon.release.xcconfig"; sourceTree = ""; }; - 7B37397BD120C7B2EA7B4B348159793E /* AWSMTLValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLValueTransformer.h; path = AWSCore/Mantle/AWSMTLValueTransformer.h; sourceTree = ""; }; - 7C4CBD219DECE4E9A61E10E7D61695EF /* SubscriptionConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConstants.swift; path = AppSyncRealTimeClient/Support/SubscriptionConstants.swift; sourceTree = ""; }; + 7C18B6AF4049F02B512C5B9B878998D6 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; + 7C5271F6508743A4873F3C21A5741BC4 /* AWSMobileResults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileResults.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileResults.swift; sourceTree = ""; }; + 7C7DC580419698F988C87F415048F4E3 /* AWSJKBigInteger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSJKBigInteger.m; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigInteger.m; sourceTree = ""; }; 7CBE6AEC9AB5F0CD8F02EE6918DE7F4B /* Pods-AWSAppSync.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSync.modulemap"; sourceTree = ""; }; + 7CC686E49A1FC05FADD2E50A13E45CE3 /* RealtimeConnectionProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeConnectionProvider.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift; sourceTree = ""; }; 7D4B6D7BEE61C0464513DE6907C8EF8C /* Pods-AWSAppSyncIntegrationTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSyncIntegrationTests-dummy.m"; sourceTree = ""; }; - 7DF3CADB1E247CD8CB568FAEEF314012 /* AWSEXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTScope.h; path = AWSCore/Mantle/extobjc/AWSEXTScope.h; sourceTree = ""; }; - 7EE88D31602E4B0C3E5B6C3F66E9592C /* SQLite.swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SQLite.swift-umbrella.h"; sourceTree = ""; }; - 7EEA0CBA1952AA815BB3227B42048023 /* AWSS3Resources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Resources.h; path = AWSS3/AWSS3Resources.h; sourceTree = ""; }; + 7E2DB32F311CE52629BAA30DB745520E /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; + 7F9997555832ADE68B57B7F11F66B4D6 /* AWSFMDatabaseQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabaseQueue.m; path = AWSCore/FMDB/AWSFMDatabaseQueue.m; sourceTree = ""; }; 7FAA465647001137E4FEB50419A7F3E3 /* Pods-AWSAppSync-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSync-acknowledgements.plist"; sourceTree = ""; }; + 7FBB7EB8AE69ED94ED1D4668E1838722 /* Starscream.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.release.xcconfig; sourceTree = ""; }; 7FDB0A977AD01956ADB216E01C2C011D /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; }; 800C19634FAE52D32288F7F8746DD1C4 /* Pods-ApolloTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ApolloTests-frameworks.sh"; sourceTree = ""; }; - 80F2764EDC1F31C7A383488CE962D178 /* FABAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABAttributes.h; path = AWSCore/Fabric/FABAttributes.h; sourceTree = ""; }; - 814D1F6054AB5C6C690C59987F6A7212 /* AWSXMLDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSXMLDictionary.h; path = AWSCore/XMLDictionary/AWSXMLDictionary.h; sourceTree = ""; }; + 8130F6268B947C47932C628622881B01 /* AWSMTLManagedObjectAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLManagedObjectAdapter.h; path = AWSCore/Mantle/AWSMTLManagedObjectAdapter.h; sourceTree = ""; }; + 8138B00D30D0C0C8805F6EE1A9F2F614 /* AWSExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSExecutor.m; path = AWSCore/Bolts/AWSExecutor.m; sourceTree = ""; }; 817A68B9C2FDD6247B3D160813EFB3D7 /* Pods-AWSAppSyncTestHostApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestHostApp-Info.plist"; sourceTree = ""; }; - 8287B0BE06FB6D6511D2B0CE5AEDA0D1 /* AWSCognitoIdentityProviderASF-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCognitoIdentityProviderASF-Info.plist"; sourceTree = ""; }; - 829BF6F49F1EB4AAB1727260A7614877 /* AWSMTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLModel.h; path = AWSCore/Mantle/AWSMTLModel.h; sourceTree = ""; }; - 8483A32D2DEBAC986E457D120AE9E935 /* AWSCognitoIdentityProvider-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProvider-prefix.pch"; sourceTree = ""; }; - 84C26EBA7F4E5697A75CE3C06E63BE83 /* AWSSignInProviderApplicationIntercept.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInProviderApplicationIntercept.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInProviderApplicationIntercept.h; sourceTree = ""; }; + 818472332323F988034A427CB465B99F /* AWSMobileClient.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSMobileClient.modulemap; sourceTree = ""; }; + 824505B5361984454CF38BE77E6BDB05 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/SQLite/Typed/Expression.swift; sourceTree = ""; }; + 82931D501856CB25921F17A689B4C6A4 /* NSDictionary+AWSMTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+AWSMTLManipulationAdditions.m"; path = "AWSCore/Mantle/NSDictionary+AWSMTLManipulationAdditions.m"; sourceTree = ""; }; + 82C38503C89F5C86BB603CAE481A9479 /* ReachabilitySwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.debug.xcconfig; sourceTree = ""; }; + 835871B787F67A1161001696D1D74F4F /* SSLClientCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLClientCertificate.swift; path = Sources/Starscream/SSLClientCertificate.swift; sourceTree = ""; }; + 83A9D5062C08D36DD914AB05A290F043 /* AWSAuthCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSAuthCore.release.xcconfig; sourceTree = ""; }; + 83C08E76D0C48289C0D91200E1E8FEA3 /* SubscriptionConnectionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConnectionType.swift; path = AppSyncRealTimeClient/Support/SubscriptionConnectionType.swift; sourceTree = ""; }; + 841B3C45740E175B9392083426BFCFF2 /* StarscreamAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StarscreamAdapter.swift; path = AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift; sourceTree = ""; }; 85316458A0148AB0F3D24B63A63A96FD /* Pods-AWSAppSync.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSync.release.xcconfig"; sourceTree = ""; }; - 85782346E6D99739675062487C4872D1 /* AWSMobileClientUserDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClientUserDetails.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClientUserDetails.swift; sourceTree = ""; }; - 85C7D7B227126CCF5FC8F2C5C503F6E9 /* CoreFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CoreFunctions.swift; path = Sources/SQLite/Typed/CoreFunctions.swift; sourceTree = ""; }; - 863FC21CD0014D3291A995F873D96EC0 /* AWSCancellationTokenSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCancellationTokenSource.h; path = AWSCore/Bolts/AWSCancellationTokenSource.h; sourceTree = ""; }; - 86810F912383D5997A6494E60D5FE8BA /* AWSS3Model.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Model.m; path = AWSS3/AWSS3Model.m; sourceTree = ""; }; - 872123A0F9A32A96D344B0815B8B808F /* AWSExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSExecutor.h; path = AWSCore/Bolts/AWSExecutor.h; sourceTree = ""; }; - 87621749FE32A3DA153E09DC81701BAD /* AWSFMResultSet.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMResultSet.m; path = AWSCore/FMDB/AWSFMResultSet.m; sourceTree = ""; }; + 871FF398EC470EC9A264DDEE5992E7EF /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; + 873226EEA39AA35D28FF169FBD1820C2 /* AWSURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLRequestSerialization.h; path = AWSCore/Serialization/AWSURLRequestSerialization.h; sourceTree = ""; }; + 8816E2CA5F839A7F85539B2C16CE07DD /* AWSCognitoIdentityProviderASF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderASF.m; path = AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.m; sourceTree = ""; }; 88B5B053284A3CD214CB2345BB04C33F /* AWSMobileClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSMobileClient.framework; path = AWSMobileClient.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 88E8011080F8C4EA49E540A70B353F37 /* AWSCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCore-Info.plist"; sourceTree = ""; }; 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream.framework; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8928CF108DE4A1B8C2F65D728B69FFFD /* AWSJKBigDecimal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSJKBigDecimal.m; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigDecimal.m; sourceTree = ""; }; + 89228E1E3083420BC39BCE1AF115F736 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = ""; }; 895900F359BDDAD1D3137C29C674257B /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 89DDC6FAF9DAC282B60A9FCA37EC3830 /* Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Helpers.swift; path = Sources/SQLite/Helpers.swift; sourceTree = ""; }; - 8A127992FFB927836EFEEBCDB039AA1C /* AWSCognitoIdentityProviderSrpHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderSrpHelper.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderSrpHelper.h; sourceTree = ""; }; - 8AE07467A803DC6A20FD0C42BEB09678 /* AWSFMDatabasePool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabasePool.m; path = AWSCore/FMDB/AWSFMDatabasePool.m; sourceTree = ""; }; - 8B1C066DA1016DCA250C6BADD143B10E /* AWSCognitoIdentity.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentity.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentity.h; sourceTree = ""; }; - 8B730704CBB4DBA7F47E9DA9195C9879 /* AWSS3RequestRetryHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3RequestRetryHandler.h; path = AWSS3/AWSS3RequestRetryHandler.h; sourceTree = ""; }; - 8C04A07ADBE8D87CB46B1140FC8C9FCD /* NSData+AWSCognitoIdentityProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AWSCognitoIdentityProvider.m"; path = "AWSCognitoIdentityProvider/Internal/NSData+AWSCognitoIdentityProvider.m"; sourceTree = ""; }; - 8D74ED39483AF9E51DCCE993622BA240 /* AWSNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNetworking.h; path = AWSCore/Networking/AWSNetworking.h; sourceTree = ""; }; + 89FB2E3F1018FD8DA9ABB017A11577B2 /* AWSFMDB.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDB.h; path = AWSCore/FMDB/AWSFMDB.h; sourceTree = ""; }; + 8A0D4EFBBA2161527C3357DDB58EA435 /* AWSCognitoIdentityASF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityASF.m; path = AWSCognitoIdentityProviderASF/Internal/AWSCognitoIdentityASF.m; sourceTree = ""; }; + 8A29E3588B7D02F87CA9652162D06888 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; + 8ADCD2C31A5013C169566F3E17E9F126 /* AWSCancellationTokenSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationTokenSource.m; path = AWSCore/Bolts/AWSCancellationTokenSource.m; sourceTree = ""; }; + 8B8132CCE298BEF02C635FE354EBAA84 /* SQLite.swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.release.xcconfig; sourceTree = ""; }; + 8BD06A9E25C5C88339B5C467BB1FB281 /* aws_tommath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath.h; sourceTree = ""; }; + 8C5FF03BCE2F2C0E4C1195FC1CBF0543 /* AWSURLRequestRetryHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLRequestRetryHandler.h; path = AWSCore/Serialization/AWSURLRequestRetryHandler.h; sourceTree = ""; }; + 8D7B6BE9F3D00C78AC4294F1EAEF5341 /* AWSUIConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSUIConfiguration.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSUIConfiguration.h; sourceTree = ""; }; + 8DA1847EDED98C84F47242B5C1F9022C /* AWSCognitoAuth+Extensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSCognitoAuth+Extensions.m"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.m"; sourceTree = ""; }; + 8E2D9BA18737A889C169EDFD3F47CB51 /* AWSS3-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSS3-prefix.pch"; sourceTree = ""; }; 8E5B7839FFCA59975E932625DEAAB4A8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - 8FFFAFC3C812BA48FF33D4404EA788CB /* Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Foundation.swift; path = Sources/SQLite/Foundation.swift; sourceTree = ""; }; - 91C079EB54997757098F671B83332D94 /* AWSS3Service.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Service.h; path = AWSS3/AWSS3Service.h; sourceTree = ""; }; - 9204E3D7EA11C02732BB2CCA384EE55E /* AWSCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCore.debug.xcconfig; sourceTree = ""; }; - 92201F0FF3477050A2A6FC523D1800D8 /* AppSyncMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncMessage.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift; sourceTree = ""; }; - 9264FFF2954F9AF9FC9662327BE5B6FA /* Schema.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Schema.swift; path = Sources/SQLite/Typed/Schema.swift; sourceTree = ""; }; - 92BAAC4233D46E4865C5C39C3EABE0BB /* AWSCognitoIdentityProviderASF.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProviderASF.debug.xcconfig; sourceTree = ""; }; - 9338B7847FA32E5ACCF9DD44C5D9649B /* AppSyncRealTimeClient.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AppSyncRealTimeClient.modulemap; sourceTree = ""; }; - 944723B7469BE2F1F2A16C2A160681D2 /* fts3_tokenizer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fts3_tokenizer.h; path = Sources/SQLiteObjc/fts3_tokenizer.h; sourceTree = ""; }; - 94A855204B4FB537662C7D3D3BA7F726 /* AWSS3Resources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Resources.m; path = AWSS3/AWSS3Resources.m; sourceTree = ""; }; - 94FC4B19B15B7E8D96C3200D9758166C /* AWSGZIP.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSGZIP.m; path = AWSCore/GZIP/AWSGZIP.m; sourceTree = ""; }; - 95B0C9DC28C4FD4378C14F97A856ADC4 /* SubscriptionConnectionType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConnectionType.swift; path = AppSyncRealTimeClient/Support/SubscriptionConnectionType.swift; sourceTree = ""; }; + 8EE9B426F4450D922CE46D21FFF65A98 /* AWSGeneric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSGeneric.h; path = AWSCore/Bolts/AWSGeneric.h; sourceTree = ""; }; + 8F7EC2B6CFFCEDC314303B0A97EA79DC /* RetryableConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryableConnection.swift; path = AppSyncRealTimeClient/Connection/RetryableConnection.swift; sourceTree = ""; }; + 913B76F220CC7D7D2990AC39F1823C7F /* AWSS3Resources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Resources.h; path = AWSS3/AWSS3Resources.h; sourceTree = ""; }; + 91D3C1A703BAD71E4FD79B40476DA7C0 /* NSData+AWSCognitoIdentityProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AWSCognitoIdentityProvider.m"; path = "AWSCognitoIdentityProvider/Internal/NSData+AWSCognitoIdentityProvider.m"; sourceTree = ""; }; + 925784D518BFDE4A14F00DFF6F163037 /* AWSCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCore.debug.xcconfig; sourceTree = ""; }; + 92A2C6416B761B9F4B4A0585FC1084B1 /* AWSXMLDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSXMLDictionary.m; path = AWSCore/XMLDictionary/AWSXMLDictionary.m; sourceTree = ""; }; + 9336A132D5E8D73B1C98EA766747C0A8 /* Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Connection.swift; path = Sources/SQLite/Core/Connection.swift; sourceTree = ""; }; + 93D719D900E40ED23D80721BE67A3012 /* AWSMTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLModel.m; path = AWSCore/Mantle/AWSMTLModel.m; sourceTree = ""; }; + 9597A65DB84AD54CF2FA5B445677718C /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m"; sourceTree = ""; }; + 95A323B234D9807C262DCB93EC9AED3D /* AWSMTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLValueTransformer.m; path = AWSCore/Mantle/AWSMTLValueTransformer.m; sourceTree = ""; }; 95BE7CB318A156EF5624ECCD4A31ED75 /* Pods-AWSAppSyncTestCommon-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestCommon-acknowledgements.plist"; sourceTree = ""; }; - 968C4737FA4BBE8324A77ECFEDBD6053 /* AWSSignature.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignature.h; path = AWSCore/Authentication/AWSSignature.h; sourceTree = ""; }; - 9741180E12A972970AE30AA4BDF7D5CC /* AWSClientContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSClientContext.h; path = AWSCore/Service/AWSClientContext.h; sourceTree = ""; }; - 98528467499FE846516F433BF3D3A1A4 /* AWSCognitoIdentityUserPool+Extension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoIdentityUserPool+Extension.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoIdentityUserPool+Extension.h"; sourceTree = ""; }; - 98F5B99A4207726BB8315A113AC01041 /* RetryableConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryableConnection.swift; path = AppSyncRealTimeClient/Connection/RetryableConnection.swift; sourceTree = ""; }; + 96148C7F6D3B932C4F7C246A21AF69C0 /* ConnectionProviderFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProviderFactory.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderFactory.swift; sourceTree = ""; }; + 96D43F07564550F1C861B2ED7D8D1234 /* AWSCognitoIdentityProviderService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderService.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m; sourceTree = ""; }; + 984439D0465FE9EC4FA5B25A77DC18F6 /* AWSIdentityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSIdentityManager.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSIdentityManager.h; sourceTree = ""; }; + 984CA003D976E93699DD4890B282187D /* RealtimeConnectionProvider+StaleConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+StaleConnection.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift"; sourceTree = ""; }; + 985A7182B22455923239EFFD9C636024 /* AWSDDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDLog.m; path = AWSCore/Logging/AWSDDLog.m; sourceTree = ""; }; + 98928EC197B0F0623282A11C228DB037 /* AppSyncSubscriptionConnection+ErrorHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+ErrorHandler.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift"; sourceTree = ""; }; 98FCBF60EEC68076C5D050C1D429F4B0 /* Pods-AWSAppSyncTestHostApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestHostApp.release.xcconfig"; sourceTree = ""; }; - 9947628CB40ACC048D50E2C649781F52 /* Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Fabric.h; path = AWSCore/Fabric/Fabric.h; sourceTree = ""; }; - 9A7A49E2A4949FDFC3C311DE102EC89F /* AWSAuthCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSAuthCore-Info.plist"; sourceTree = ""; }; - 9ACE4FE2368309D09BF5AF677E0E8F3F /* SwiftLint.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.release.xcconfig; sourceTree = ""; }; + 98FDF19CC6496FF23FED917249A4C098 /* AWSCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCore.h; path = AWSCore/AWSCore.h; sourceTree = ""; }; + 990D30711DCF72BFC66DB9637738C0CE /* AWSDDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDTTYLogger.h; path = AWSCore/Logging/AWSDDTTYLogger.h; sourceTree = ""; }; + 9942AA9692A5377DBA2B00AB98694090 /* AWSAuthCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSAuthCore-prefix.pch"; sourceTree = ""; }; + 9A2AFD5AFD17334598C47D01EF7E470F /* AWSMTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLReflection.m; path = AWSCore/Mantle/AWSMTLReflection.m; sourceTree = ""; }; + 9A3DC30BB54E07EC9BE9AAB48E36C783 /* AWSDDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDMultiFormatter.m; path = AWSCore/Logging/AWSDDMultiFormatter.m; sourceTree = ""; }; + 9AA88013E7B25A7790A643581C8224B7 /* AWSSignInManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSignInManager.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInManager.m; sourceTree = ""; }; 9B21EDD157A5F4E5A77B50C25F738F35 /* Pods-AWSAppSyncTestCommon.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSyncTestCommon.modulemap"; sourceTree = ""; }; - 9B76A74428FA3CF48D3BDD74A14398DB /* ReachabilitySwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-umbrella.h"; sourceTree = ""; }; - 9BB5F1F3190A72CD9C8C815BF0E676B4 /* AWSUserPoolOperationsHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSUserPoolOperationsHandler.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSUserPoolOperationsHandler.swift; sourceTree = ""; }; - 9BE5E937D6688F0D10C69A304F69D786 /* AWSDDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLogMacros.h; path = AWSCore/Logging/AWSDDLogMacros.h; sourceTree = ""; }; - 9CC6DCC106AF3F2ED94C0EC02FB9AA25 /* AWSS3.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSS3.debug.xcconfig; sourceTree = ""; }; - 9CDB1669A29B5D3AB1F43420A8C70AF3 /* AWSEXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTKeyPathCoding.h; path = AWSCore/Mantle/extobjc/AWSEXTKeyPathCoding.h; sourceTree = ""; }; - 9D4321354141FCA8F2D2B82F3C181C6B /* AWSSTSModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSModel.h; path = AWSCore/STS/AWSSTSModel.h; sourceTree = ""; }; + 9B4F4D9E77FBE5D6805BDA535CE78668 /* AWSCognitoIdentityProvider.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProvider.debug.xcconfig; sourceTree = ""; }; + 9C03105DDF99D5F6AEAEA4D9B6DFE07C /* AWSS3TransferUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtility.h; path = AWSS3/AWSS3TransferUtility.h; sourceTree = ""; }; + 9C1C10E05EEB45671FBBE5104572390B /* AWSS3TransferUtility+EnumerateBlocks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSS3TransferUtility+EnumerateBlocks.h"; path = "AWSS3/AWSS3TransferUtility+EnumerateBlocks.h"; sourceTree = ""; }; + 9C9B9909DA48EC0F78F38D1FB85CC2B0 /* AWSS3TransferUtilityTasks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtilityTasks.m; path = AWSS3/AWSS3TransferUtilityTasks.m; sourceTree = ""; }; + 9D24C128ABFD2680D4E4DFC5A03E39E2 /* OIDCAuthProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OIDCAuthProvider.swift; path = AppSyncRealTimeClient/Support/OIDCAuthProvider.swift; sourceTree = ""; }; + 9D7814D84D8B7435FF782BA65462E016 /* AWSMobileClient-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSMobileClient-Info.plist"; sourceTree = ""; }; + 9D843576F0EA77E55512B96F24B13EDD /* AWSS3-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSS3-dummy.m"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A0A988F27CFD0DB80A4EE10DC342E249 /* Query.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Query.swift; path = Sources/SQLite/Typed/Query.swift; sourceTree = ""; }; - A0BA3909CBB1E47270F9B575C3057B8A /* AWSTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTask.m; path = AWSCore/Bolts/AWSTask.m; sourceTree = ""; }; - A0E8DB57BF90F398BBE712EC1D66126C /* StarscreamAdapter+Delegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StarscreamAdapter+Delegate.swift"; path = "AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift"; sourceTree = ""; }; - A11F295F58DCBF338FB63B022381FFE1 /* JSONHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONHelper.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/JSONHelper.swift; sourceTree = ""; }; + 9D96E562F52AB489DCD36D372E512C61 /* Query.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Query.swift; path = Sources/SQLite/Typed/Query.swift; sourceTree = ""; }; + 9E6F52BCDC918E533B006EFFE17CD0FE /* AWSS3Model.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Model.h; path = AWSS3/AWSS3Model.h; sourceTree = ""; }; + 9F1FC3F8581740518B45257F46AEC5D8 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+ConnectionInterceptable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+ConnectionInterceptable.swift"; sourceTree = ""; }; + 9F307E3787FEE7FD984FF717A920559A /* AWSDDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDASLLogger.m; path = AWSCore/Logging/AWSDDASLLogger.m; sourceTree = ""; }; + 9F36956158F4225FA079A7AFBB347950 /* AppSyncSubscriptionConnection+Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+Connection.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift"; sourceTree = ""; }; + 9FACF62EACF6C95351657C538304B7CA /* AWSFMDB+AWSHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSFMDB+AWSHelpers.m"; path = "AWSCore/FMDB/AWSFMDB+AWSHelpers.m"; sourceTree = ""; }; + A0DAB087DE69AAB2F45E5D6D7B05C0DB /* AWSS3Service.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3Service.m; path = AWSS3/AWSS3Service.m; sourceTree = ""; }; A12D889A86B4E4F0CB2A548599771BD7 /* Pods-AWSAppSyncTestHostApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSyncTestHostApp-dummy.m"; sourceTree = ""; }; - A166B39764E9307E5427FD06AD9587B5 /* AWSCognitoIdentityProviderASF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderASF.m; path = AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.m; sourceTree = ""; }; - A21536682F4DB9E087D2F9FDEBD5B643 /* NSArray+AWSMTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+AWSMTLManipulationAdditions.h"; path = "AWSCore/Mantle/NSArray+AWSMTLManipulationAdditions.h"; sourceTree = ""; }; + A1D4BA18ECD2C6606D18620A1C8A9A87 /* AWSCognitoIdentityService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityService.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityService.m; sourceTree = ""; }; A25C22F55535053B1130FC07E15FB9E0 /* Pods-ApolloTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ApolloTests-acknowledgements.plist"; sourceTree = ""; }; + A27B5023638EB6282158DFCEC5BBB49F /* AppSyncRealTimeClient-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AppSyncRealTimeClient-umbrella.h"; sourceTree = ""; }; + A2B64AE45DA23BBAB74486321AAC3004 /* AWSCredentialsProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCredentialsProvider.h; path = AWSCore/Authentication/AWSCredentialsProvider.h; sourceTree = ""; }; + A2CDD8332146E08667D63F9865A26F71 /* AWSSTSService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSService.h; path = AWSCore/STS/AWSSTSService.h; sourceTree = ""; }; A2E9E7A1D3C85B2FDEE79C536EE8521A /* Pods-AWSAppSync-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSync-umbrella.h"; sourceTree = ""; }; - A366107CD6B4A98986F2F68BC3AB7DA5 /* AWSFMDatabase+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSFMDatabase+Private.h"; path = "AWSCore/FMDB/AWSFMDatabase+Private.h"; sourceTree = ""; }; - A38913A47712A74F90B92CEBEF92062C /* AWSMTLReflection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLReflection.m; path = AWSCore/Mantle/AWSMTLReflection.m; sourceTree = ""; }; - A3D17B1B5A8278557B8A7163E4C37720 /* AWSDDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSDDLog+LOGV.h"; path = "AWSCore/Logging/AWSDDLog+LOGV.h"; sourceTree = ""; }; - A43406533161BE27F86FCC5DD3C0E1ED /* AWSS3RequestRetryHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3RequestRetryHandler.m; path = AWSS3/AWSS3RequestRetryHandler.m; sourceTree = ""; }; - A4E01133F41A251E0A28C8A05C719D04 /* Statement.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Statement.swift; path = Sources/SQLite/Core/Statement.swift; sourceTree = ""; }; - A7C72D159FDA8FCD7F0B95B8DD7C2D3B /* AWSKSReachability.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSKSReachability.h; path = AWSCore/KSReachability/AWSKSReachability.h; sourceTree = ""; }; + A54FCDD278739177FCDCEA7134837172 /* AWSS3TransferUtilityDatabaseHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtilityDatabaseHelper.m; path = AWSS3/AWSS3TransferUtilityDatabaseHelper.m; sourceTree = ""; }; + A61AEAD34258AE32FBE49B294A41E9E0 /* AWSMobileClientUserDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClientUserDetails.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClientUserDetails.swift; sourceTree = ""; }; + A61B0F46D37424B8E4E127C4240A37E7 /* AWSCognitoIdentityService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityService.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityService.h; sourceTree = ""; }; + A6E3969DC3E66D89C1AB6E61F5A736C5 /* AWSTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTask.m; path = AWSCore/Bolts/AWSTask.m; sourceTree = ""; }; + A71CF1E95452010AFDF745BA3EF37602 /* ReachabilitySwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-prefix.pch"; sourceTree = ""; }; A7F3D75CD47F31232BE054099F986640 /* Pods-AWSAppSyncTestHostApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncTestHostApp.debug.xcconfig"; sourceTree = ""; }; - A8A2DB8F8A2FC22CD34F787E9C80277C /* AWSEXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSEXTRuntimeExtensions.m; path = AWSCore/Mantle/extobjc/AWSEXTRuntimeExtensions.m; sourceTree = ""; }; - A93E50F086D692B371CCBC93AA373E0B /* AWSDDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDAbstractDatabaseLogger.m; path = AWSCore/Logging/AWSDDAbstractDatabaseLogger.m; sourceTree = ""; }; + A85525FEC8B0EFA2806098DF98DD3F61 /* SwiftLint.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftLint.debug.xcconfig; sourceTree = ""; }; + A9795B2976FE198516CAA504F4B96440 /* AWSMobileClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSMobileClient.debug.xcconfig; sourceTree = ""; }; A97C34F7C1EDEDB686CED15AFDD36116 /* Pods-AWSAppSyncTestApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSyncTestApp-acknowledgements.markdown"; sourceTree = ""; }; - AA39C3337A06D8825FBAF3C6240788E3 /* AWSMobileClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSMobileClient.debug.xcconfig; sourceTree = ""; }; + AA35A06525CCC22BEAA9C5D3A9DFBAAF /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Sources/Starscream/SSLSecurity.swift; sourceTree = ""; }; AA39ED00DA45ED5C9CF4A4AA0D1EE8B2 /* Pods-AWSAppSyncTestApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSyncTestApp-dummy.m"; sourceTree = ""; }; - AA86FDEFB24533C569F36AACB9E2A74C /* AWSXMLDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSXMLDictionary.m; path = AWSCore/XMLDictionary/AWSXMLDictionary.m; sourceTree = ""; }; - AAF43E3182C5226F3230DB99C3DB2637 /* AWSURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLResponseSerialization.h; path = AWSCore/Serialization/AWSURLResponseSerialization.h; sourceTree = ""; }; - AAFDA13C3F4795107FF469A2FDF138E6 /* AWSCognitoIdentityProvider.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProvider.release.xcconfig; sourceTree = ""; }; - AB576C140AEA1C7F76621D18995025D3 /* AWSS3TransferUtilityDatabaseHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtilityDatabaseHelper.h; path = AWSS3/AWSS3TransferUtilityDatabaseHelper.h; sourceTree = ""; }; - AC087A48DBEB65FE92330DFCA3B698E0 /* AppSyncJSONValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncJSONValue.swift; path = AppSyncRealTimeClient/Support/AppSyncJSONValue.swift; sourceTree = ""; }; - AC6E69327590733881753B771080023B /* FTS4.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FTS4.swift; path = Sources/SQLite/Extensions/FTS4.swift; sourceTree = ""; }; - ACEEFA68C8A50FA0C82DB48951E23094 /* RealtimeGatewayURLInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeGatewayURLInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/RealtimeGatewayURLInterceptor.swift; sourceTree = ""; }; + AA80040A35DDC6FD4EE25856AC8B9F8A /* Collation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Collation.swift; path = Sources/SQLite/Typed/Collation.swift; sourceTree = ""; }; + AAC8F97831772E2AF223DE08DE73CDC9 /* AWSMobileOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileOptions.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileOptions.swift; sourceTree = ""; }; + AC39B12ED720B2EEEDA620BB638B64B8 /* AWSAuthCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSAuthCore-Info.plist"; sourceTree = ""; }; + AD08A1F3895431B496BAA71A5E3DD7BB /* ConnectionProviderError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProviderError.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderError.swift; sourceTree = ""; }; AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - AE17E76CEA49EA06247D54F92AC6C54E /* AWSSignInManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSignInManager.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInManager.m; sourceTree = ""; }; + AE03754A1C603C4B456F2A84B42DB775 /* SubscriptionItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionItem.swift; path = AppSyncRealTimeClient/Connection/SubscriptionItem.swift; sourceTree = ""; }; + AFF64F4ECC4AB004626FB5755F792D4B /* Value.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Value.swift; path = Sources/SQLite/Core/Value.swift; sourceTree = ""; }; + B024B412615E36C6C2F875BFE2E4B40E /* AWSCognitoIdentityProviderHKDF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderHKDF.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderHKDF.h; sourceTree = ""; }; B053194373E64F60F299934207F45337 /* Pods-AWSAppSyncTestCommon-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-AWSAppSyncTestCommon-umbrella.h"; sourceTree = ""; }; - B1E9D2C36CF34F060660BA30372635F7 /* SubscriptionConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConnection.swift; path = AppSyncRealTimeClient/Connection/SubscriptionConnection.swift; sourceTree = ""; }; - B2C225330EFCFCCAEBA675788D49FAAB /* AWSDDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDMultiFormatter.m; path = AWSCore/Logging/AWSDDMultiFormatter.m; sourceTree = ""; }; - B3254537A86A512944C5BACA6DFB8079 /* AWSCognitoIdentity+Fabric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSCognitoIdentity+Fabric.m"; path = "AWSCore/CognitoIdentity/AWSCognitoIdentity+Fabric.m"; sourceTree = ""; }; - B41772468D1321B781BC2D97F04BB651 /* AWSUICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSUICKeyChainStore.h; path = AWSCore/UICKeyChainStore/AWSUICKeyChainStore.h; sourceTree = ""; }; - B43A65151406E7B21A6E8AB93E5DDDFE /* NSArray+AWSMTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+AWSMTLManipulationAdditions.m"; path = "AWSCore/Mantle/NSArray+AWSMTLManipulationAdditions.m"; sourceTree = ""; }; + B1132F5F36FE7B3F22E9460E12FD9A38 /* AppSyncRealTimeClient.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppSyncRealTimeClient.release.xcconfig; sourceTree = ""; }; + B168D1FA8491E0A677C1A433EB31C84B /* AWSMobileClient-Mixed-Swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMobileClient-Mixed-Swift.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClient-Mixed-Swift.h"; sourceTree = ""; }; + B27F62A8C500D145C8D805839A59F1DE /* AWSMobileClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClient.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift; sourceTree = ""; }; + B2D6C62245BEE3DF4173C16416C65C1F /* AWSCognitoIdentityProviderASF.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProviderASF.debug.xcconfig; sourceTree = ""; }; + B3436CBD5067044DFD4832959CFA53C8 /* AWSS3Serializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Serializer.h; path = AWSS3/AWSS3Serializer.h; sourceTree = ""; }; + B3539260131C0CC9CE439FD2AE617478 /* SQLiteObjc.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SQLiteObjc.h; path = Sources/SQLiteObjc/include/SQLiteObjc.h; sourceTree = ""; }; + B3E809BF5EEBC0F3AE804E2E5B5A68A6 /* AWSAuthUIHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSAuthUIHelper.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthUIHelper.h; sourceTree = ""; }; B5F756FBF9D42A3DCA46CF9288B1B621 /* Pods-AWSAppSyncIntegrationTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSyncIntegrationTests.modulemap"; sourceTree = ""; }; - B60F07B2D1F0B5B297697709B4CC8C0E /* AWSCognitoAuth+Extensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoAuth+Extensions.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.h"; sourceTree = ""; }; - B6A037224F12F6AFCCF8B758235DC5C9 /* AWSDDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDDispatchQueueLogFormatter.m; path = AWSCore/Logging/Extensions/AWSDDDispatchQueueLogFormatter.m; sourceTree = ""; }; - B76CF9F5B1C4811F80CF86EA4C251CBE /* AWSURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLResponseSerialization.m; path = AWSCore/Serialization/AWSURLResponseSerialization.m; sourceTree = ""; }; - B787C6263B34F4524C2FAB3532450371 /* AWSCognitoCredentialsProvider+Extension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoCredentialsProvider+Extension.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoCredentialsProvider+Extension.h"; sourceTree = ""; }; - B93C2F893446EDE47E6D11B3D34BBF20 /* AWSLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSLogging.h; path = AWSCore/Utility/AWSLogging.h; sourceTree = ""; }; - B9E2A1BC980C8E5047073DB55EBCFA2A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h"; sourceTree = ""; }; - BAD18067063DFD339BCCE1B6BF227962 /* Coding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Coding.swift; path = Sources/SQLite/Typed/Coding.swift; sourceTree = ""; }; - BAD7B92694CA961CA4223D41D6C95722 /* AWSMTLManagedObjectAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLManagedObjectAdapter.m; path = AWSCore/Mantle/AWSMTLManagedObjectAdapter.m; sourceTree = ""; }; - BAD9A049455CA886145A854C6649FC98 /* AWSFMDB.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDB.h; path = AWSCore/FMDB/AWSFMDB.h; sourceTree = ""; }; - BB6F3F0DEE02B99245E8BCC7122AC663 /* AWSAuthCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSAuthCore.modulemap; sourceTree = ""; }; + B6205B30C2CFAAE76A42D1FC3764A6BD /* AppSyncConnectionRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncConnectionRequest.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncConnectionRequest.swift; sourceTree = ""; }; + B63F52A4AE770D69B4E0D79342617576 /* AWSDDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLog.h; path = AWSCore/Logging/AWSDDLog.h; sourceTree = ""; }; + B737283A440A2455311774C2A7B1B46A /* AWSCognitoCredentialsProvider+Extension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoCredentialsProvider+Extension.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoCredentialsProvider+Extension.h"; sourceTree = ""; }; + B826470FF448C471A5F27CAECEC39208 /* AWSCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCategory.h; path = AWSCore/Utility/AWSCategory.h; sourceTree = ""; }; + B87A489C0182577FCC2EBCD97063207A /* AWSS3TransferUtilityDatabaseHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtilityDatabaseHelper.h; path = AWSS3/AWSS3TransferUtilityDatabaseHelper.h; sourceTree = ""; }; + B933A7AE854FCA24B4179171B051439A /* AWSDDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDContextFilterLogFormatter.h; path = AWSCore/Logging/Extensions/AWSDDContextFilterLogFormatter.h; sourceTree = ""; }; + B9EF568010055465BD1BACE13B2B362B /* AWSMTLModel+NSCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSMTLModel+NSCoding.m"; path = "AWSCore/Mantle/AWSMTLModel+NSCoding.m"; sourceTree = ""; }; + BA579A22EE6DA9F823F5EE9115197E3A /* AWSCognitoIdentityProviderSrpHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderSrpHelper.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderSrpHelper.h; sourceTree = ""; }; + BAC2329FFC83C3F7180C0D1600AF35ED /* AWSCognitoIdentityUser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUser.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h; sourceTree = ""; }; BB920F3E9C8C378B4461DE2FA927C0C3 /* Pods-ApolloTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ApolloTests-dummy.m"; sourceTree = ""; }; BB92CB7C865EE6F5A520689C2ECDE938 /* Pods-AWSAppSyncIntegrationTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncIntegrationTests-acknowledgements.plist"; sourceTree = ""; }; - BBDC4296BE06A955BE1B0F4C8832649E /* AppSyncRealTimeClient-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AppSyncRealTimeClient-prefix.pch"; sourceTree = ""; }; + BBDEB3FCE1C43A2FB15231A32C546175 /* AWSURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLRequestSerialization.m; path = AWSCore/Serialization/AWSURLRequestSerialization.m; sourceTree = ""; }; BC7133E82896B641B53CA9C97E2A59F2 /* Pods-AWSAppSyncTestCommon-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestCommon-Info.plist"; sourceTree = ""; }; - BCC06DE6B17E58CB4E1009FE68EA890B /* AWSMTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLJSONAdapter.m; path = AWSCore/Mantle/AWSMTLJSONAdapter.m; sourceTree = ""; }; - BCEFC0396379C43F2EC9B8CA2982E970 /* AWSCognitoIdentityUserPool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUserPool.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUserPool.h; sourceTree = ""; }; - BEBC797FA55506E8C8C41C536B7E5DD2 /* AWSMobileClient-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSMobileClient-dummy.m"; sourceTree = ""; }; - BF6A223C2E7E11C8FB1584C654053FEC /* AppSyncRealTimeClient-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AppSyncRealTimeClient-Info.plist"; sourceTree = ""; }; - BFB0F416156E20EA13F192817B560A76 /* AWSSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSerialization.m; path = AWSCore/Serialization/AWSSerialization.m; sourceTree = ""; }; - C11636DBBD7E1F83C886CE73A690DBBA /* AWSCognitoIdentityASF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityASF.h; path = AWSCognitoIdentityProviderASF/Internal/AWSCognitoIdentityASF.h; sourceTree = ""; }; - C1781FB64F02E9473F89C558DB0798D5 /* AWSSignature.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSignature.m; path = AWSCore/Authentication/AWSSignature.m; sourceTree = ""; }; - C1E630CA20A05F71ED3E0A676F64F069 /* NSDictionary+AWSMTLManipulationAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+AWSMTLManipulationAdditions.h"; path = "AWSCore/Mantle/NSDictionary+AWSMTLManipulationAdditions.h"; sourceTree = ""; }; - C1F4E21B7CA87EBA2A8E97CBD408994D /* AWSDDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDASLLogger.m; path = AWSCore/Logging/AWSDDASLLogger.m; sourceTree = ""; }; - C1FAECC53155F9C3D6ADDE8CABF94A2E /* AWSFMDatabaseQueue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabaseQueue.m; path = AWSCore/FMDB/AWSFMDatabaseQueue.m; sourceTree = ""; }; - C25033161C3E4D371F85068D17BE866B /* AWSMTLReflection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLReflection.h; path = AWSCore/Mantle/AWSMTLReflection.h; sourceTree = ""; }; - C31299A886DD0A1D76CF5011F083B474 /* AWSURLRequestRetryHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLRequestRetryHandler.h; path = AWSCore/Serialization/AWSURLRequestRetryHandler.h; sourceTree = ""; }; + BD05320EDE6478374EAD54B066983F67 /* AWSEXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSEXTRuntimeExtensions.m; path = AWSCore/Mantle/extobjc/AWSEXTRuntimeExtensions.m; sourceTree = ""; }; + BD58D6553894E20498C50B60F5C94E17 /* AWSDDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLogMacros.h; path = AWSCore/Logging/AWSDDLogMacros.h; sourceTree = ""; }; + BE459093615028FD5EBF54890D6B2701 /* AWSSTSResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSResources.m; path = AWSCore/STS/AWSSTSResources.m; sourceTree = ""; }; + BE7EDCFC0AE9EFA91E0A9304390E62B2 /* AWSCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCore-dummy.m"; sourceTree = ""; }; + BEE0A71D9B3BA7EC994EB789116C7B24 /* AWSMobileClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMobileClient.h; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.h; sourceTree = ""; }; + BF16EF0613314EF139E72EF80FC5B86B /* AWSCognitoIdentityProvider-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCognitoIdentityProvider-Info.plist"; sourceTree = ""; }; + BF2857B55E93B80484B700694D5AAE90 /* DateAndTimeFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateAndTimeFunctions.swift; path = Sources/SQLite/Typed/DateAndTimeFunctions.swift; sourceTree = ""; }; + BFE91568CD02309E6C3493A077920755 /* ReachabilitySwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ReachabilitySwift.modulemap; sourceTree = ""; }; + C0698F54DB908868C505639866B85534 /* NSData+AWSCognitoIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AWSCognitoIdentityProvider.h"; path = "AWSCognitoIdentityProvider/Internal/NSData+AWSCognitoIdentityProvider.h"; sourceTree = ""; }; + C10E02B8676694B9354AC43296E56EB5 /* AWSMTLJSONAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLJSONAdapter.m; path = AWSCore/Mantle/AWSMTLJSONAdapter.m; sourceTree = ""; }; + C185066F7175174E2CE0FF86879E380B /* AWSSignInButtonView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInButtonView.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInButtonView.h; sourceTree = ""; }; + C288D73B84EB3C24651163F1ADCEF355 /* DeviceOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DeviceOperations.swift; path = AWSAuthSDK/Sources/AWSMobileClient/DeviceOperations.swift; sourceTree = ""; }; C33BF10DE5E7F71484A859D5549F9BE5 /* Pods_AWSAppSyncTestApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSyncTestApp.framework; path = "Pods-AWSAppSyncTestApp.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - C38B815BC297EB82AB852B220943C58D /* AWSDDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDFileLogger.m; path = AWSCore/Logging/AWSDDFileLogger.m; sourceTree = ""; }; - C417DA2E525786A4F18A82430314E645 /* AWSAuthUIHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSAuthUIHelper.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthUIHelper.m; sourceTree = ""; }; - C46B8CBFC90F3C531637A3106F6E6E21 /* AWSValidation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSValidation.m; path = AWSCore/Serialization/AWSValidation.m; sourceTree = ""; }; - C4FAF8B544299E792F5F80605A70EFB4 /* AppSyncConnectionRequest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncConnectionRequest.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncConnectionRequest.swift; sourceTree = ""; }; - C507EBDE4BA2128EDB62C4DB9F1AC705 /* AWSURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLSessionManager.m; path = AWSCore/Networking/AWSURLSessionManager.m; sourceTree = ""; }; - C53737563A8FF848FD401055CA16A90F /* AWSMobileClient.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSMobileClient.modulemap; sourceTree = ""; }; - C53968F9EB8844D61F9465A8CCB468C1 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; - C66677E9B66D2C91EEED91208BAF5196 /* SQLite.swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.release.xcconfig; sourceTree = ""; }; - C666BB68138A7ACEF6EBCC93F45D6385 /* AWSFMDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabase.m; path = AWSCore/FMDB/AWSFMDatabase.m; sourceTree = ""; }; - C6EA17802596026BD35D7102FDB96DF9 /* NSData+AWSCognitoIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AWSCognitoIdentityProvider.h"; path = "AWSCognitoIdentityProvider/Internal/NSData+AWSCognitoIdentityProvider.h"; sourceTree = ""; }; + C35B32EDF44E381CCE8B0C3BC2D21A1D /* AWSFMDatabase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabase.m; path = AWSCore/FMDB/AWSFMDatabase.m; sourceTree = ""; }; + C3AA6EFC10E70D5782E3A34EF9101A0B /* AWSNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNetworking.h; path = AWSCore/Networking/AWSNetworking.h; sourceTree = ""; }; + C4D1D68B1969D46390533A4F6EAF76AC /* AWSmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSmetamacros.h; path = AWSCore/Mantle/extobjc/AWSmetamacros.h; sourceTree = ""; }; + C67ABB302450803D7B4B460991513C09 /* AppSyncJSONValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncJSONValue.swift; path = AppSyncRealTimeClient/Support/AppSyncJSONValue.swift; sourceTree = ""; }; + C6EF8EDE2FE3B8BCCF7908D2BF4DDF25 /* CustomFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomFunctions.swift; path = Sources/SQLite/Typed/CustomFunctions.swift; sourceTree = ""; }; C6FA57C9CF74491170059E8BFE523DA4 /* Pods_ApolloTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ApolloTests.framework; path = "Pods-ApolloTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + C793DDB63B3FBCBF576C197F50726DFB /* AWSJKBigDecimal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSJKBigDecimal.m; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigDecimal.m; sourceTree = ""; }; C7E8E0F66C3D7DF082E343C20EAF4FDC /* Pods-AWSAppSyncTestCommon-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSyncTestCommon-acknowledgements.markdown"; sourceTree = ""; }; C7FB721BB50AD6C399799AF661A2A7EF /* Pods-AWSAppSyncIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSyncIntegrationTests.debug.xcconfig"; sourceTree = ""; }; + C835684D31CBB76FB98171C801B80FAB /* AWSS3TransferUtility+Validation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSS3TransferUtility+Validation.m"; path = "AWSS3/AWSS3TransferUtility+Validation.m"; sourceTree = ""; }; C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; - C9E4A5DA86B891BCAED806FCC8330402 /* AWSS3-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSS3-prefix.pch"; sourceTree = ""; }; - CA247B927DA498B7739E589ED8D3A7B4 /* AWSS3TransferUtilityTasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtilityTasks.h; path = AWSS3/AWSS3TransferUtilityTasks.h; sourceTree = ""; }; - CA3A79C214E7E3CD8EF6DAC5AFC98354 /* AWSCognitoIdentityProvider-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProvider-umbrella.h"; sourceTree = ""; }; - CA43588C2EAC9981BDACDE48F4C78736 /* NSObject+AWSMTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+AWSMTLComparisonAdditions.m"; path = "AWSCore/Mantle/NSObject+AWSMTLComparisonAdditions.m"; sourceTree = ""; }; - CBD75E5B97CA025EB8CF795D20EE32B7 /* AWSCognitoIdentity+Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoIdentity+Fabric.h"; path = "AWSCore/CognitoIdentity/AWSCognitoIdentity+Fabric.h"; sourceTree = ""; }; - CC357EA3C8CC8CD576FEBF2A04B22E42 /* aws_tommath_superclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = aws_tommath_superclass.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/LibTomMath/aws_tommath_superclass.h; sourceTree = ""; }; - CC42CEB6170810C5BD0A994047B687BB /* AWSTaskCompletionSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTaskCompletionSource.m; path = AWSCore/Bolts/AWSTaskCompletionSource.m; sourceTree = ""; }; + CA5058B1788D0F4D1E65E154F19971B5 /* AWSS3TransferUtilityBlocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtilityBlocks.m; path = AWSS3/AWSS3TransferUtilityBlocks.m; sourceTree = ""; }; + CA5C990D9B68602FAED6DB3CF42BBFB2 /* AWSCognitoIdentityProviderASF-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCognitoIdentityProviderASF-dummy.m"; sourceTree = ""; }; + CB1EA0AF84EC22E7A65FC73D5C7BA79C /* AWSCognitoAuthUICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoAuthUICKeyChainStore.m; path = AWSCognitoAuth/Internal/UICKeyChainStore/AWSCognitoAuthUICKeyChainStore.m; sourceTree = ""; }; + CB850EC351329E428C7621F1DA2ABB33 /* AppSyncResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AppSyncResponse.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppSyncResponse.swift; sourceTree = ""; }; + CBA81B31E41A3C68BC4F9A1B95F5826D /* AWSS3TransferUtility+HeaderHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSS3TransferUtility+HeaderHelper.h"; path = "AWSS3/AWSS3TransferUtility+HeaderHelper.h"; sourceTree = ""; }; + CC2FE5289AA070C0A6495754EF921139 /* AWSEXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSEXTRuntimeExtensions.h; path = AWSCore/Mantle/extobjc/AWSEXTRuntimeExtensions.h; sourceTree = ""; }; + CC66D9DC132498F3F73E09D9EBBF889E /* AWSFMResultSet.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMResultSet.h; path = AWSCore/FMDB/AWSFMResultSet.h; sourceTree = ""; }; + CC8DA8428DFD59F9EB17B1761A142B2C /* SQLite.swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SQLite.swift.debug.xcconfig; sourceTree = ""; }; CCFB8F03867DB892EFC47B53186590C4 /* AWSCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AWSCore.framework; path = AWSCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CD60D2B62890CE2081636C4413EB165F /* AWSCognitoIdentityProviderModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderModel.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h; sourceTree = ""; }; - CD7C3C7E30C57F2FF014DE242870E053 /* NSValueTransformer+AWSMTLInversionAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValueTransformer+AWSMTLInversionAdditions.h"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLInversionAdditions.h"; sourceTree = ""; }; - CDB1C07115DC9B5761D10EB8496B9FE5 /* AWSCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCategory.h; path = AWSCore/Utility/AWSCategory.h; sourceTree = ""; }; - CE820AA6821FDCAD36173B8A8FAAABDA /* AWSCognitoAuth.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoAuth.h; path = AWSCognitoAuth/AWSCognitoAuth.h; sourceTree = ""; }; - CF641D4A37A07E0B30FF0A9BCEB07B39 /* NSError+AWSMTLModelException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError+AWSMTLModelException.h"; path = "AWSCore/Mantle/NSError+AWSMTLModelException.h"; sourceTree = ""; }; + CDCCC4A3E853D1DED176CBBA0323F710 /* ReachabilitySwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-umbrella.h"; sourceTree = ""; }; + CE29DE93BC880A3A05A516D6814BBEC8 /* AWSJKBigDecimal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSJKBigDecimal.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigDecimal.h; sourceTree = ""; }; CFAB6BA6FB742ED24B32404F3BF062E9 /* AWSAuthCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AWSAuthCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D034A5ED239A16221628815492B0A3E9 /* AppSyncMessage+Encodable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncMessage+Encodable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage+Encodable.swift"; sourceTree = ""; }; - D03A05419E8FF4FAE99C5DABE8A654E6 /* AWSS3TransferUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtility.m; path = AWSS3/AWSS3TransferUtility.m; sourceTree = ""; }; + D03C4530E2B9259797124DEBB9397E9C /* AWSCognitoIdentityUserPool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityUserPool.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUserPool.m; sourceTree = ""; }; + D10A236DE1DF8779FCC7487B5B09B4F1 /* AWSInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSInfo.m; path = AWSCore/Service/AWSInfo.m; sourceTree = ""; }; + D16AFC5A97B3085C9DD26E0A91944D8E /* AWSS3TransferUtility+EnumerateBlocks.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSS3TransferUtility+EnumerateBlocks.m"; path = "AWSS3/AWSS3TransferUtility+EnumerateBlocks.m"; sourceTree = ""; }; D17E4C28564F1520B5A1B3547DF25AC0 /* Pods-AWSAppSyncTestHostApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSyncTestHostApp-acknowledgements.markdown"; sourceTree = ""; }; - D18EFDE712B36D9CFAC5DCFB385E61E0 /* RTree.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RTree.swift; path = Sources/SQLite/Extensions/RTree.swift; sourceTree = ""; }; - D1BF953B0B33EFFB7EC8266F2C3D820C /* AWSCognitoIdentityResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityResources.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityResources.m; sourceTree = ""; }; + D2017F91ACF1A0C156178420DB55F33A /* RealtimeConnectionProviderResponse.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RealtimeConnectionProviderResponse.swift; path = AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift; sourceTree = ""; }; + D2298DA2AD246448CE1890D1E6F7BDF1 /* AWSCognitoIdentityUserPool+Extension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoIdentityUserPool+Extension.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoIdentityUserPool+Extension.h"; sourceTree = ""; }; + D24710B5E53CA05BAEB43672FE317EF3 /* AWSS3TransferUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtility.m; path = AWSS3/AWSS3TransferUtility.m; sourceTree = ""; }; D3430AC63C15732EFB53AF94C869D631 /* Pods-AWSAppSyncTestApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncTestApp-Info.plist"; sourceTree = ""; }; + D34C424223B55B7AD9F4B65C43AD3464 /* AWSCognitoIdentityProvider.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCognitoIdentityProvider.modulemap; sourceTree = ""; }; + D391B99BB82C2EB7A5C62944387E6DDB /* RealtimeConnectionProvider+Websocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+Websocket.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift"; sourceTree = ""; }; D3D0E4B1E1886CE70737219A735AAD4C /* AWSCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AWSCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D5310B6B33905B63CBE9B529325B230F /* NSDictionary+AWSMTLManipulationAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+AWSMTLManipulationAdditions.m"; path = "AWSCore/Mantle/NSDictionary+AWSMTLManipulationAdditions.m"; sourceTree = ""; }; + D3F20E249EEAA1A1287B6E52B727629B /* AWSCognitoIdentityProviderHKDF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderHKDF.m; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityProviderHKDF.m; sourceTree = ""; }; + D5CEC83DEE22045066AC0ACC650866BE /* AWSAuthCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSAuthCore.modulemap; sourceTree = ""; }; + D5DFA1AB79158E6DB0CB63E1E298B6D9 /* AppSyncSubscriptionConnection+DataHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+DataHandler.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift"; sourceTree = ""; }; + D5FAE6C59DA4FA1DC9AF0D5FEA4CE795 /* AWSCognitoIdentityProvider.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProvider.release.xcconfig; sourceTree = ""; }; + D60A7210AF9737275B90328BA72A6BF8 /* OIDCAuthInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OIDCAuthInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/OIDCAuthInterceptor.swift; sourceTree = ""; }; D66DA92142B3345159BAE63A5C875E14 /* Pods-ApolloTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ApolloTests.debug.xcconfig"; sourceTree = ""; }; - D71FFFAF33FAE046022EF511D4D1DEFB /* AWSCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCore-dummy.m"; sourceTree = ""; }; D73031D4E33A3D7E5D111DCFA437C372 /* Pods-AWSAppSyncUnitTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncUnitTests-Info.plist"; sourceTree = ""; }; - D731D634D5B9F951153845ADC3E1863E /* AWSS3TransferUtilityDatabaseHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3TransferUtilityDatabaseHelper.m; path = AWSS3/AWSS3TransferUtilityDatabaseHelper.m; sourceTree = ""; }; D73264E3F4C75D70943D6BA1FD29DD29 /* Pods-AWSAppSyncUnitTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSyncUnitTests.modulemap"; sourceTree = ""; }; - D733AC9BA999E18268FAB4A108BCD123 /* AWSAuthCore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSAuthCore-prefix.pch"; sourceTree = ""; }; - D736BA331354E71D15D23B6F00427737 /* StarscreamAdapter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StarscreamAdapter.swift; path = AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift; sourceTree = ""; }; - D891ED4F8ED0B36A0DF08DE51A1AAF90 /* NSObject+AWSMTLComparisonAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+AWSMTLComparisonAdditions.h"; path = "AWSCore/Mantle/NSObject+AWSMTLComparisonAdditions.h"; sourceTree = ""; }; - D962FE253BEDBADB00EB8D4EE2665C4F /* AWSDDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDFileLogger.h; path = AWSCore/Logging/AWSDDFileLogger.h; sourceTree = ""; }; - D9FF163E8BC7FC32A7595204C44985B4 /* Fabric+FABKits.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Fabric+FABKits.h"; path = "AWSCore/Fabric/Fabric+FABKits.h"; sourceTree = ""; }; - DB2274EC5F449010A4920E0DEDAC6422 /* AWSTaskCompletionSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTaskCompletionSource.h; path = AWSCore/Bolts/AWSTaskCompletionSource.h; sourceTree = ""; }; - DB6281DCE9D31CE157CD80254F4E30F3 /* Setter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Setter.swift; path = Sources/SQLite/Typed/Setter.swift; sourceTree = ""; }; - DB90DE3B85080B50E2CB08C22B5CCE41 /* AWSMTLValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLValueTransformer.m; path = AWSCore/Mantle/AWSMTLValueTransformer.m; sourceTree = ""; }; - DBFBFAA26EF1D7A8A8B3153CDCCB329E /* NSValueTransformer+AWSMTLInversionAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValueTransformer+AWSMTLInversionAdditions.m"; path = "AWSCore/Mantle/NSValueTransformer+AWSMTLInversionAdditions.m"; sourceTree = ""; }; - DC5E994B47F5177C6EC1872DFCEE4D11 /* AWSCredentialsProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCredentialsProvider.m; path = AWSCore/Authentication/AWSCredentialsProvider.m; sourceTree = ""; }; - DC7C7C675948EAD6180F0B91D42487F1 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = ""; }; - DD02A1D6A57D20B9712BA36FB91B86F1 /* RealtimeConnectionProvider+MessageInterceptable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+MessageInterceptable.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+MessageInterceptable.swift"; sourceTree = ""; }; - DDA62F753F72416A68173475E3C2C5EC /* AWSKSReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSKSReachability.m; path = AWSCore/KSReachability/AWSKSReachability.m; sourceTree = ""; }; - DE9F2444328766B450F9187D0346A62C /* RealtimeConnectionProvider+Websocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RealtimeConnectionProvider+Websocket.swift"; path = "AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift"; sourceTree = ""; }; - DF2EC42344C37A98B27281E89143C25E /* AWSDDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDASLLogCapture.h; path = AWSCore/Logging/AWSDDASLLogCapture.h; sourceTree = ""; }; - DF7F52B86A172D805BAC2B5870C20568 /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; - DF97D66B708D45C602D4E44F1173772A /* AWSDDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDLog.h; path = AWSCore/Logging/AWSDDLog.h; sourceTree = ""; }; - DFE57BD12B192FA9A30D572F6B7D1B07 /* AWSCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AWSCore-Info.plist"; sourceTree = ""; }; - E079F4060322A39E0D35E856AB6FB939 /* AWSMTLJSONAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLJSONAdapter.h; path = AWSCore/Mantle/AWSMTLJSONAdapter.h; sourceTree = ""; }; - E0B024AF37340D772934BD5E77E67F77 /* AWSDDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDOSLogger.h; path = AWSCore/Logging/AWSDDOSLogger.h; sourceTree = ""; }; - E0B5CE900F8F76A650EB4BAA370E4C02 /* AWSSignInProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignInProvider.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSSignInProvider.h; sourceTree = ""; }; - E184DAA9B2D4BFD834523466F94A290F /* AWSMobileClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClient.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.swift; sourceTree = ""; }; - E202527A8626400D4C1A135FD446B05C /* AWSCognitoIdentityProviderService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityProviderService.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h; sourceTree = ""; }; - E2803BAC531D49B0854F17FDAAE8B7C0 /* AWSS3-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSS3-umbrella.h"; sourceTree = ""; }; - E343AFD850012FC19427F581818C0BE2 /* AWSCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCore.modulemap; sourceTree = ""; }; - E39432DE86DE7475E7421BC3F24BDBFD /* AppSyncRealTimeClient-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AppSyncRealTimeClient-dummy.m"; sourceTree = ""; }; - E399951A5E965947ABBD07134595D4E7 /* AWSDDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDLog.m; path = AWSCore/Logging/AWSDDLog.m; sourceTree = ""; }; - E39BACCE117BD7EF69BAFA271794E8C1 /* AWSSynchronizedMutableDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSynchronizedMutableDictionary.m; path = AWSCore/Utility/AWSSynchronizedMutableDictionary.m; sourceTree = ""; }; - E49C92DD0769C2535762B459B052160E /* AWSCognitoIdentityUserPool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityUserPool.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUserPool.m; sourceTree = ""; }; - E7083FBFCC6032F317268DDB362EC1F0 /* AppSyncSubscriptionConnection+ErrorHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+ErrorHandler.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift"; sourceTree = ""; }; - E7C5909190E73EAC3763AE5D1C4D240F /* AWSCognitoAuthUICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoAuthUICKeyChainStore.m; path = AWSCognitoAuth/Internal/UICKeyChainStore/AWSCognitoAuthUICKeyChainStore.m; sourceTree = ""; }; - E7F0425B7AD2C92F0FA2E5A78D9A1B12 /* AWSAuthUIHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSAuthUIHelper.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthUIHelper.h; sourceTree = ""; }; - E89738BD5EDA148643A3544657F23E88 /* AWSCancellationToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationToken.m; path = AWSCore/Bolts/AWSCancellationToken.m; sourceTree = ""; }; - E89C189594C63DB8D1985F0222EC6B07 /* AWSGZIP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSGZIP.h; path = AWSCore/GZIP/AWSGZIP.h; sourceTree = ""; }; - E918882C2A5672DDCC510F80406BC63C /* AWSURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSURLSessionManager.h; path = AWSCore/Networking/AWSURLSessionManager.h; sourceTree = ""; }; + D8465B1E1A81E14923DC903C1B6411A0 /* AWSS3TransferUtilityTasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3TransferUtilityTasks.h; path = AWSS3/AWSS3TransferUtilityTasks.h; sourceTree = ""; }; + D8E46E92C0966F3913B8F22169E6D62B /* ConnectionProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProvider.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift; sourceTree = ""; }; + D93E6B935D02913DB399A3EDF01A2583 /* AWSSTSService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSTSService.m; path = AWSCore/STS/AWSSTSService.m; sourceTree = ""; }; + DA7D91D4EE04D0C427903431E80FE1B2 /* AWSCognitoIdentityProviderASF.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSCognitoIdentityProviderASF.modulemap; sourceTree = ""; }; + DAAC253C4963419D29AB92317ACD3C45 /* ReachabilitySwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.release.xcconfig; sourceTree = ""; }; + DABFBB5DA0369756267394A8FAB3F09B /* AWSKSReachability.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSKSReachability.m; path = AWSCore/KSReachability/AWSKSReachability.m; sourceTree = ""; }; + DAE607E77B82DE1677A91BC8DC17A8CD /* AWSServiceEnum.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSServiceEnum.h; path = AWSCore/Service/AWSServiceEnum.h; sourceTree = ""; }; + DCC98045CE1BABEB11A32D17BD72A051 /* NSObject+AWSMTLComparisonAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+AWSMTLComparisonAdditions.m"; path = "AWSCore/Mantle/NSObject+AWSMTLComparisonAdditions.m"; sourceTree = ""; }; + DF9A74832ED4E822B0E5275A784DBAB9 /* AWSCognitoIdentityProvider-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCognitoIdentityProvider-prefix.pch"; sourceTree = ""; }; + E022FF50B4B620EFF0AEFA3F619F3DC0 /* AWSS3RequestRetryHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3RequestRetryHandler.h; path = AWSS3/AWSS3RequestRetryHandler.h; sourceTree = ""; }; + E04C9BF0770D9857FB4E174B0AA24752 /* AWSDDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDFileLogger.m; path = AWSCore/Logging/AWSDDFileLogger.m; sourceTree = ""; }; + E0B3843374C35716E3AE0AA8101EC76B /* _AWSMobileClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _AWSMobileClient.h; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.h; sourceTree = ""; }; + E0D248A3F7A6CEE8567D38B247045348 /* AWSCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSCore-umbrella.h"; sourceTree = ""; }; + E0EEC87C5F69F09FDED633D32A724ABB /* AWSDDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSDDLog+LOGV.h"; path = "AWSCore/Logging/AWSDDLog+LOGV.h"; sourceTree = ""; }; + E1369AD07009D02020C57BCA93B63E30 /* AWSCredentialsProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCredentialsProvider.m; path = AWSCore/Authentication/AWSCredentialsProvider.m; sourceTree = ""; }; + E15572D9CC465755FE967F9A9CBC0108 /* AWSS3-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSS3-umbrella.h"; sourceTree = ""; }; + E1B02C66269F9EA62F31DBA2E26FBB75 /* Starscream.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.debug.xcconfig; sourceTree = ""; }; + E257125B68F64BCEC07F65C1686C9F0F /* AWSDDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDDispatchQueueLogFormatter.h; path = AWSCore/Logging/Extensions/AWSDDDispatchQueueLogFormatter.h; sourceTree = ""; }; + E26F432975EB3224977A096FE5042E93 /* AggregateFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AggregateFunctions.swift; path = Sources/SQLite/Typed/AggregateFunctions.swift; sourceTree = ""; }; + E2768BE80F3E2EFCE49F9DEA9573A800 /* AWSClientContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSClientContext.m; path = AWSCore/Service/AWSClientContext.m; sourceTree = ""; }; + E34E477B307F3670C0FBDA848C30211A /* Helpers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Helpers.swift; path = Sources/SQLite/Helpers.swift; sourceTree = ""; }; + E456B8FB9EBB1BA7C30673F1594034A3 /* AWSIdentityProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSIdentityProvider.m; path = AWSCore/Authentication/AWSIdentityProvider.m; sourceTree = ""; }; + E5E46EE5584765E39E6FFFC87AF32A18 /* AWSSignature.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSignature.h; path = AWSCore/Authentication/AWSSignature.h; sourceTree = ""; }; + E67B9C2503E57740893AA176F519D7E7 /* Statement.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Statement.swift; path = Sources/SQLite/Core/Statement.swift; sourceTree = ""; }; + E699E64A2E03BB75CDD7A79ED4FDB76B /* AWSMobileClientXCF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMobileClientXCF.h; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientXCF.h; sourceTree = ""; }; + E80707EBAD4C4DE167FB14CA7B4AE188 /* Coding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Coding.swift; path = Sources/SQLite/Typed/Coding.swift; sourceTree = ""; }; + E865564E630AAD97FA1284DEF2978F53 /* AWSMobileClientExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSMobileClientExtensions.swift; path = AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift; sourceTree = ""; }; + E91535B4BD35D1866E2640BEAA2A6BDB /* AWSMobileClient-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AWSMobileClient-prefix.pch"; sourceTree = ""; }; E989BAF20C9082A0EA2E41926F098EF3 /* Pods-AWSAppSync.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-AWSAppSync.debug.xcconfig"; sourceTree = ""; }; - EA20E4439380BE7A6D649169D98938F3 /* Value.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Value.swift; path = Sources/SQLite/Core/Value.swift; sourceTree = ""; }; - EB03747E3895A71023785C41C981A2D0 /* AWSJKBigInteger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSJKBigInteger.m; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigInteger.m; sourceTree = ""; }; + EA9AB02C44FEE669D0257FCF1603989F /* AWSCognitoIdentityModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityModel.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityModel.h; sourceTree = ""; }; + EAB620F008066F5615FB2461B564B15B /* AWSMTLModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSMTLModel.h; path = AWSCore/Mantle/AWSMTLModel.h; sourceTree = ""; }; EB17A8CF9F54D0A346F2E0F743679A34 /* Pods-AWSAppSyncTestApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSyncTestApp.modulemap"; sourceTree = ""; }; - EC7A2A89FF7F85F2C266F0445B65327B /* AWSCognitoIdentityUser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUser.h; path = AWSCognitoIdentityProvider/AWSCognitoIdentityUser.h; sourceTree = ""; }; - ED6C173F302FD8972652CD5C8F9AEC9C /* AWSTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSTask.h; path = AWSCore/Bolts/AWSTask.h; sourceTree = ""; }; - ED87D67BDB16008E80E36280A36BF19C /* AWSCognitoIdentityProvider.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProvider.debug.xcconfig; sourceTree = ""; }; - EE0B62B7BC9EDED11F4895D3F2580A19 /* AppSyncSubscriptionConnection+Connection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AppSyncSubscriptionConnection+Connection.swift"; path = "AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift"; sourceTree = ""; }; - EECDD0559D0C627128EFFFC9D45B47A7 /* AWSS3.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AWSS3.modulemap; sourceTree = ""; }; - EED771BF0B3F6BA9BDB1DB72E4B5F700 /* AWSUICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSUICKeyChainStore.m; path = AWSCore/UICKeyChainStore/AWSUICKeyChainStore.m; sourceTree = ""; }; + EB2575C425CD018FDB7109FC88BED706 /* AWSCognitoIdentityModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityModel.m; path = AWSCore/CognitoIdentity/AWSCognitoIdentityModel.m; sourceTree = ""; }; + EC0543B1B56E8C1C2EA3485393962106 /* AWSFMDatabasePool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabasePool.h; path = AWSCore/FMDB/AWSFMDatabasePool.h; sourceTree = ""; }; + ED87DB76ADA882D749792BA3FE3A9BC0 /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; EF5AB3E3844F260FD15AF6CF195C5598 /* Pods-AWSAppSyncUnitTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-AWSAppSyncUnitTests-acknowledgements.plist"; sourceTree = ""; }; - F0051A416BA10149158A4D8AD99923DF /* AWSFMDatabaseAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabaseAdditions.m; path = AWSCore/FMDB/AWSFMDatabaseAdditions.m; sourceTree = ""; }; - F03ADED458B124FB46CE1CEB0195055F /* ConnectionProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConnectionProvider.swift; path = AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift; sourceTree = ""; }; - F067F86070A3457FA57B894FB18AD0CA /* Starscream.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.release.xcconfig; sourceTree = ""; }; + F077FB40A037AB0A3BB3689ED964029B /* AWSService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSService.m; path = AWSCore/Service/AWSService.m; sourceTree = ""; }; + F07C1097822293229E7464594EEE7289 /* Fabric+FABKits.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Fabric+FABKits.h"; path = "AWSCore/Fabric/Fabric+FABKits.h"; sourceTree = ""; }; F0E6A8A97A0D5F72CB2CA076B77DD282 /* Pods-AWSAppSyncTestHostApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-AWSAppSyncTestHostApp.modulemap"; sourceTree = ""; }; - F25D384CE129DDC6618B45B11473E504 /* AWSNetworkingHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSNetworkingHelpers.h; path = AWSCore/Networking/AWSNetworkingHelpers.h; sourceTree = ""; }; - F2787E0A03DE3BFE54FF17FE61BBFDC5 /* AWSDDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDDispatchQueueLogFormatter.h; path = AWSCore/Logging/Extensions/AWSDDDispatchQueueLogFormatter.h; sourceTree = ""; }; - F2CEC867A8862672F301221EE7216D58 /* AWSSTSService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSSTSService.h; path = AWSCore/STS/AWSSTSService.h; sourceTree = ""; }; - F32471B7D58C97BD35CB25F6181304E5 /* AWSUIConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSUIConfiguration.h; path = AWSAuthSDK/Sources/AWSAuthCore/AWSUIConfiguration.h; sourceTree = ""; }; - F469F0FBA98F59CD115D30F3FD55F270 /* AWSDDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDASLLogger.h; path = AWSCore/Logging/AWSDDASLLogger.h; sourceTree = ""; }; - F475A13D518D8B162B905DA9135E0180 /* AWSMobileClientXCF-Mixed-Swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMobileClientXCF-Mixed-Swift.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClientXCF-Mixed-Swift.h"; sourceTree = ""; }; - F4EA58D4FE0C9E146683EFAE53A2B6AF /* AWSIdentityProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSIdentityProvider.h; path = AWSCore/Authentication/AWSIdentityProvider.h; sourceTree = ""; }; - F53CD813217280C284A433F6207814F3 /* AWSMTLModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSMTLModel.m; path = AWSCore/Mantle/AWSMTLModel.m; sourceTree = ""; }; - F5403C4CA7019D5D2F6CB62B352FEADF /* AWSS3PreSignedURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSS3PreSignedURL.m; path = AWSS3/AWSS3PreSignedURL.m; sourceTree = ""; }; - F579FA7A9BD49B58BF23AC4CCEDCC393 /* AWSModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSModel.m; path = AWSCore/Utility/AWSModel.m; sourceTree = ""; }; + F1B3C09A2CEEC8B25BA3C9C5924B57FE /* AWSClientContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSClientContext.h; path = AWSCore/Service/AWSClientContext.h; sourceTree = ""; }; + F268BAD0C6C4CB88AEC75B91FC6C9639 /* AWSFMDatabasePool.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSFMDatabasePool.m; path = AWSCore/FMDB/AWSFMDatabasePool.m; sourceTree = ""; }; + F38427C4018C1CA77566DD4719900D2A /* AWSCognitoIdentityProviderASF.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCognitoIdentityProviderASF.release.xcconfig; sourceTree = ""; }; + F388B1D50BC77D3BBFFBC3B440F6C5F6 /* AppSyncRealTimeClient-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AppSyncRealTimeClient-dummy.m"; sourceTree = ""; }; + F3A1479C6F55CEDFDF874D9778D3AAB5 /* AWSCognitoAuth+Extensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoAuth+Extensions.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.h"; sourceTree = ""; }; + F40FC0FB66AE83230C6B12ED907BEFDB /* AWSMobileClientXCF-Mixed-Swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSMobileClientXCF-Mixed-Swift.h"; path = "AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSMobileClientXCF-Mixed-Swift.h"; sourceTree = ""; }; + F44DCF32587254F0453CE7E4429D8514 /* AWSCancellationToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCancellationToken.m; path = AWSCore/Bolts/AWSCancellationToken.m; sourceTree = ""; }; + F495C9FA898D07C9F17EE515E5C3863F /* RTree.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RTree.swift; path = Sources/SQLite/Extensions/RTree.swift; sourceTree = ""; }; + F5F0F27EBAB3805D8054DFDDFD25D16C /* AWSS3Service.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Service.h; path = AWSS3/AWSS3Service.h; sourceTree = ""; }; F5FA45A44C42CC2CA3A324A3E914CE19 /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SQLite.framework; path = SQLite.swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F6A405165E44A8192BF0CBBD8EF5D8F7 /* AWSS3TransferUtility+Validation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "AWSS3TransferUtility+Validation.m"; path = "AWSS3/AWSS3TransferUtility+Validation.m"; sourceTree = ""; }; - F6FC56C6CCBF4BF92CE693B54CBCA448 /* AWSUserPoolCustomAuthHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AWSUserPoolCustomAuthHandler.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSUserPoolCustomAuthHandler.swift; sourceTree = ""; }; + F5FC55DC5260FA80DEB474DAD386B49C /* AWSURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSURLSessionManager.m; path = AWSCore/Networking/AWSURLSessionManager.m; sourceTree = ""; }; + F650690CA50741B98A4F2A90CD2F07B6 /* SubscriptionConnection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SubscriptionConnection.swift; path = AppSyncRealTimeClient/Connection/SubscriptionConnection.swift; sourceTree = ""; }; F70E843761236FE8CD3AD2E7109C02F5 /* Pods_AWSAppSyncIntegrationTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_AWSAppSyncIntegrationTests.framework; path = "Pods-AWSAppSyncIntegrationTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - F74523E7A265375632691662B1409FDA /* AWSJKBigDecimal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSJKBigDecimal.h; path = AWSCognitoIdentityProvider/Internal/JKBigInteger/AWSJKBigDecimal.h; sourceTree = ""; }; - F887571921E5030AD629CDA921FE8580 /* APIKeyAuthInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = APIKeyAuthInterceptor.swift; path = AppSyncRealTimeClient/Interceptor/APIKeyAuthInterceptor.swift; sourceTree = ""; }; - F980429BB27D823F2017D23C55EEB485 /* AWSNetworkingHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSNetworkingHelpers.m; path = AWSCore/Networking/AWSNetworkingHelpers.m; sourceTree = ""; }; + F720160F3C7BC302894A9A2BE50CF64B /* AWSCognitoIdentityUserPool_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUserPool_Internal.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityUserPool_Internal.h; sourceTree = ""; }; + F82642319AD414617D0E29E8FF9CB512 /* AWSSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSSerialization.m; path = AWSCore/Serialization/AWSSerialization.m; sourceTree = ""; }; + F892744FB2F40B4D82DB413B8797A26D /* StarscreamAdapter+Delegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StarscreamAdapter+Delegate.swift"; path = "AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift"; sourceTree = ""; }; FA4EC6A3AF3581004A24BC4F94F0DA75 /* Pods-AWSAppSync-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-AWSAppSync-acknowledgements.markdown"; sourceTree = ""; }; - FA52D7DBEECCEE26AABC655AA4695B4A /* AWSS3Serializer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3Serializer.h; path = AWSS3/AWSS3Serializer.h; sourceTree = ""; }; + FAAF3EA94D16FDED52835BCD56868A13 /* AWSAuthUIHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSAuthUIHelper.m; path = AWSAuthSDK/Sources/AWSAuthCore/AWSAuthUIHelper.m; sourceTree = ""; }; + FAB9917891F7B0BEE650474F60C83BBB /* AWSDDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSDDMultiFormatter.h; path = AWSCore/Logging/Extensions/AWSDDMultiFormatter.h; sourceTree = ""; }; FAD4B84ADD920FCA3A89A6D1C3FC140C /* Pods-AWSAppSync-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-AWSAppSync-dummy.m"; sourceTree = ""; }; - FB97D391FAA1F92A3025EB76120087F5 /* AWSS3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3.h; path = AWSS3/AWSS3.h; sourceTree = ""; }; - FC9FE68C88683B2EB48AD58CF097A553 /* AWSCognitoIdentityUser_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityUser_Internal.h; path = AWSCognitoIdentityProvider/Internal/AWSCognitoIdentityUser_Internal.h; sourceTree = ""; }; - FCCEDB0095CF8BAB74F17FDC95D88409 /* AWSBolts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSBolts.m; path = AWSCore/Bolts/AWSBolts.m; sourceTree = ""; }; - FCF637F589ECFF44236FC94576888D4E /* AWSFMDatabasePool.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabasePool.h; path = AWSCore/FMDB/AWSFMDatabasePool.h; sourceTree = ""; }; - FE0B4707825FB5E1DEB1AAD9CA103A7C /* AWSFMDatabaseAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSFMDatabaseAdditions.h; path = AWSCore/FMDB/AWSFMDatabaseAdditions.h; sourceTree = ""; }; - FE1A8614D6327139B869863CCFB0152D /* AWSCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AWSCore.release.xcconfig; sourceTree = ""; }; - FED9EFA1CD034ABE6C12C1F4869B47A6 /* AWSCognitoIdentityProviderService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSCognitoIdentityProviderService.m; path = AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m; sourceTree = ""; }; - FEE70917D516B13996B82BAD7417C634 /* AppSyncRealTimeClient.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppSyncRealTimeClient.debug.xcconfig; sourceTree = ""; }; - FFC5E6EB0AC9F7F6BC7096EEBEC812C4 /* SSLClientCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLClientCertificate.swift; path = Sources/Starscream/SSLClientCertificate.swift; sourceTree = ""; }; + FADA15984CA57490EBEE8A358ED4D1E4 /* CountdownTimer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CountdownTimer.swift; path = AppSyncRealTimeClient/Support/CountdownTimer.swift; sourceTree = ""; }; + FB97C0A38940380006DD5E8108C8F077 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/SQLite/Typed/Operators.swift; sourceTree = ""; }; + FCEC6DCC376F24410D26076D8E070A51 /* AWSGZIP.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSGZIP.m; path = AWSCore/GZIP/AWSGZIP.m; sourceTree = ""; }; + FD8785EAB774BEBA550ADB8AE1B91D10 /* AWSCognitoIdentityProvider-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AWSCognitoIdentityProvider-dummy.m"; sourceTree = ""; }; + FD87FE197AB93898265E4B245EC08EF4 /* AWSCognitoIdentityResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSCognitoIdentityResources.h; path = AWSCore/CognitoIdentity/AWSCognitoIdentityResources.h; sourceTree = ""; }; + FE3121A39F8A687B3F357D6F7915DD29 /* AWSDDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSDDDispatchQueueLogFormatter.m; path = AWSCore/Logging/Extensions/AWSDDDispatchQueueLogFormatter.m; sourceTree = ""; }; + FE907A82BF330E5388FDA3574AED6361 /* AWSTimestampSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AWSTimestampSerialization.m; path = AWSCore/Serialization/AWSTimestampSerialization.m; sourceTree = ""; }; + FF8E832ACFFF82FFDD01BB8C809FBA44 /* AWSCognitoIdentity+Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "AWSCognitoIdentity+Fabric.h"; path = "AWSCore/CognitoIdentity/AWSCognitoIdentity+Fabric.h"; sourceTree = ""; }; + FF98526BD55BCBBBAADC2529628DD254 /* JSONHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = JSONHelper.swift; path = AWSAuthSDK/Sources/AWSMobileClient/Internal/JSONHelper.swift; sourceTree = ""; }; + FFB2D08A6F53CB7739086D42A36ECA8D /* AWSS3PreSignedURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AWSS3PreSignedURL.h; path = AWSS3/AWSS3PreSignedURL.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1F13D42ED5DAB580EC958827618FEECA /* Frameworks */ = { + 0AA6A13F89F7C02E352AD10F38660668 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9FD24108BFD650036A3422872243C978 /* Foundation.framework in Frameworks */, + 5B13CE900AC00494311C08237D2F4925 /* AWSCore.framework in Frameworks */, + 18FCFD6F689FE0469255102C703A34CF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1319,6 +1328,26 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5A7D319A5F50A43F1D06BA0B5F0C3F00 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 61A874285184FE3890C0D1F0520C00CD /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6D6D5C4A59375852FF2D6E00DDC7348D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D4BA0546D8F66B64C996A99062D78FC5 /* CoreGraphics.framework in Frameworks */, + 2ADB50F8431E12FD60CEA31FDF74CC16 /* Foundation.framework in Frameworks */, + 5B2A14A7E7833F03F779401B34F2CFC5 /* Security.framework in Frameworks */, + 061F9707EE183FE2B1F1BD7DA0C85DA5 /* SystemConfiguration.framework in Frameworks */, + 5ADA99B53E159CC6BB6B240DBCBAA136 /* UIKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 85EECB80ECF2B76248106731E8E0A69C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1331,6 +1360,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 8E73938AD8FD3776CA0FFEFE2A543D1B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0324BBC2D85E034478A135176813D83F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 92A37A51219ED31062DE51A3E139BF37 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1365,14 +1402,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - BF33A85DB2E0B07B6A49FD5038D89658 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 671EAC90E894AE4964D953B9C4C349B0 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; C1185243DCBE40EB8067AB0A8BDDB720 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1414,18 +1443,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EE0FCF0EEBDE8B4697563B6F8CC9D5A1 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9999F038FAA4455C8D71880FC03EBAA6 /* CoreGraphics.framework in Frameworks */, - 0A254EFE15B52DFF1C9721C662657CF1 /* Foundation.framework in Frameworks */, - 7386EDCB5937E1D7E4BF5203380F8413 /* Security.framework in Frameworks */, - 42A856ABC668CCE7F68D3B8BEAA4C9FD /* SystemConfiguration.framework in Frameworks */, - 4B38BEBDB78D77A983F40109483A7A6F /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; FA48527D7AD8F9485BA12992331B594F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1435,294 +1452,235 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FF23A243BC30EEC90750E8B9C758E0E4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FA090E75D21022AEBEFFA88F683125F0 /* AWSCore.framework in Frameworks */, - F28E36F7AB9DF5B354CBBCD1785D2C5F /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0647315E38722E9DC9DD85F5F0BF208D /* AppSyncRealTimeClient */ = { + 1ACC0A86271814C4B021725E57BA2855 /* Support Files */ = { isa = PBXGroup; children = ( - F887571921E5030AD629CDA921FE8580 /* APIKeyAuthInterceptor.swift */, - C4FAF8B544299E792F5F80605A70EFB4 /* AppSyncConnectionRequest.swift */, - 46035C95AAF9696C2EA02F54977EB935 /* AppSyncJSONHelper.swift */, - AC087A48DBEB65FE92330DFCA3B698E0 /* AppSyncJSONValue.swift */, - 5A0B5DE20B250D82E05BD7878DB00649 /* AppSyncLogger.swift */, - 92201F0FF3477050A2A6FC523D1800D8 /* AppSyncMessage.swift */, - D034A5ED239A16221628815492B0A3E9 /* AppSyncMessage+Encodable.swift */, - 648B412D515D75BF3244AAA9DFA33115 /* AppSyncResponse.swift */, - 2E3A77A47FB4C801CC8E1559B10D51EA /* AppSyncSubscriptionConnection.swift */, - EE0B62B7BC9EDED11F4895D3F2580A19 /* AppSyncSubscriptionConnection+Connection.swift */, - 71DA7987E41128A92C5C42267977234D /* AppSyncSubscriptionConnection+DataHandler.swift */, - E7083FBFCC6032F317268DDB362EC1F0 /* AppSyncSubscriptionConnection+ErrorHandler.swift */, - 28BEF08B909833FF10E173A36E483301 /* AppSyncWebsocketProvider.swift */, - 35057B2B4436EC624A5E017D060AA5E5 /* AtomicValue.swift */, - F03ADED458B124FB46CE1CEB0195055F /* ConnectionProvider.swift */, - 716AEA3476CFC18F4A4399DCB7AA5C00 /* ConnectionProviderError.swift */, - 66DE53BB56EC04A6F8D16F28C2CC3438 /* ConnectionProviderFactory.swift */, - 3EB33BD5A9ECB5FD2C0DE4BD566E601C /* CountdownTimer.swift */, - 34A3290C70564E35AA79390199F330B1 /* InterceptableConnection.swift */, - 4C58965AC14148FA00E6C3DD3F63C33E /* OIDCAuthInterceptor.swift */, - 733CFBD889603EBE3D3CA100E1FFD872 /* OIDCAuthProvider.swift */, - 55C0ECC248AD4A0C036D683D2149DE29 /* RealtimeConnectionProvider.swift */, - 24682F00E7B26C71E8202BB83499CAF7 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */, - DD02A1D6A57D20B9712BA36FB91B86F1 /* RealtimeConnectionProvider+MessageInterceptable.swift */, - 592B2BCB137C9547C58D0FE998ADA977 /* RealtimeConnectionProvider+StaleConnection.swift */, - DE9F2444328766B450F9187D0346A62C /* RealtimeConnectionProvider+Websocket.swift */, - 5786587F97152A42E0AA42DD15D60251 /* RealtimeConnectionProviderResponse.swift */, - ACEEFA68C8A50FA0C82DB48951E23094 /* RealtimeGatewayURLInterceptor.swift */, - 98F5B99A4207726BB8315A113AC01041 /* RetryableConnection.swift */, - D736BA331354E71D15D23B6F00427737 /* StarscreamAdapter.swift */, - A0E8DB57BF90F398BBE712EC1D66126C /* StarscreamAdapter+Delegate.swift */, - B1E9D2C36CF34F060660BA30372635F7 /* SubscriptionConnection.swift */, - 95B0C9DC28C4FD4378C14F97A856ADC4 /* SubscriptionConnectionType.swift */, - 7C4CBD219DECE4E9A61E10E7D61695EF /* SubscriptionConstants.swift */, - 610C348F2EDDBCE18C5729E40829EACE /* SubscriptionItem.swift */, - B8BBBBE9B6107C98F6496AAAF07E113B /* Support Files */, + D34C424223B55B7AD9F4B65C43AD3464 /* AWSCognitoIdentityProvider.modulemap */, + FD8785EAB774BEBA550ADB8AE1B91D10 /* AWSCognitoIdentityProvider-dummy.m */, + BF16EF0613314EF139E72EF80FC5B86B /* AWSCognitoIdentityProvider-Info.plist */, + DF9A74832ED4E822B0E5275A784DBAB9 /* AWSCognitoIdentityProvider-prefix.pch */, + 6C3781B0C8712A58779B8FE3A9A3B8E3 /* AWSCognitoIdentityProvider-umbrella.h */, + 9B4F4D9E77FBE5D6805BDA535CE78668 /* AWSCognitoIdentityProvider.debug.xcconfig */, + D5FAE6C59DA4FA1DC9AF0D5FEA4CE795 /* AWSCognitoIdentityProvider.release.xcconfig */, ); - name = AppSyncRealTimeClient; - path = AppSyncRealTimeClient; + name = "Support Files"; + path = "../Target Support Files/AWSCognitoIdentityProvider"; sourceTree = ""; }; - 0884BD983C82FA7346807151CAD3F90E /* Support Files */ = { + 25D3F1F5370A803769A4114D074B14D1 /* AWSS3 */ = { isa = PBXGroup; children = ( - E343AFD850012FC19427F581818C0BE2 /* AWSCore.modulemap */, - D71FFFAF33FAE046022EF511D4D1DEFB /* AWSCore-dummy.m */, - DFE57BD12B192FA9A30D572F6B7D1B07 /* AWSCore-Info.plist */, - 37101759045DBB7D60DAFB7EC1974CA0 /* AWSCore-prefix.pch */, - 73D147A7B06E8A74570DCB8CFF9F7BB7 /* AWSCore-umbrella.h */, - 9204E3D7EA11C02732BB2CCA384EE55E /* AWSCore.debug.xcconfig */, - FE1A8614D6327139B869863CCFB0152D /* AWSCore.release.xcconfig */, + 73C9432E981995B409B7F9B2A6830F64 /* AWSS3.h */, + 9E6F52BCDC918E533B006EFFE17CD0FE /* AWSS3Model.h */, + 0EBB9CE66A91A8805FD227A851B608BB /* AWSS3Model.m */, + FFB2D08A6F53CB7739086D42A36ECA8D /* AWSS3PreSignedURL.h */, + 3F7D0B06BC5AE9DE878976B1EDDE9380 /* AWSS3PreSignedURL.m */, + E022FF50B4B620EFF0AEFA3F619F3DC0 /* AWSS3RequestRetryHandler.h */, + 4833DDDD4333D63F0DB86844B0D7D970 /* AWSS3RequestRetryHandler.m */, + 913B76F220CC7D7D2990AC39F1823C7F /* AWSS3Resources.h */, + 3480C2DD5D6D9444D68271AFE11888CD /* AWSS3Resources.m */, + B3436CBD5067044DFD4832959CFA53C8 /* AWSS3Serializer.h */, + 0B9CFF4B8585697E000A7491742F5479 /* AWSS3Serializer.m */, + F5F0F27EBAB3805D8054DFDDFD25D16C /* AWSS3Service.h */, + A0DAB087DE69AAB2F45E5D6D7B05C0DB /* AWSS3Service.m */, + 9C03105DDF99D5F6AEAEA4D9B6DFE07C /* AWSS3TransferUtility.h */, + D24710B5E53CA05BAEB43672FE317EF3 /* AWSS3TransferUtility.m */, + 9C1C10E05EEB45671FBBE5104572390B /* AWSS3TransferUtility+EnumerateBlocks.h */, + D16AFC5A97B3085C9DD26E0A91944D8E /* AWSS3TransferUtility+EnumerateBlocks.m */, + CBA81B31E41A3C68BC4F9A1B95F5826D /* AWSS3TransferUtility+HeaderHelper.h */, + 75619633007EEA285863FEE6336A6AD2 /* AWSS3TransferUtility+HeaderHelper.m */, + C835684D31CBB76FB98171C801B80FAB /* AWSS3TransferUtility+Validation.m */, + 3CEA655A8E276E9391C6FD535A227F0A /* AWSS3TransferUtilityBlocks.h */, + CA5058B1788D0F4D1E65E154F19971B5 /* AWSS3TransferUtilityBlocks.m */, + B87A489C0182577FCC2EBCD97063207A /* AWSS3TransferUtilityDatabaseHelper.h */, + A54FCDD278739177FCDCEA7134837172 /* AWSS3TransferUtilityDatabaseHelper.m */, + D8465B1E1A81E14923DC903C1B6411A0 /* AWSS3TransferUtilityTasks.h */, + 9C9B9909DA48EC0F78F38D1FB85CC2B0 /* AWSS3TransferUtilityTasks.m */, + AA8F7EFD305B7B8713335E4CF6D6C93D /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/AWSCore"; + name = AWSS3; + path = AWSS3; sourceTree = ""; }; - 0E09B120DFD779DFD4D85734DEEF13F4 /* standard */ = { + 27BAF57ECB2F7D1A27F4A7ABD7AC779D /* iOS */ = { isa = PBXGroup; children = ( - 412384FD6E5746341923BE8932EF7415 /* AggregateFunctions.swift */, - 46F8B81E3251C80C2D864D264954DD94 /* Blob.swift */, - BAD18067063DFD339BCCE1B6BF227962 /* Coding.swift */, - 2A4A99B4B4F341916793103967D8FE31 /* Collation.swift */, - 49C92F354F289409DABE45D98908263B /* Connection.swift */, - 85C7D7B227126CCF5FC8F2C5C503F6E9 /* CoreFunctions.swift */, - 7617D7D94C683118A3F92B4978535B89 /* CustomFunctions.swift */, - 44122B77D68BD5AC6EDCFE9E9339FFDB /* DateAndTimeFunctions.swift */, - 363CB0DA5880F81EC9A06801833CF130 /* Errors.swift */, - 518E8ABBB490E98D9C19C867BB469CD9 /* Expression.swift */, - 8FFFAFC3C812BA48FF33D4404EA788CB /* Foundation.swift */, - 944723B7469BE2F1F2A16C2A160681D2 /* fts3_tokenizer.h */, - AC6E69327590733881753B771080023B /* FTS4.swift */, - 28AE68D01A0FF859AE90B7C79593BB26 /* FTS5.swift */, - 89DDC6FAF9DAC282B60A9FCA37EC3830 /* Helpers.swift */, - 786C7A5C3ED4EEFD4834B27DE97860ED /* Operators.swift */, - A0A988F27CFD0DB80A4EE10DC342E249 /* Query.swift */, - D18EFDE712B36D9CFAC5DCFB385E61E0 /* RTree.swift */, - 9264FFF2954F9AF9FC9662327BE5B6FA /* Schema.swift */, - DB6281DCE9D31CE157CD80254F4E30F3 /* Setter.swift */, - 0389BB838CB34C9B610CE601B3851B79 /* SQLite.h */, - 6A3C2B776ECDEB46513A83D6B65DA9D9 /* SQLiteObjc.h */, - 44A68086272BFACC519E538E712A3961 /* SQLiteObjc.m */, - A4E01133F41A251E0A28C8A05C719D04 /* Statement.swift */, - EA20E4439380BE7A6D649169D98938F3 /* Value.swift */, + 8E5B7839FFCA59975E932625DEAAB4A8 /* CoreGraphics.framework */, + 7FDB0A977AD01956ADB216E01C2C011D /* CoreTelephony.framework */, + AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */, + C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */, + 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */, + 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */, ); - name = standard; + name = iOS; sourceTree = ""; }; - 11CBD266F511517639C3E8853AB8D2ED /* Support Files */ = { + 3725BFC159279B09A103BBDBF8242FB1 /* Support Files */ = { isa = PBXGroup; children = ( - C53737563A8FF848FD401055CA16A90F /* AWSMobileClient.modulemap */, - BEBC797FA55506E8C8C41C536B7E5DD2 /* AWSMobileClient-dummy.m */, - 2999A6A672FC2AFAF90EFD161EE77E63 /* AWSMobileClient-Info.plist */, - 3B88BFA948879CFC86534CD7A30858E7 /* AWSMobileClient-prefix.pch */, - 09C356A966D7D64AFC7D74FB6CB8922C /* AWSMobileClient-umbrella.h */, - AA39C3337A06D8825FBAF3C6240788E3 /* AWSMobileClient.debug.xcconfig */, - 714FE79CAFED1E3FF16BA5FE929B159B /* AWSMobileClient.release.xcconfig */, + 14799BFB672FE8F20CFD22F2B8A5ECDD /* SQLite.swift.modulemap */, + 0B0469E1A5C6F8691E08BADE67A067E7 /* SQLite.swift-dummy.m */, + 54C4C29635C8334D8668B06DCCC0D58D /* SQLite.swift-Info.plist */, + 6D98942807563A70D80E6AA4989F6404 /* SQLite.swift-prefix.pch */, + 4B00B90A0C2ECC6A69AFA04AFCEBE2FB /* SQLite.swift-umbrella.h */, + CC8DA8428DFD59F9EB17B1761A142B2C /* SQLite.swift.debug.xcconfig */, + 8B8132CCE298BEF02C635FE354EBAA84 /* SQLite.swift.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AWSMobileClient"; + path = "../Target Support Files/SQLite.swift"; sourceTree = ""; }; - 1B394DD7B0C417D6827B4672748F38C3 /* Support Files */ = { + 5190692A3E1C4EBC4C0C93C3E5FA4ABB /* Support Files */ = { isa = PBXGroup; children = ( - 2A85F42E4ECEA36DD42D3BDF6ACA9F2C /* AWSCognitoIdentityProviderASF.modulemap */, - 202EA3D29F2DD5D06EF4B5631FF82B4A /* AWSCognitoIdentityProviderASF-dummy.m */, - 8287B0BE06FB6D6511D2B0CE5AEDA0D1 /* AWSCognitoIdentityProviderASF-Info.plist */, - 63574350659EFF35B06929D9EB9366BF /* AWSCognitoIdentityProviderASF-prefix.pch */, - 42138D1B06BAF0A3D5D80730F11128A0 /* AWSCognitoIdentityProviderASF-umbrella.h */, - 92BAAC4233D46E4865C5C39C3EABE0BB /* AWSCognitoIdentityProviderASF.debug.xcconfig */, - 63B39970E666C71947AD99A888262EEF /* AWSCognitoIdentityProviderASF.release.xcconfig */, + A85525FEC8B0EFA2806098DF98DD3F61 /* SwiftLint.debug.xcconfig */, + 1C15CF3D17E203A3EFFC6A82C695A4B2 /* SwiftLint.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AWSCognitoIdentityProviderASF"; + path = "../Target Support Files/SwiftLint"; sourceTree = ""; }; - 1CFCA4EE2F7ED97B785BAAE148E95171 /* Support Files */ = { + 562A89D1D2AF5942D8F70BECFF46BDE8 /* Support Files */ = { isa = PBXGroup; children = ( - 42336D0A812EBC95347738349B6A814D /* AWSCognitoIdentityProvider.modulemap */, - 2F9D290156917F5EFAE0BC5A85AE4991 /* AWSCognitoIdentityProvider-dummy.m */, - 1F8DC41265FEDA310FF1888F85B23227 /* AWSCognitoIdentityProvider-Info.plist */, - 8483A32D2DEBAC986E457D120AE9E935 /* AWSCognitoIdentityProvider-prefix.pch */, - CA3A79C214E7E3CD8EF6DAC5AFC98354 /* AWSCognitoIdentityProvider-umbrella.h */, - ED87D67BDB16008E80E36280A36BF19C /* AWSCognitoIdentityProvider.debug.xcconfig */, - AAFDA13C3F4795107FF469A2FDF138E6 /* AWSCognitoIdentityProvider.release.xcconfig */, + 62B211C26D71C331E3A23F273BF292F1 /* AppSyncRealTimeClient.modulemap */, + F388B1D50BC77D3BBFFBC3B440F6C5F6 /* AppSyncRealTimeClient-dummy.m */, + 179AFCDBE855128B4F4A7519D79F02CD /* AppSyncRealTimeClient-Info.plist */, + 496AFA317E3B6DFBC666EDE0C73F9D7C /* AppSyncRealTimeClient-prefix.pch */, + A27B5023638EB6282158DFCEC5BBB49F /* AppSyncRealTimeClient-umbrella.h */, + 2B72A35187FF658E61C7160B17D1CBAB /* AppSyncRealTimeClient.debug.xcconfig */, + B1132F5F36FE7B3F22E9460E12FD9A38 /* AppSyncRealTimeClient.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AWSCognitoIdentityProvider"; + path = "../Target Support Files/AppSyncRealTimeClient"; sourceTree = ""; }; - 1E2FBA948F34C77DAD3A132B29F7B8AB /* Pods */ = { + 56BC58F16759B2C5BC799A3C503BC42D /* Support Files */ = { isa = PBXGroup; children = ( - 0647315E38722E9DC9DD85F5F0BF208D /* AppSyncRealTimeClient */, - 3C0386263BFC6939C783310E57C0108D /* AWSAuthCore */, - BAFCF0BB958D6E4908EF5A834CEF14FF /* AWSCognitoIdentityProvider */, - 7759BA8D5B68A8ECC956C9306CFE6E50 /* AWSCognitoIdentityProviderASF */, - E58668E1D675E8E47CCB8B0003709BFD /* AWSCore */, - FEFA1448F5781198C54A453C6D3DF6BB /* AWSMobileClient */, - A80244AF5D59FA7655F7EB453243EB2A /* AWSS3 */, - 8314880DCE553F3F07D29FE51C5EFED2 /* ReachabilitySwift */, - C1ABA30FBB7EDB98D9B7970FB56C9C94 /* SQLite.swift */, - 48EDA623AE611A0FCB5C6DF509BB7B12 /* Starscream */, - E36E341F08822855EB23BAB0B6F97870 /* SwiftLint */, + D5CEC83DEE22045066AC0ACC650866BE /* AWSAuthCore.modulemap */, + 437685D91D6475B078EF0C31F342551C /* AWSAuthCore-dummy.m */, + AC39B12ED720B2EEEDA620BB638B64B8 /* AWSAuthCore-Info.plist */, + 9942AA9692A5377DBA2B00AB98694090 /* AWSAuthCore-prefix.pch */, + 70BD1EE82B6C8D50F8A12F28B319A584 /* AWSAuthCore-umbrella.h */, + 1AFCCD7A8EDD863642F8CC6FD543398E /* AWSAuthCore.debug.xcconfig */, + 83A9D5062C08D36DD914AB05A290F043 /* AWSAuthCore.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/AWSAuthCore"; sourceTree = ""; }; - 27BAF57ECB2F7D1A27F4A7ABD7AC779D /* iOS */ = { + 60DB721531D7DCF4B473B9BA02827A1A /* AWSCognitoIdentityProviderASF */ = { isa = PBXGroup; children = ( - 8E5B7839FFCA59975E932625DEAAB4A8 /* CoreGraphics.framework */, - 7FDB0A977AD01956ADB216E01C2C011D /* CoreTelephony.framework */, - AD1CA7C70F1B4471F1BD14F713C6FD07 /* Foundation.framework */, - C8E5138FDBDDE9F4F5F2207918CDE78C /* Security.framework */, - 2D3C0D2C2174382959774A5AE115ADAB /* SystemConfiguration.framework */, - 483C299DD81BCC9315FAE594E6EFEE09 /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 3479FDED2F4BECFA4945CA6FFA4C42D7 /* Support Files */ = { - isa = PBXGroup; - children = ( - BB6F3F0DEE02B99245E8BCC7122AC663 /* AWSAuthCore.modulemap */, - 6A2458CD0A8887EC497E68387909FC8F /* AWSAuthCore-dummy.m */, - 9A7A49E2A4949FDFC3C311DE102EC89F /* AWSAuthCore-Info.plist */, - D733AC9BA999E18268FAB4A108BCD123 /* AWSAuthCore-prefix.pch */, - 79C72FA50AB166098F2914709B9D477A /* AWSAuthCore-umbrella.h */, - 7A87FC2DBBA21E664D5164EE0CD72C0C /* AWSAuthCore.debug.xcconfig */, - 62EDCA61CD7B5A70B8CC11E6B1D4F538 /* AWSAuthCore.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AWSAuthCore"; - sourceTree = ""; - }; - 3C0386263BFC6939C783310E57C0108D /* AWSAuthCore */ = { - isa = PBXGroup; - children = ( - 08F293F1B985A8B32F94B0E13C84521C /* AWSAuthCore.h */, - E7F0425B7AD2C92F0FA2E5A78D9A1B12 /* AWSAuthUIHelper.h */, - C417DA2E525786A4F18A82430314E645 /* AWSAuthUIHelper.m */, - 163A772367B3FF9875BCA61F475AEE70 /* AWSIdentityManager.h */, - 5B98BF99FACDDE5B5107D2875F99C2C4 /* AWSIdentityManager.m */, - 3FA13A1E5C054ECA4DD1C6601BB17887 /* AWSSignInButtonView.h */, - 1146F8E557EC6C9C589F8A1886E5390F /* AWSSignInManager.h */, - AE17E76CEA49EA06247D54F92AC6C54E /* AWSSignInManager.m */, - E0B5CE900F8F76A650EB4BAA370E4C02 /* AWSSignInProvider.h */, - 84C26EBA7F4E5697A75CE3C06E63BE83 /* AWSSignInProviderApplicationIntercept.h */, - F32471B7D58C97BD35CB25F6181304E5 /* AWSUIConfiguration.h */, - 3479FDED2F4BECFA4945CA6FFA4C42D7 /* Support Files */, - ); - name = AWSAuthCore; - path = AWSAuthCore; - sourceTree = ""; - }; - 40A74A4A20EEF89BADF26D1033B1B891 /* Support Files */ = { - isa = PBXGroup; - children = ( - 38E648B3063EA451EFEEF47D333DD564 /* SwiftLint.debug.xcconfig */, - 9ACE4FE2368309D09BF5AF677E0E8F3F /* SwiftLint.release.xcconfig */, + 2FBE82DC160024EA0C01A5B3CB414561 /* AWSCognitoIdentityASF.h */, + 8A0D4EFBBA2161527C3357DDB58EA435 /* AWSCognitoIdentityASF.m */, + 0330C0738E8490EB94BB708B0FE97B22 /* AWSCognitoIdentityProviderASF.h */, + 8816E2CA5F839A7F85539B2C16CE07DD /* AWSCognitoIdentityProviderASF.m */, + D8200BBAF563CAF3C05B1666EB18275B /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SwiftLint"; + name = AWSCognitoIdentityProviderASF; + path = AWSCognitoIdentityProviderASF; sourceTree = ""; }; - 48EDA623AE611A0FCB5C6DF509BB7B12 /* Starscream */ = { + 618FAEC12BEF3111E6250596C54B22E4 /* Starscream */ = { isa = PBXGroup; children = ( - DC7C7C675948EAD6180F0B91D42487F1 /* Compression.swift */, - FFC5E6EB0AC9F7F6BC7096EEBEC812C4 /* SSLClientCertificate.swift */, - 12EB737714B8C792271560205AE7597D /* SSLSecurity.swift */, - 423F82D43D04007D9E5FDF05823E05F1 /* WebSocket.swift */, - BED9538726440999AA7FBA5F1AF98C01 /* Support Files */, + 89228E1E3083420BC39BCE1AF115F736 /* Compression.swift */, + 835871B787F67A1161001696D1D74F4F /* SSLClientCertificate.swift */, + AA35A06525CCC22BEAA9C5D3A9DFBAAF /* SSLSecurity.swift */, + 7E2DB32F311CE52629BAA30DB745520E /* WebSocket.swift */, + C907E3BE981555BBFADEF005124C6F2C /* Support Files */, ); name = Starscream; path = Starscream; sourceTree = ""; }; - 5DE10965A2C979ACD6819A852FD3FE77 /* Support Files */ = { + 68BE63B82FC96DC3DA50F622AB3D8451 /* Support Files */ = { isa = PBXGroup; children = ( - 16B08A407D12B219EF15893161A9B188 /* ReachabilitySwift.modulemap */, - 21603AB86102150AA4FE15827A4DCD40 /* ReachabilitySwift-dummy.m */, - 731B3B54362E2CC0EC92A55F707D7A01 /* ReachabilitySwift-Info.plist */, - 4A55CCD6471F7535EAB0C36873A3177E /* ReachabilitySwift-prefix.pch */, - 9B76A74428FA3CF48D3BDD74A14398DB /* ReachabilitySwift-umbrella.h */, - 734C77DA27D6AD26F5585A7D77B54A92 /* ReachabilitySwift.debug.xcconfig */, - 147D13DB905F3E96E568674C16C52E1A /* ReachabilitySwift.release.xcconfig */, + BFE91568CD02309E6C3493A077920755 /* ReachabilitySwift.modulemap */, + 0B82B8A201EDFFFE45D53FA749442190 /* ReachabilitySwift-dummy.m */, + 61D684E36BF86DBE8A04DA08386E6C6D /* ReachabilitySwift-Info.plist */, + A71CF1E95452010AFDF745BA3EF37602 /* ReachabilitySwift-prefix.pch */, + CDCCC4A3E853D1DED176CBBA0323F710 /* ReachabilitySwift-umbrella.h */, + 82C38503C89F5C86BB603CAE481A9479 /* ReachabilitySwift.debug.xcconfig */, + DAAC253C4963419D29AB92317ACD3C45 /* ReachabilitySwift.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/ReachabilitySwift"; sourceTree = ""; }; - 6C0D5DE0AF30BE78FE48180ACB9C1628 /* Support Files */ = { + 6CA9D68841B68146A9564261C3B0AC7C /* SQLite.swift */ = { isa = PBXGroup; children = ( - 3D57180C2CFAB3EF5F770DEC3036B12B /* SQLite.swift.modulemap */, - 0FB4B57601C04A21A6AEBA2215C7B329 /* SQLite.swift-dummy.m */, - 51DAEDF060FA6BB715BCA39E4E717012 /* SQLite.swift-Info.plist */, - 0AD37DBC4FCF500D2CA29F67AFD7EA14 /* SQLite.swift-prefix.pch */, - 7EE88D31602E4B0C3E5B6C3F66E9592C /* SQLite.swift-umbrella.h */, - 6EF84FA37F5DD3A5CC995701EB5641F6 /* SQLite.swift.debug.xcconfig */, - C66677E9B66D2C91EEED91208BAF5196 /* SQLite.swift.release.xcconfig */, + D9A45BD80D0C3A0E3CC54CBBDEB02CD4 /* standard */, + 3725BFC159279B09A103BBDBF8242FB1 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SQLite.swift"; + name = SQLite.swift; + path = SQLite.swift; sourceTree = ""; }; - 7759BA8D5B68A8ECC956C9306CFE6E50 /* AWSCognitoIdentityProviderASF */ = { + 6FAD7D3FD62BFCA3D7E338F44EE50EE4 /* Support Files */ = { isa = PBXGroup; children = ( - C11636DBBD7E1F83C886CE73A690DBBA /* AWSCognitoIdentityASF.h */, - 3A636D396EAFDAA2BF6C03ADB0A60A7D /* AWSCognitoIdentityASF.m */, - 5F5673774FFD93133DCA1910E2941B38 /* AWSCognitoIdentityProviderASF.h */, - A166B39764E9307E5427FD06AD9587B5 /* AWSCognitoIdentityProviderASF.m */, - 1B394DD7B0C417D6827B4672748F38C3 /* Support Files */, + 818472332323F988034A427CB465B99F /* AWSMobileClient.modulemap */, + 0CD91719B24E902E66C63FF569AC530B /* AWSMobileClient-dummy.m */, + 9D7814D84D8B7435FF782BA65462E016 /* AWSMobileClient-Info.plist */, + E91535B4BD35D1866E2640BEAA2A6BDB /* AWSMobileClient-prefix.pch */, + 25AEE152823311B82BD4764CC48060BE /* AWSMobileClient-umbrella.h */, + A9795B2976FE198516CAA504F4B96440 /* AWSMobileClient.debug.xcconfig */, + 06689F760F8AF36385F144E6CDEAF9E8 /* AWSMobileClient.release.xcconfig */, ); - name = AWSCognitoIdentityProviderASF; - path = AWSCognitoIdentityProviderASF; + name = "Support Files"; + path = "../Target Support Files/AWSMobileClient"; sourceTree = ""; }; - 8314880DCE553F3F07D29FE51C5EFED2 /* ReachabilitySwift */ = { + 727650AEE598426F0B09B9C1C9A8C02C /* AppSyncRealTimeClient */ = { isa = PBXGroup; children = ( - 2951457EBDC8396016EEBFD09853A0BD /* Reachability.swift */, - 5DE10965A2C979ACD6819A852FD3FE77 /* Support Files */, + 29ACAB893B8B08452B243D4346BDB5A7 /* APIKeyAuthInterceptor.swift */, + B6205B30C2CFAAE76A42D1FC3764A6BD /* AppSyncConnectionRequest.swift */, + 18C19AB1F3A4B5C99B2DC374AF098A4B /* AppSyncJSONHelper.swift */, + C67ABB302450803D7B4B460991513C09 /* AppSyncJSONValue.swift */, + 6655F78C0F8A3B0CFB1843BB4E86EC62 /* AppSyncLogger.swift */, + 2BC77D9C53DAA3E0A10BAB25E98E92AB /* AppSyncMessage.swift */, + 25B0461FA8422A6E210EC4D4806981A2 /* AppSyncMessage+Encodable.swift */, + CB850EC351329E428C7621F1DA2ABB33 /* AppSyncResponse.swift */, + 07FE01ED3D06AB7DB9625AF0DE4A739A /* AppSyncSubscriptionConnection.swift */, + 9F36956158F4225FA079A7AFBB347950 /* AppSyncSubscriptionConnection+Connection.swift */, + D5DFA1AB79158E6DB0CB63E1E298B6D9 /* AppSyncSubscriptionConnection+DataHandler.swift */, + 98928EC197B0F0623282A11C228DB037 /* AppSyncSubscriptionConnection+ErrorHandler.swift */, + 5541E64C62A79A166C20A604B52BB450 /* AppSyncWebsocketProvider.swift */, + 1408BFA88133B4F789CE9BB65BC4B12F /* AtomicValue.swift */, + D8E46E92C0966F3913B8F22169E6D62B /* ConnectionProvider.swift */, + AD08A1F3895431B496BAA71A5E3DD7BB /* ConnectionProviderError.swift */, + 96148C7F6D3B932C4F7C246A21AF69C0 /* ConnectionProviderFactory.swift */, + FADA15984CA57490EBEE8A358ED4D1E4 /* CountdownTimer.swift */, + 2A2643F856E049A1F967AB55DB4D1DC1 /* InterceptableConnection.swift */, + D60A7210AF9737275B90328BA72A6BF8 /* OIDCAuthInterceptor.swift */, + 9D24C128ABFD2680D4E4DFC5A03E39E2 /* OIDCAuthProvider.swift */, + 7CC686E49A1FC05FADD2E50A13E45CE3 /* RealtimeConnectionProvider.swift */, + 9F1FC3F8581740518B45257F46AEC5D8 /* RealtimeConnectionProvider+ConnectionInterceptable.swift */, + 4218E18E98A6263C14EF4DC9360B52A0 /* RealtimeConnectionProvider+MessageInterceptable.swift */, + 984CA003D976E93699DD4890B282187D /* RealtimeConnectionProvider+StaleConnection.swift */, + D391B99BB82C2EB7A5C62944387E6DDB /* RealtimeConnectionProvider+Websocket.swift */, + D2017F91ACF1A0C156178420DB55F33A /* RealtimeConnectionProviderResponse.swift */, + 1537D24B473082AF1CA051A4ECD0F39E /* RealtimeGatewayURLInterceptor.swift */, + 8F7EC2B6CFFCEDC314303B0A97EA79DC /* RetryableConnection.swift */, + 841B3C45740E175B9392083426BFCFF2 /* StarscreamAdapter.swift */, + F892744FB2F40B4D82DB413B8797A26D /* StarscreamAdapter+Delegate.swift */, + F650690CA50741B98A4F2A90CD2F07B6 /* SubscriptionConnection.swift */, + 83C08E76D0C48289C0D91200E1E8FEA3 /* SubscriptionConnectionType.swift */, + 27145DBD2A68FD6408F77D4F0AA5EF73 /* SubscriptionConstants.swift */, + AE03754A1C603C4B456F2A84B42DB775 /* SubscriptionItem.swift */, + 562A89D1D2AF5942D8F70BECFF46BDE8 /* Support Files */, ); - name = ReachabilitySwift; - path = ReachabilitySwift; + name = AppSyncRealTimeClient; + path = AppSyncRealTimeClient; sourceTree = ""; }; 83E5845F70286F5D6967DE35E534966E /* Pods-AWSAppSyncTestApp */ = { @@ -1772,6 +1730,15 @@ path = "Target Support Files/Pods-AWSAppSyncTestCommon"; sourceTree = ""; }; + 8DAB09827638999E7E579DF6F892E22B /* SwiftLint */ = { + isa = PBXGroup; + children = ( + 5190692A3E1C4EBC4C0C93C3E5FA4ABB /* Support Files */, + ); + name = SwiftLint; + path = SwiftLint; + sourceTree = ""; + }; 9D909802FFFD3B7BFCD642E3A2119D73 /* Pods-AWSAppSyncIntegrationTests */ = { isa = PBXGroup; children = ( @@ -1789,35 +1756,39 @@ path = "Target Support Files/Pods-AWSAppSyncIntegrationTests"; sourceTree = ""; }; - A80244AF5D59FA7655F7EB453243EB2A /* AWSS3 */ = { + A6BC9670A9BAD385A18445085BD41A18 /* AWSAuthCore */ = { isa = PBXGroup; children = ( - FB97D391FAA1F92A3025EB76120087F5 /* AWSS3.h */, - 7237BB8A1CE03EBB4CA44EC7F6A27934 /* AWSS3Model.h */, - 86810F912383D5997A6494E60D5FE8BA /* AWSS3Model.m */, - 0C7F2CB0C83083EC96EEEEFFB526B4F9 /* AWSS3PreSignedURL.h */, - F5403C4CA7019D5D2F6CB62B352FEADF /* AWSS3PreSignedURL.m */, - 8B730704CBB4DBA7F47E9DA9195C9879 /* AWSS3RequestRetryHandler.h */, - A43406533161BE27F86FCC5DD3C0E1ED /* AWSS3RequestRetryHandler.m */, - 7EEA0CBA1952AA815BB3227B42048023 /* AWSS3Resources.h */, - 94A855204B4FB537662C7D3D3BA7F726 /* AWSS3Resources.m */, - FA52D7DBEECCEE26AABC655AA4695B4A /* AWSS3Serializer.h */, - 72D99F12BBB58C3A82BD70840BF61C7D /* AWSS3Serializer.m */, - 91C079EB54997757098F671B83332D94 /* AWSS3Service.h */, - 5B5BAF25B86890E71C047907FEBE799F /* AWSS3Service.m */, - 7004F1E24CD9158CACA745C257B1F40E /* AWSS3TransferUtility.h */, - D03A05419E8FF4FAE99C5DABE8A654E6 /* AWSS3TransferUtility.m */, - 784ECF46BEB4AE6A6ED6D0DF4CC28A50 /* AWSS3TransferUtility+HeaderHelper.h */, - 45CC3D4CC83089AC6A5504ACAE473F99 /* AWSS3TransferUtility+HeaderHelper.m */, - F6A405165E44A8192BF0CBBD8EF5D8F7 /* AWSS3TransferUtility+Validation.m */, - AB576C140AEA1C7F76621D18995025D3 /* AWSS3TransferUtilityDatabaseHelper.h */, - D731D634D5B9F951153845ADC3E1863E /* AWSS3TransferUtilityDatabaseHelper.m */, - CA247B927DA498B7739E589ED8D3A7B4 /* AWSS3TransferUtilityTasks.h */, - 1AC678A249C394D9B19A95367376CE08 /* AWSS3TransferUtilityTasks.m */, - C9B68F19D1D98A72CAEAD78AEF57447A /* Support Files */, + 322DF6B6938C52FC7759B185228942B1 /* AWSAuthCore.h */, + B3E809BF5EEBC0F3AE804E2E5B5A68A6 /* AWSAuthUIHelper.h */, + FAAF3EA94D16FDED52835BCD56868A13 /* AWSAuthUIHelper.m */, + 984439D0465FE9EC4FA5B25A77DC18F6 /* AWSIdentityManager.h */, + 336D2225859821C6B3A97A70AA9F5BE8 /* AWSIdentityManager.m */, + C185066F7175174E2CE0FF86879E380B /* AWSSignInButtonView.h */, + 3D6CA55C8F106136CD1F0538E97F16EB /* AWSSignInManager.h */, + 9AA88013E7B25A7790A643581C8224B7 /* AWSSignInManager.m */, + 4774C1CBA850E8902560536275AB94D5 /* AWSSignInProvider.h */, + 61A23CC71A352867CB67935B2C9FC516 /* AWSSignInProviderApplicationIntercept.h */, + 8D7B6BE9F3D00C78AC4294F1EAEF5341 /* AWSUIConfiguration.h */, + 56BC58F16759B2C5BC799A3C503BC42D /* Support Files */, ); - name = AWSS3; - path = AWSS3; + name = AWSAuthCore; + path = AWSAuthCore; + sourceTree = ""; + }; + AA8F7EFD305B7B8713335E4CF6D6C93D /* Support Files */ = { + isa = PBXGroup; + children = ( + 4D28E46D217AD575E2D63F8EFD124BF9 /* AWSS3.modulemap */, + 9D843576F0EA77E55512B96F24B13EDD /* AWSS3-dummy.m */, + 3086B349EBE695D4F7BF3C0C56E1080A /* AWSS3-Info.plist */, + 8E2D9BA18737A889C169EDFD3F47CB51 /* AWSS3-prefix.pch */, + E15572D9CC465755FE967F9A9CBC0108 /* AWSS3-umbrella.h */, + 1D211FB291FD2F783C12CF6181A4D097 /* AWSS3.debug.xcconfig */, + 1B0C2D49D46BE5EEC096D9D2E9BCB945 /* AWSS3.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AWSS3"; sourceTree = ""; }; ABCC58565981F4A497C29E4D2EE47800 /* Products */ = { @@ -1844,80 +1815,29 @@ name = Products; sourceTree = ""; }; - B8BBBBE9B6107C98F6496AAAF07E113B /* Support Files */ = { - isa = PBXGroup; - children = ( - 9338B7847FA32E5ACCF9DD44C5D9649B /* AppSyncRealTimeClient.modulemap */, - E39432DE86DE7475E7421BC3F24BDBFD /* AppSyncRealTimeClient-dummy.m */, - BF6A223C2E7E11C8FB1584C654053FEC /* AppSyncRealTimeClient-Info.plist */, - BBDC4296BE06A955BE1B0F4C8832649E /* AppSyncRealTimeClient-prefix.pch */, - 73F2696E65A62E9ABC9068DDB1B14360 /* AppSyncRealTimeClient-umbrella.h */, - FEE70917D516B13996B82BAD7417C634 /* AppSyncRealTimeClient.debug.xcconfig */, - 5B79468A83A3BD413A4347094AACE507 /* AppSyncRealTimeClient.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AppSyncRealTimeClient"; - sourceTree = ""; - }; - BAFCF0BB958D6E4908EF5A834CEF14FF /* AWSCognitoIdentityProvider */ = { - isa = PBXGroup; - children = ( - 1F2A6730C313E4F03802D992F1AB58E9 /* aws_tommath.h */, - 104994536BBFF5187C98EFFA19159528 /* aws_tommath_class.h */, - CC357EA3C8CC8CD576FEBF2A04B22E42 /* aws_tommath_superclass.h */, - 2F29E7FFFAD7FA29B6CD5CC296E1DEA8 /* AWSCognitoIdentityProvider.h */, - 249C973943176DC503E48EF46B5F7AC5 /* AWSCognitoIdentityProviderHKDF.h */, - 6683ED2750BED356C2C0CA5B760C73AA /* AWSCognitoIdentityProviderHKDF.m */, - CD60D2B62890CE2081636C4413EB165F /* AWSCognitoIdentityProviderModel.h */, - 1FC137E0AD254AB3BD2B1F5C7E4FF6DB /* AWSCognitoIdentityProviderModel.m */, - 64C77CAF8EF106FEC3E804E74ADF7D53 /* AWSCognitoIdentityProviderResources.h */, - 200781A87C0EA24AF1163BF2C37D87A1 /* AWSCognitoIdentityProviderResources.m */, - E202527A8626400D4C1A135FD446B05C /* AWSCognitoIdentityProviderService.h */, - FED9EFA1CD034ABE6C12C1F4869B47A6 /* AWSCognitoIdentityProviderService.m */, - 8A127992FFB927836EFEEBCDB039AA1C /* AWSCognitoIdentityProviderSrpHelper.h */, - 729B37F0B2D4CE31D255A5191B0AE6EB /* AWSCognitoIdentityProviderSrpHelper.m */, - EC7A2A89FF7F85F2C266F0445B65327B /* AWSCognitoIdentityUser.h */, - 275B2272189577B513A15AF411D03C93 /* AWSCognitoIdentityUser.m */, - FC9FE68C88683B2EB48AD58CF097A553 /* AWSCognitoIdentityUser_Internal.h */, - BCEFC0396379C43F2EC9B8CA2982E970 /* AWSCognitoIdentityUserPool.h */, - E49C92DD0769C2535762B459B052160E /* AWSCognitoIdentityUserPool.m */, - 1264E7F05AC26A89E331FF0BF7E02C90 /* AWSCognitoIdentityUserPool_Internal.h */, - F74523E7A265375632691662B1409FDA /* AWSJKBigDecimal.h */, - 8928CF108DE4A1B8C2F65D728B69FFFD /* AWSJKBigDecimal.m */, - 72436B123E378D3FC5294FC60C9D15E2 /* AWSJKBigInteger.h */, - EB03747E3895A71023785C41C981A2D0 /* AWSJKBigInteger.m */, - C6EA17802596026BD35D7102FDB96DF9 /* NSData+AWSCognitoIdentityProvider.h */, - 8C04A07ADBE8D87CB46B1140FC8C9FCD /* NSData+AWSCognitoIdentityProvider.m */, - 6606785B337BE6D710EBEE2FC40BE6B3 /* tommath.c */, - 1CFCA4EE2F7ED97B785BAAE148E95171 /* Support Files */, - ); - name = AWSCognitoIdentityProvider; - path = AWSCognitoIdentityProvider; - sourceTree = ""; - }; - BED9538726440999AA7FBA5F1AF98C01 /* Support Files */ = { + AF766E966353F2657DE14D4FA3D5E6C4 /* Support Files */ = { isa = PBXGroup; children = ( - 06F71D5F7C5827B7531BFAC20F48E982 /* Starscream.modulemap */, - DF7F52B86A172D805BAC2B5870C20568 /* Starscream-dummy.m */, - 5EBBA42BE5D182EBB530876C2A05BE1F /* Starscream-Info.plist */, - C53968F9EB8844D61F9465A8CCB468C1 /* Starscream-prefix.pch */, - 69EBE1543CF542E4A761B6C8D7C091B8 /* Starscream-umbrella.h */, - 61D8CC5C8ADFC988827F26D35DC3B6FB /* Starscream.debug.xcconfig */, - F067F86070A3457FA57B894FB18AD0CA /* Starscream.release.xcconfig */, + 4562769E4D1982AADAA3436C004CB427 /* AWSCore.modulemap */, + BE7EDCFC0AE9EFA91E0A9304390E62B2 /* AWSCore-dummy.m */, + 88E8011080F8C4EA49E540A70B353F37 /* AWSCore-Info.plist */, + 756F23E4D992B7791E56BD842D1F09E7 /* AWSCore-prefix.pch */, + E0D248A3F7A6CEE8567D38B247045348 /* AWSCore-umbrella.h */, + 925784D518BFDE4A14F00DFF6F163037 /* AWSCore.debug.xcconfig */, + 6C4524F5A694B3E55632E71EFD865505 /* AWSCore.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Starscream"; + path = "../Target Support Files/AWSCore"; sourceTree = ""; }; - C1ABA30FBB7EDB98D9B7970FB56C9C94 /* SQLite.swift */ = { + C3367E97E6B8493EAFC661E9DE1FC2F9 /* ReachabilitySwift */ = { isa = PBXGroup; children = ( - 0E09B120DFD779DFD4D85734DEEF13F4 /* standard */, - 6C0D5DE0AF30BE78FE48180ACB9C1628 /* Support Files */, + 1BC95166A95B987B63AA83427801EE41 /* Reachability.swift */, + 68BE63B82FC96DC3DA50F622AB3D8451 /* Support Files */, ); - name = SQLite.swift; - path = SQLite.swift; + name = ReachabilitySwift; + path = ReachabilitySwift; sourceTree = ""; }; C5AB3783C587F2954059216DC327D80B /* Pods-ApolloTests */ = { @@ -1937,19 +1857,52 @@ path = "Target Support Files/Pods-ApolloTests"; sourceTree = ""; }; - C9B68F19D1D98A72CAEAD78AEF57447A /* Support Files */ = { + C82E01A8E3658E50B42E044865E132F5 /* AWSMobileClient */ = { isa = PBXGroup; children = ( - EECDD0559D0C627128EFFFC9D45B47A7 /* AWSS3.modulemap */, - 56D3C6C70238019F698A26854F37C5AE /* AWSS3-dummy.m */, - 2076CC7E6625D45F945CA4AE50E24889 /* AWSS3-Info.plist */, - C9E4A5DA86B891BCAED806FCC8330402 /* AWSS3-prefix.pch */, - E2803BAC531D49B0854F17FDAAE8B7C0 /* AWSS3-umbrella.h */, - 9CC6DCC106AF3F2ED94C0EC02FB9AA25 /* AWSS3.debug.xcconfig */, - 18F15600207EF4F9E88CD1FB3B77197C /* AWSS3.release.xcconfig */, + E0B3843374C35716E3AE0AA8101EC76B /* _AWSMobileClient.h */, + 05A66BD3CCC52D156A30C5CA1B3B2EFC /* _AWSMobileClient.m */, + 6D62E4BC5DA4630DED29FF742AB00327 /* AWSCognitoAuth.h */, + 5E7DD427478AEE9B1AF58919FD4CD2E1 /* AWSCognitoAuth.m */, + F3A1479C6F55CEDFDF874D9778D3AAB5 /* AWSCognitoAuth+Extensions.h */, + 8DA1847EDED98C84F47242B5C1F9022C /* AWSCognitoAuth+Extensions.m */, + 585D0B2BFA01328F724DDCD5420CD067 /* AWSCognitoAuth_Internal.h */, + 1CB4E00ECE754B8B4F706D5E7B3BA428 /* AWSCognitoAuthUICKeyChainStore.h */, + CB1EA0AF84EC22E7A65FC73D5C7BA79C /* AWSCognitoAuthUICKeyChainStore.m */, + B737283A440A2455311774C2A7B1B46A /* AWSCognitoCredentialsProvider+Extension.h */, + D2298DA2AD246448CE1890D1E6F7BDF1 /* AWSCognitoIdentityUserPool+Extension.h */, + BEE0A71D9B3BA7EC994EB789116C7B24 /* AWSMobileClient.h */, + B27F62A8C500D145C8D805839A59F1DE /* AWSMobileClient.swift */, + B168D1FA8491E0A677C1A433EB31C84B /* AWSMobileClient-Mixed-Swift.h */, + E865564E630AAD97FA1284DEF2978F53 /* AWSMobileClientExtensions.swift */, + A61AEAD34258AE32FBE49B294A41E9E0 /* AWSMobileClientUserDetails.swift */, + E699E64A2E03BB75CDD7A79ED4FDB76B /* AWSMobileClientXCF.h */, + F40FC0FB66AE83230C6B12ED907BEFDB /* AWSMobileClientXCF-Mixed-Swift.h */, + AAC8F97831772E2AF223DE08DE73CDC9 /* AWSMobileOptions.swift */, + 7C5271F6508743A4873F3C21A5741BC4 /* AWSMobileResults.swift */, + 465DE2B27F1EDC326106C30149D35483 /* AWSUserPoolCustomAuthHandler.swift */, + 1C0789D787ED7A4D11930832FDFBE1A7 /* AWSUserPoolOperationsHandler.swift */, + C288D73B84EB3C24651163F1ADCEF355 /* DeviceOperations.swift */, + FF98526BD55BCBBBAADC2529628DD254 /* JSONHelper.swift */, + 6FAD7D3FD62BFCA3D7E338F44EE50EE4 /* Support Files */, + ); + name = AWSMobileClient; + path = AWSMobileClient; + sourceTree = ""; + }; + C907E3BE981555BBFADEF005124C6F2C /* Support Files */ = { + isa = PBXGroup; + children = ( + 8A29E3588B7D02F87CA9652162D06888 /* Starscream.modulemap */, + 7820188E4F53FEA6ABE973AB99F6B631 /* Starscream-dummy.m */, + ED87DB76ADA882D749792BA3FE3A9BC0 /* Starscream-Info.plist */, + 1439DB0FD414EBCBADEA12B632EB0D05 /* Starscream-prefix.pch */, + 7C18B6AF4049F02B512C5B9B878998D6 /* Starscream-umbrella.h */, + E1B02C66269F9EA62F31DBA2E26FBB75 /* Starscream.debug.xcconfig */, + 7FBB7EB8AE69ED94ED1D4668E1838722 /* Starscream.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AWSS3"; + path = "../Target Support Files/Starscream"; sourceTree = ""; }; CB06B48196FB8B79F59D0EBA41F47BA6 /* Pods-AWSAppSyncTestHostApp */ = { @@ -1969,12 +1922,30 @@ path = "Target Support Files/Pods-AWSAppSyncTestHostApp"; sourceTree = ""; }; + CD2A61C4597A6911C05472B97D54F29A /* Pods */ = { + isa = PBXGroup; + children = ( + 727650AEE598426F0B09B9C1C9A8C02C /* AppSyncRealTimeClient */, + A6BC9670A9BAD385A18445085BD41A18 /* AWSAuthCore */, + EAF3AF6DAC9288D4917F6628598AE739 /* AWSCognitoIdentityProvider */, + 60DB721531D7DCF4B473B9BA02827A1A /* AWSCognitoIdentityProviderASF */, + EA99738FA33B11A3C2DCFA4018535D76 /* AWSCore */, + C82E01A8E3658E50B42E044865E132F5 /* AWSMobileClient */, + 25D3F1F5370A803769A4114D074B14D1 /* AWSS3 */, + C3367E97E6B8493EAFC661E9DE1FC2F9 /* ReachabilitySwift */, + 6CA9D68841B68146A9564261C3B0AC7C /* SQLite.swift */, + 618FAEC12BEF3111E6250596C54B22E4 /* Starscream */, + 8DAB09827638999E7E579DF6F892E22B /* SwiftLint */, + ); + name = Pods; + sourceTree = ""; + }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, D3E060313205DCEB0015B5E16939A239 /* Frameworks */, - 1E2FBA948F34C77DAD3A132B29F7B8AB /* Pods */, + CD2A61C4597A6911C05472B97D54F29A /* Pods */, ABCC58565981F4A497C29E4D2EE47800 /* Products */, 8A299D4C106D8A0ED5B78067AB7E896C /* Targets Support Files */, ); @@ -1993,6 +1964,53 @@ name = Frameworks; sourceTree = ""; }; + D8200BBAF563CAF3C05B1666EB18275B /* Support Files */ = { + isa = PBXGroup; + children = ( + DA7D91D4EE04D0C427903431E80FE1B2 /* AWSCognitoIdentityProviderASF.modulemap */, + CA5C990D9B68602FAED6DB3CF42BBFB2 /* AWSCognitoIdentityProviderASF-dummy.m */, + 796B5F2A6953240BCDCAC7C43EC771B0 /* AWSCognitoIdentityProviderASF-Info.plist */, + 3136E3E49C24E8B0C12498A8B750C03D /* AWSCognitoIdentityProviderASF-prefix.pch */, + 1CC20CAEDF031694E359A9DFAA236D3A /* AWSCognitoIdentityProviderASF-umbrella.h */, + B2D6C62245BEE3DF4173C16416C65C1F /* AWSCognitoIdentityProviderASF.debug.xcconfig */, + F38427C4018C1CA77566DD4719900D2A /* AWSCognitoIdentityProviderASF.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/AWSCognitoIdentityProviderASF"; + sourceTree = ""; + }; + D9A45BD80D0C3A0E3CC54CBBDEB02CD4 /* standard */ = { + isa = PBXGroup; + children = ( + E26F432975EB3224977A096FE5042E93 /* AggregateFunctions.swift */, + 248EBDFB48BCCE23B07865003CB04C05 /* Blob.swift */, + E80707EBAD4C4DE167FB14CA7B4AE188 /* Coding.swift */, + AA80040A35DDC6FD4EE25856AC8B9F8A /* Collation.swift */, + 9336A132D5E8D73B1C98EA766747C0A8 /* Connection.swift */, + 1372DBF2ACB25037F35DA3EA295C4741 /* CoreFunctions.swift */, + C6EF8EDE2FE3B8BCCF7908D2BF4DDF25 /* CustomFunctions.swift */, + BF2857B55E93B80484B700694D5AAE90 /* DateAndTimeFunctions.swift */, + 14EC525B589E290CDC85010599A94BFD /* Errors.swift */, + 824505B5361984454CF38BE77E6BDB05 /* Expression.swift */, + 45B5718D6B206B353B159B48117A405F /* Foundation.swift */, + 5EDDB92448F9927B1AAEC7B9753C530B /* fts3_tokenizer.h */, + 00E1FF1DD984DE03007B17C9FF42DBD5 /* FTS4.swift */, + 6C59B18755264188D619A5F269983A06 /* FTS5.swift */, + E34E477B307F3670C0FBDA848C30211A /* Helpers.swift */, + FB97C0A38940380006DD5E8108C8F077 /* Operators.swift */, + 9D96E562F52AB489DCD36D372E512C61 /* Query.swift */, + F495C9FA898D07C9F17EE515E5C3863F /* RTree.swift */, + 4E696F74591E6C99BC034AAD091FEECC /* Schema.swift */, + 67BD3FDCBFFB2CD9BEA8AF0E555CE6B0 /* Setter.swift */, + 3879728B9A31BA93B28C90D62820B1E2 /* SQLite.h */, + B3539260131C0CC9CE439FD2AE617478 /* SQLiteObjc.h */, + 23C5E050448884F1C09FCB84EEE10886 /* SQLiteObjc.m */, + E67B9C2503E57740893AA176F519D7E7 /* Statement.swift */, + AFF64F4ECC4AB004626FB5755F792D4B /* Value.swift */, + ); + name = standard; + sourceTree = ""; + }; DB1DB4BFCF6160060569A0969B01DC46 /* Pods-AWSAppSync */ = { isa = PBXGroup; children = ( @@ -2009,179 +2027,206 @@ path = "Target Support Files/Pods-AWSAppSync"; sourceTree = ""; }; - E36E341F08822855EB23BAB0B6F97870 /* SwiftLint */ = { + EA99738FA33B11A3C2DCFA4018535D76 /* AWSCore */ = { isa = PBXGroup; children = ( - 40A74A4A20EEF89BADF26D1033B1B891 /* Support Files */, + 7728833CFC1E223BE3A8E790FAB97F54 /* AWSBolts.h */, + 3DCC246FB3EDCCBF0D1910054F54BD4B /* AWSBolts.m */, + 2B40C344E8741A8383DBC6C5BC97BAEC /* AWSCancellationToken.h */, + F44DCF32587254F0453CE7E4429D8514 /* AWSCancellationToken.m */, + 21398801150101DA0622EC11C32EC9F9 /* AWSCancellationTokenRegistration.h */, + 0E2031029F57C0202DB62883B872D6F0 /* AWSCancellationTokenRegistration.m */, + 05BC1DC119C21C0BFF7EDDB5467AF63A /* AWSCancellationTokenSource.h */, + 8ADCD2C31A5013C169566F3E17E9F126 /* AWSCancellationTokenSource.m */, + B826470FF448C471A5F27CAECEC39208 /* AWSCategory.h */, + 71D12487BD6BAE3B2364EA27FF73B675 /* AWSCategory.m */, + F1B3C09A2CEEC8B25BA3C9C5924B57FE /* AWSClientContext.h */, + E2768BE80F3E2EFCE49F9DEA9573A800 /* AWSClientContext.m */, + 120A1EF99909C201109CB93C3057197E /* AWSCocoaLumberjack.h */, + 432C8FFBCC54CCB771E0DC06FA589714 /* AWSCognitoIdentity.h */, + FF8E832ACFFF82FFDD01BB8C809FBA44 /* AWSCognitoIdentity+Fabric.h */, + 4FA08FFF5D956454EB14501ABCFBB85F /* AWSCognitoIdentity+Fabric.m */, + EA9AB02C44FEE669D0257FCF1603989F /* AWSCognitoIdentityModel.h */, + EB2575C425CD018FDB7109FC88BED706 /* AWSCognitoIdentityModel.m */, + FD87FE197AB93898265E4B245EC08EF4 /* AWSCognitoIdentityResources.h */, + 59AED2051663A428B4CE760553E407FD /* AWSCognitoIdentityResources.m */, + A61B0F46D37424B8E4E127C4240A37E7 /* AWSCognitoIdentityService.h */, + A1D4BA18ECD2C6606D18620A1C8A9A87 /* AWSCognitoIdentityService.m */, + 98FDF19CC6496FF23FED917249A4C098 /* AWSCore.h */, + A2B64AE45DA23BBAB74486321AAC3004 /* AWSCredentialsProvider.h */, + E1369AD07009D02020C57BCA93B63E30 /* AWSCredentialsProvider.m */, + 19BE8591EAA5405EB333AA466DCC9042 /* AWSDDAbstractDatabaseLogger.h */, + 37375A42ADADD80C97E6C9F158C9FADF /* AWSDDAbstractDatabaseLogger.m */, + 00BDC6178338A7349FEDD2A188591576 /* AWSDDASLLogCapture.h */, + 64C66A20CA498E37C4C7CE548009BB52 /* AWSDDASLLogCapture.m */, + 3455B20596763619C6635782D5349C18 /* AWSDDASLLogger.h */, + 9F307E3787FEE7FD984FF717A920559A /* AWSDDASLLogger.m */, + 45DFE681029BF6918520479369ECDBEB /* AWSDDAssertMacros.h */, + B933A7AE854FCA24B4179171B051439A /* AWSDDContextFilterLogFormatter.h */, + 01DA0A8A3CC67A37C3D14A497024472E /* AWSDDContextFilterLogFormatter.m */, + E257125B68F64BCEC07F65C1686C9F0F /* AWSDDDispatchQueueLogFormatter.h */, + FE3121A39F8A687B3F357D6F7915DD29 /* AWSDDDispatchQueueLogFormatter.m */, + 3B3FB71BC9ADBDDAD067EB5C6A682042 /* AWSDDFileLogger.h */, + E04C9BF0770D9857FB4E174B0AA24752 /* AWSDDFileLogger.m */, + 79DEC8129DE529490844861ED18D125B /* AWSDDLegacyMacros.h */, + B63F52A4AE770D69B4E0D79342617576 /* AWSDDLog.h */, + 985A7182B22455923239EFFD9C636024 /* AWSDDLog.m */, + E0EEC87C5F69F09FDED633D32A724ABB /* AWSDDLog+LOGV.h */, + BD58D6553894E20498C50B60F5C94E17 /* AWSDDLogMacros.h */, + FAB9917891F7B0BEE650474F60C83BBB /* AWSDDMultiFormatter.h */, + 9A3DC30BB54E07EC9BE9AAB48E36C783 /* AWSDDMultiFormatter.m */, + 0A6AE811BF24686175BF161248799A77 /* AWSDDOSLogger.h */, + 378297A4B801243E23BFAFD7C8E5A5D7 /* AWSDDOSLogger.m */, + 990D30711DCF72BFC66DB9637738C0CE /* AWSDDTTYLogger.h */, + 05034E39EB153A21F06EAE7511FAC2CC /* AWSDDTTYLogger.m */, + 06D6385D622115914F8B1F009C3EBF34 /* AWSExecutor.h */, + 8138B00D30D0C0C8805F6EE1A9F2F614 /* AWSExecutor.m */, + 5C75CAAF7F49F89B7051A38707269FE2 /* AWSEXTKeyPathCoding.h */, + CC2FE5289AA070C0A6495754EF921139 /* AWSEXTRuntimeExtensions.h */, + BD05320EDE6478374EAD54B066983F67 /* AWSEXTRuntimeExtensions.m */, + 52B665285AAAD72496F1DE00A627AB19 /* AWSEXTScope.h */, + 2D50C4C6FE7D4639BE7CA6DCB37ECE2B /* AWSEXTScope.m */, + 64B96DF8F1ED517807AFA1E3038C6252 /* AWSFMDatabase.h */, + C35B32EDF44E381CCE8B0C3BC2D21A1D /* AWSFMDatabase.m */, + 39397C1D4B3B5BB8709FE4E242B0AF3F /* AWSFMDatabase+Private.h */, + 1465389819E154FC9DAD787A1B307069 /* AWSFMDatabaseAdditions.h */, + 354934565F86A44E53ACCAE5A3BDCBFD /* AWSFMDatabaseAdditions.m */, + EC0543B1B56E8C1C2EA3485393962106 /* AWSFMDatabasePool.h */, + F268BAD0C6C4CB88AEC75B91FC6C9639 /* AWSFMDatabasePool.m */, + 1880515C2DAC5861F80C331688C76D20 /* AWSFMDatabaseQueue.h */, + 7F9997555832ADE68B57B7F11F66B4D6 /* AWSFMDatabaseQueue.m */, + 89FB2E3F1018FD8DA9ABB017A11577B2 /* AWSFMDB.h */, + 55821D4470C60AE7A7882A0FD10820B3 /* AWSFMDB+AWSHelpers.h */, + 9FACF62EACF6C95351657C538304B7CA /* AWSFMDB+AWSHelpers.m */, + CC66D9DC132498F3F73E09D9EBBF889E /* AWSFMResultSet.h */, + 2F3C138148AAC2294F575CDB49C3EC70 /* AWSFMResultSet.m */, + 8EE9B426F4450D922CE46D21FFF65A98 /* AWSGeneric.h */, + 6435641FE82C3369D049144E728AA57E /* AWSGZIP.h */, + FCEC6DCC376F24410D26076D8E070A51 /* AWSGZIP.m */, + 1488D7FEADC52EAF1C5F96C336E35A72 /* AWSIdentityProvider.h */, + E456B8FB9EBB1BA7C30673F1594034A3 /* AWSIdentityProvider.m */, + 2916502995C36C2CEFB41B1C1B0B9BA1 /* AWSInfo.h */, + D10A236DE1DF8779FCC7487B5B09B4F1 /* AWSInfo.m */, + 7373350F71493C6BE3B7341A006B4AAE /* AWSKSReachability.h */, + DABFBB5DA0369756267394A8FAB3F09B /* AWSKSReachability.m */, + 59FAB0170B78D1F89FDFCB5B34A7A2C5 /* AWSLogging.h */, + 70CB0D4BCE825E0C144400246AEA6271 /* AWSLogging.m */, + 4185019E82437205220D28D4FEBB3498 /* AWSMantle.h */, + C4D1D68B1969D46390533A4F6EAF76AC /* AWSmetamacros.h */, + 665CEB43C88A744CAF33BD27E3019F8A /* AWSModel.h */, + 0BEE4CD2DB40584D88F9D96680DB8E76 /* AWSModel.m */, + 37FD3BB77403AF08E2DD7CE5AC51C8BF /* AWSMTLJSONAdapter.h */, + C10E02B8676694B9354AC43296E56EB5 /* AWSMTLJSONAdapter.m */, + 8130F6268B947C47932C628622881B01 /* AWSMTLManagedObjectAdapter.h */, + 40F920C60A809F7A5EDE3E44EBB72812 /* AWSMTLManagedObjectAdapter.m */, + EAB620F008066F5615FB2461B564B15B /* AWSMTLModel.h */, + 93D719D900E40ED23D80721BE67A3012 /* AWSMTLModel.m */, + 5EF8E6D84E124565D735EC191D71AB9D /* AWSMTLModel+NSCoding.h */, + B9EF568010055465BD1BACE13B2B362B /* AWSMTLModel+NSCoding.m */, + 1D1504212DFF87D8F19A0A6C2E2DEEA5 /* AWSMTLReflection.h */, + 9A2AFD5AFD17334598C47D01EF7E470F /* AWSMTLReflection.m */, + 322E62E9B8C3D8BB8AD2CFD65DA9B19F /* AWSMTLValueTransformer.h */, + 95A323B234D9807C262DCB93EC9AED3D /* AWSMTLValueTransformer.m */, + C3AA6EFC10E70D5782E3A34EF9101A0B /* AWSNetworking.h */, + 1FF0051E3A8D667DC9F1056D19D476CE /* AWSNetworking.m */, + 7925C4F68CBA2CA4DBC558C995A46834 /* AWSNetworkingHelpers.h */, + 61BDCDAED4D6D20CE77B978C09132CE8 /* AWSNetworkingHelpers.m */, + 4E004B456C5659E1E6D89CB750FE338B /* AWSNSCodingUtilities.h */, + 4FF41B0FC773D07A7BD0C0ECF354190C /* AWSNSCodingUtilities.m */, + 14556AD603E9AE6ED8138D781CECD0FD /* AWSSerialization.h */, + F82642319AD414617D0E29E8FF9CB512 /* AWSSerialization.m */, + 233860740D51E40D040279CF278B7159 /* AWSService.h */, + F077FB40A037AB0A3BB3689ED964029B /* AWSService.m */, + DAE607E77B82DE1677A91BC8DC17A8CD /* AWSServiceEnum.h */, + E5E46EE5584765E39E6FFFC87AF32A18 /* AWSSignature.h */, + 5885646DA37882C5B0D3120C1E995B40 /* AWSSignature.m */, + 02A0C02E510843DB1CE885AF9D12D591 /* AWSSTS.h */, + 4A34C7FE8693DFCA71C1D5B1AC2EB0F7 /* AWSSTSModel.h */, + 421C8FC45E1280C7E2C16379B2F77DE4 /* AWSSTSModel.m */, + 42998E72838ACCABFF2EE1C69EC38938 /* AWSSTSResources.h */, + BE459093615028FD5EBF54890D6B2701 /* AWSSTSResources.m */, + A2CDD8332146E08667D63F9865A26F71 /* AWSSTSService.h */, + D93E6B935D02913DB399A3EDF01A2583 /* AWSSTSService.m */, + 7533CF91DA6B7E2F18F2033B8CB008DC /* AWSSynchronizedMutableDictionary.h */, + 587F73B156FF4E96872F34CE940AEE2C /* AWSSynchronizedMutableDictionary.m */, + 2A4483432FBD5E418990AD96074E5347 /* AWSTask.h */, + A6E3969DC3E66D89C1AB6E61F5A736C5 /* AWSTask.m */, + 564ACA81771A5E68ACBFFAC0AC9CBA7B /* AWSTaskCompletionSource.h */, + 2B883A0E6B17A2CE045B79769C981C64 /* AWSTaskCompletionSource.m */, + 55C47F8C61BA42C28AC0EC00FB23377A /* AWSTimestampSerialization.h */, + FE907A82BF330E5388FDA3574AED6361 /* AWSTimestampSerialization.m */, + 733D0360E602A9EFFCE4F60F205CEAB5 /* AWSUICKeyChainStore.h */, + 317B506821312CEF760A23D4CA62B0EB /* AWSUICKeyChainStore.m */, + 8C5FF03BCE2F2C0E4C1195FC1CBF0543 /* AWSURLRequestRetryHandler.h */, + 21DAE1506B76A88D447B406D48A9EFD7 /* AWSURLRequestRetryHandler.m */, + 873226EEA39AA35D28FF169FBD1820C2 /* AWSURLRequestSerialization.h */, + BBDEB3FCE1C43A2FB15231A32C546175 /* AWSURLRequestSerialization.m */, + 0FCE149A46E0E56D26165ABF41290D8F /* AWSURLResponseSerialization.h */, + 21F2C2BCB788B4A41DEF36BE1DB8D46C /* AWSURLResponseSerialization.m */, + 2056F1EC5C934691A6CDEB1BAED84FE4 /* AWSURLSessionManager.h */, + F5FC55DC5260FA80DEB474DAD386B49C /* AWSURLSessionManager.m */, + 0D5A79411614F3FD1570658C2406E039 /* AWSValidation.h */, + 57E280DEA069EFE4977BC75A61C93EE8 /* AWSValidation.m */, + 2C4B15AB7CB8B79C8F53F553537CC820 /* AWSXMLDictionary.h */, + 92A2C6416B761B9F4B4A0585FC1084B1 /* AWSXMLDictionary.m */, + 064B87BCF17996CD985E883C900A3335 /* AWSXMLWriter.h */, + 4A031454E74D05C1B0D988D7A72D5CF4 /* AWSXMLWriter.m */, + 0482F728BBF1D6C65450FA38F6CCA243 /* FABAttributes.h */, + 1BF84B7F87111E023024E2B41E3E689B /* FABKitProtocol.h */, + 731E69E3132137CEE6641BD5A213FF31 /* Fabric.h */, + F07C1097822293229E7464594EEE7289 /* Fabric+FABKits.h */, + 37806ADE597DC98B838FADA59C85A973 /* NSArray+AWSMTLManipulationAdditions.h */, + 1BEF4E62987970472C9316FF3E45E499 /* NSArray+AWSMTLManipulationAdditions.m */, + 16140BD7BFD61A89571CED0D6F9D35F0 /* NSDictionary+AWSMTLManipulationAdditions.h */, + 82931D501856CB25921F17A689B4C6A4 /* NSDictionary+AWSMTLManipulationAdditions.m */, + 4C7914C72795D4884C1579B18955FAD2 /* NSError+AWSMTLModelException.h */, + 116FA08B0E0EFAB6D7ABCF84DD2A385B /* NSError+AWSMTLModelException.m */, + 2478441E521A0B0EFBD4EC041E30788F /* NSObject+AWSMTLComparisonAdditions.h */, + DCC98045CE1BABEB11A32D17BD72A051 /* NSObject+AWSMTLComparisonAdditions.m */, + 704E0C5DACF8C12C215190550B44B358 /* NSValueTransformer+AWSMTLInversionAdditions.h */, + 3463876276536145189472BBB7CBC0CC /* NSValueTransformer+AWSMTLInversionAdditions.m */, + 871FF398EC470EC9A264DDEE5992E7EF /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */, + 9597A65DB84AD54CF2FA5B445677718C /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */, + AF766E966353F2657DE14D4FA3D5E6C4 /* Support Files */, ); - name = SwiftLint; - path = SwiftLint; + name = AWSCore; + path = AWSCore; sourceTree = ""; }; - E58668E1D675E8E47CCB8B0003709BFD /* AWSCore */ = { + EAF3AF6DAC9288D4917F6628598AE739 /* AWSCognitoIdentityProvider */ = { isa = PBXGroup; children = ( - 1760B117177DB50D3124422AE652DE30 /* AWSBolts.h */, - FCCEDB0095CF8BAB74F17FDC95D88409 /* AWSBolts.m */, - 386E2C7E783E74967487F1372F500977 /* AWSCancellationToken.h */, - E89738BD5EDA148643A3544657F23E88 /* AWSCancellationToken.m */, - 03A7A729FE4A0CAABB83EE077269FBF5 /* AWSCancellationTokenRegistration.h */, - 0B642C7C2C205ACF2616CC8604F68545 /* AWSCancellationTokenRegistration.m */, - 863FC21CD0014D3291A995F873D96EC0 /* AWSCancellationTokenSource.h */, - 73538580658B24FA1C4CDFEBCDBB3B04 /* AWSCancellationTokenSource.m */, - CDB1C07115DC9B5761D10EB8496B9FE5 /* AWSCategory.h */, - 651AEA1FFC1BE75F97F084B9FA00AED0 /* AWSCategory.m */, - 9741180E12A972970AE30AA4BDF7D5CC /* AWSClientContext.h */, - 41EEFCD72D4836216713DE0020B17C1A /* AWSClientContext.m */, - 6204CA9C1C9AB1DE2B5B9E5540173BFE /* AWSCocoaLumberjack.h */, - 8B1C066DA1016DCA250C6BADD143B10E /* AWSCognitoIdentity.h */, - CBD75E5B97CA025EB8CF795D20EE32B7 /* AWSCognitoIdentity+Fabric.h */, - B3254537A86A512944C5BACA6DFB8079 /* AWSCognitoIdentity+Fabric.m */, - 01DBF972FF8FB9716753490B233CD615 /* AWSCognitoIdentityModel.h */, - 0FEE504C6AE91BCF520865BAD91EA2F2 /* AWSCognitoIdentityModel.m */, - 1CF9D1B0A6E0128F4B55A7644BD567A2 /* AWSCognitoIdentityResources.h */, - D1BF953B0B33EFFB7EC8266F2C3D820C /* AWSCognitoIdentityResources.m */, - 0E3EDB574B0D8B9A170F608A4D3B1095 /* AWSCognitoIdentityService.h */, - 72ED65F4AA3E46F89E3A468A51816B3F /* AWSCognitoIdentityService.m */, - 468D8DEEE14CEFA138DEDF8623C7ECA4 /* AWSCore.h */, - 58A3AD206664B6ED1E8B740D8802AB0B /* AWSCredentialsProvider.h */, - DC5E994B47F5177C6EC1872DFCEE4D11 /* AWSCredentialsProvider.m */, - 6F8CB37E5F86BA0693AA1DAD7350F924 /* AWSDDAbstractDatabaseLogger.h */, - A93E50F086D692B371CCBC93AA373E0B /* AWSDDAbstractDatabaseLogger.m */, - DF2EC42344C37A98B27281E89143C25E /* AWSDDASLLogCapture.h */, - 647440B47A124EF8895555526C35FEDE /* AWSDDASLLogCapture.m */, - F469F0FBA98F59CD115D30F3FD55F270 /* AWSDDASLLogger.h */, - C1F4E21B7CA87EBA2A8E97CBD408994D /* AWSDDASLLogger.m */, - 1FC7A9A53F2CE52AE92934DE7D5A8DC0 /* AWSDDAssertMacros.h */, - 68B5814696B72D4B454C47B93858EC15 /* AWSDDContextFilterLogFormatter.h */, - 1B33B0BA15C5D183EDE97B39E0D2DBB3 /* AWSDDContextFilterLogFormatter.m */, - F2787E0A03DE3BFE54FF17FE61BBFDC5 /* AWSDDDispatchQueueLogFormatter.h */, - B6A037224F12F6AFCCF8B758235DC5C9 /* AWSDDDispatchQueueLogFormatter.m */, - D962FE253BEDBADB00EB8D4EE2665C4F /* AWSDDFileLogger.h */, - C38B815BC297EB82AB852B220943C58D /* AWSDDFileLogger.m */, - 313A5E2082F75C91F809A808D53E15BF /* AWSDDLegacyMacros.h */, - DF97D66B708D45C602D4E44F1173772A /* AWSDDLog.h */, - E399951A5E965947ABBD07134595D4E7 /* AWSDDLog.m */, - A3D17B1B5A8278557B8A7163E4C37720 /* AWSDDLog+LOGV.h */, - 9BE5E937D6688F0D10C69A304F69D786 /* AWSDDLogMacros.h */, - 61CF1413BDE3543E96B62177BB9C6522 /* AWSDDMultiFormatter.h */, - B2C225330EFCFCCAEBA675788D49FAAB /* AWSDDMultiFormatter.m */, - E0B024AF37340D772934BD5E77E67F77 /* AWSDDOSLogger.h */, - 5BAEFCE80B5C6A1C149F7DAF4D2A432C /* AWSDDOSLogger.m */, - 5861A606F89A8A3E264E95DA587754DF /* AWSDDTTYLogger.h */, - 47BE209438E8170E884E2191756157C3 /* AWSDDTTYLogger.m */, - 872123A0F9A32A96D344B0815B8B808F /* AWSExecutor.h */, - 65F0D89B985385255E77781294DEC3DC /* AWSExecutor.m */, - 9CDB1669A29B5D3AB1F43420A8C70AF3 /* AWSEXTKeyPathCoding.h */, - 19CA88A35DF75744CF9E7E3B4E1B4873 /* AWSEXTRuntimeExtensions.h */, - A8A2DB8F8A2FC22CD34F787E9C80277C /* AWSEXTRuntimeExtensions.m */, - 7DF3CADB1E247CD8CB568FAEEF314012 /* AWSEXTScope.h */, - 2D2D8A155D5CA52CB0A4591C4A1567F2 /* AWSEXTScope.m */, - 638AD56143B6268393A30549E277DF6B /* AWSFMDatabase.h */, - C666BB68138A7ACEF6EBCC93F45D6385 /* AWSFMDatabase.m */, - A366107CD6B4A98986F2F68BC3AB7DA5 /* AWSFMDatabase+Private.h */, - FE0B4707825FB5E1DEB1AAD9CA103A7C /* AWSFMDatabaseAdditions.h */, - F0051A416BA10149158A4D8AD99923DF /* AWSFMDatabaseAdditions.m */, - FCF637F589ECFF44236FC94576888D4E /* AWSFMDatabasePool.h */, - 8AE07467A803DC6A20FD0C42BEB09678 /* AWSFMDatabasePool.m */, - 1A38F5872837AE34E9547D4141AF3C9F /* AWSFMDatabaseQueue.h */, - C1FAECC53155F9C3D6ADDE8CABF94A2E /* AWSFMDatabaseQueue.m */, - BAD9A049455CA886145A854C6649FC98 /* AWSFMDB.h */, - 78D30461EB1FB09228E42D79A271DBD1 /* AWSFMDB+AWSHelpers.h */, - 4E37D6D62FD2AA68E3478256B5C76089 /* AWSFMDB+AWSHelpers.m */, - 3A4FA3EB423302AAB4928E9185AAAD47 /* AWSFMResultSet.h */, - 87621749FE32A3DA153E09DC81701BAD /* AWSFMResultSet.m */, - 55AFF8A595AEAB53EF1B656C20202CB1 /* AWSGeneric.h */, - E89C189594C63DB8D1985F0222EC6B07 /* AWSGZIP.h */, - 94FC4B19B15B7E8D96C3200D9758166C /* AWSGZIP.m */, - F4EA58D4FE0C9E146683EFAE53A2B6AF /* AWSIdentityProvider.h */, - 4553AE6C8834BDAF73C21762E525675D /* AWSIdentityProvider.m */, - 6E976CE37FF9752AD65E1541A324AD43 /* AWSInfo.h */, - 7671AF14133E7FE1E45AAB2483CC14F9 /* AWSInfo.m */, - A7C72D159FDA8FCD7F0B95B8DD7C2D3B /* AWSKSReachability.h */, - DDA62F753F72416A68173475E3C2C5EC /* AWSKSReachability.m */, - B93C2F893446EDE47E6D11B3D34BBF20 /* AWSLogging.h */, - 4BCCB527A5B2D996D5EF7F17899BB327 /* AWSLogging.m */, - 1EDF1587D8CE25C966A666201FCAA0BE /* AWSMantle.h */, - 7ADA6AF9C3ECEE2F4E6369C81E33AD40 /* AWSmetamacros.h */, - 198B22D95C81900C86C8165818BEBD29 /* AWSModel.h */, - F579FA7A9BD49B58BF23AC4CCEDCC393 /* AWSModel.m */, - E079F4060322A39E0D35E856AB6FB939 /* AWSMTLJSONAdapter.h */, - BCC06DE6B17E58CB4E1009FE68EA890B /* AWSMTLJSONAdapter.m */, - 718D14F140315DDFA2052E031F151393 /* AWSMTLManagedObjectAdapter.h */, - BAD7B92694CA961CA4223D41D6C95722 /* AWSMTLManagedObjectAdapter.m */, - 829BF6F49F1EB4AAB1727260A7614877 /* AWSMTLModel.h */, - F53CD813217280C284A433F6207814F3 /* AWSMTLModel.m */, - 6DEE2BA9BAAEA0ED9A756247007EEF3C /* AWSMTLModel+NSCoding.h */, - 0F080112AB3F2DDA36C0D19ABDC0FEB8 /* AWSMTLModel+NSCoding.m */, - C25033161C3E4D371F85068D17BE866B /* AWSMTLReflection.h */, - A38913A47712A74F90B92CEBEF92062C /* AWSMTLReflection.m */, - 7B37397BD120C7B2EA7B4B348159793E /* AWSMTLValueTransformer.h */, - DB90DE3B85080B50E2CB08C22B5CCE41 /* AWSMTLValueTransformer.m */, - 8D74ED39483AF9E51DCCE993622BA240 /* AWSNetworking.h */, - 2BE9F02307244EF88D10A06ED41FDFE2 /* AWSNetworking.m */, - F25D384CE129DDC6618B45B11473E504 /* AWSNetworkingHelpers.h */, - F980429BB27D823F2017D23C55EEB485 /* AWSNetworkingHelpers.m */, - 483259F173ACC61AEA7FAE9F0F5A4977 /* AWSNSCodingUtilities.h */, - 7A695B35441B1BB7DB3A4CCB49AB70A6 /* AWSNSCodingUtilities.m */, - 2EA9923382348B47C616072E566D3B68 /* AWSSerialization.h */, - BFB0F416156E20EA13F192817B560A76 /* AWSSerialization.m */, - 337BB189C50B1F1328A9FE4BE818B3A6 /* AWSService.h */, - 1AC1EF436DEDC1E05B3641B560D95AF1 /* AWSService.m */, - 6173466C4E76AC7F519D668823FDE0E2 /* AWSServiceEnum.h */, - 968C4737FA4BBE8324A77ECFEDBD6053 /* AWSSignature.h */, - C1781FB64F02E9473F89C558DB0798D5 /* AWSSignature.m */, - 68B00A31ABE29B0AFD02146B66D1F861 /* AWSSTS.h */, - 9D4321354141FCA8F2D2B82F3C181C6B /* AWSSTSModel.h */, - 76A02227C1674DA4B5FDF64AC69B96F7 /* AWSSTSModel.m */, - 34C2DFB55A5904235DEEEC2F46EFFE9D /* AWSSTSResources.h */, - 53315FBA87DD6C4FBC19FB83A6169A40 /* AWSSTSResources.m */, - F2CEC867A8862672F301221EE7216D58 /* AWSSTSService.h */, - 22374EF8A161F9B0884E7DA2CA1C70B3 /* AWSSTSService.m */, - 4ACAD9219BC0E689CF1A4497F1129FBA /* AWSSynchronizedMutableDictionary.h */, - E39BACCE117BD7EF69BAFA271794E8C1 /* AWSSynchronizedMutableDictionary.m */, - ED6C173F302FD8972652CD5C8F9AEC9C /* AWSTask.h */, - A0BA3909CBB1E47270F9B575C3057B8A /* AWSTask.m */, - DB2274EC5F449010A4920E0DEDAC6422 /* AWSTaskCompletionSource.h */, - CC42CEB6170810C5BD0A994047B687BB /* AWSTaskCompletionSource.m */, - 4240EE4E9772FA1F72C71B9534269988 /* AWSTimestampSerialization.h */, - 148A75265746E6F6CB829A8C36A6C143 /* AWSTimestampSerialization.m */, - B41772468D1321B781BC2D97F04BB651 /* AWSUICKeyChainStore.h */, - EED771BF0B3F6BA9BDB1DB72E4B5F700 /* AWSUICKeyChainStore.m */, - C31299A886DD0A1D76CF5011F083B474 /* AWSURLRequestRetryHandler.h */, - 17249D7489BA09B53EB53D04173F199F /* AWSURLRequestRetryHandler.m */, - 3133285BE0A8F478083EAE8B703AEB91 /* AWSURLRequestSerialization.h */, - 403A25F61A51AA9F699E807BDFAE5243 /* AWSURLRequestSerialization.m */, - AAF43E3182C5226F3230DB99C3DB2637 /* AWSURLResponseSerialization.h */, - B76CF9F5B1C4811F80CF86EA4C251CBE /* AWSURLResponseSerialization.m */, - E918882C2A5672DDCC510F80406BC63C /* AWSURLSessionManager.h */, - C507EBDE4BA2128EDB62C4DB9F1AC705 /* AWSURLSessionManager.m */, - 46FCD2196AE5DFE8DD3D756690B525CD /* AWSValidation.h */, - C46B8CBFC90F3C531637A3106F6E6E21 /* AWSValidation.m */, - 814D1F6054AB5C6C690C59987F6A7212 /* AWSXMLDictionary.h */, - AA86FDEFB24533C569F36AACB9E2A74C /* AWSXMLDictionary.m */, - 3430A4CC002946A630B4BB010D8F741E /* AWSXMLWriter.h */, - 718261847EA4374BDAB0DDFE4D783A74 /* AWSXMLWriter.m */, - 80F2764EDC1F31C7A383488CE962D178 /* FABAttributes.h */, - 2879DE7EBCD30596277C5E688A823559 /* FABKitProtocol.h */, - 9947628CB40ACC048D50E2C649781F52 /* Fabric.h */, - D9FF163E8BC7FC32A7595204C44985B4 /* Fabric+FABKits.h */, - A21536682F4DB9E087D2F9FDEBD5B643 /* NSArray+AWSMTLManipulationAdditions.h */, - B43A65151406E7B21A6E8AB93E5DDDFE /* NSArray+AWSMTLManipulationAdditions.m */, - C1E630CA20A05F71ED3E0A676F64F069 /* NSDictionary+AWSMTLManipulationAdditions.h */, - D5310B6B33905B63CBE9B529325B230F /* NSDictionary+AWSMTLManipulationAdditions.m */, - CF641D4A37A07E0B30FF0A9BCEB07B39 /* NSError+AWSMTLModelException.h */, - 6D00E470E076F73E486E3C8D706BE205 /* NSError+AWSMTLModelException.m */, - D891ED4F8ED0B36A0DF08DE51A1AAF90 /* NSObject+AWSMTLComparisonAdditions.h */, - CA43588C2EAC9981BDACDE48F4C78736 /* NSObject+AWSMTLComparisonAdditions.m */, - CD7C3C7E30C57F2FF014DE242870E053 /* NSValueTransformer+AWSMTLInversionAdditions.h */, - DBFBFAA26EF1D7A8A8B3153CDCCB329E /* NSValueTransformer+AWSMTLInversionAdditions.m */, - B9E2A1BC980C8E5047073DB55EBCFA2A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h */, - 3ED33C8BB7B3177EA8FC99ECEC63C30A /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m */, - 0884BD983C82FA7346807151CAD3F90E /* Support Files */, + 8BD06A9E25C5C88339B5C467BB1FB281 /* aws_tommath.h */, + 362C3977E079434AFE2060800D1E7A0E /* aws_tommath_class.h */, + 270F53841164E39850C076DA000D3332 /* aws_tommath_superclass.h */, + 6B359177081ECB46E80E8DBBBBA6E039 /* AWSCognitoIdentityProvider.h */, + B024B412615E36C6C2F875BFE2E4B40E /* AWSCognitoIdentityProviderHKDF.h */, + D3F20E249EEAA1A1287B6E52B727629B /* AWSCognitoIdentityProviderHKDF.m */, + 1772500BA668FED37F3FFB54D5CEF90F /* AWSCognitoIdentityProviderModel.h */, + 05EBDEC0F0F3B3253845F7C91CD9890F /* AWSCognitoIdentityProviderModel.m */, + 20FD6D1C7F2128DE6C362D4FFBF73D92 /* AWSCognitoIdentityProviderResources.h */, + 5D1FA8BF16A8311380A28DCA02A823CA /* AWSCognitoIdentityProviderResources.m */, + 1C3C48537F8E5BC12CE03869A43E4506 /* AWSCognitoIdentityProviderService.h */, + 96D43F07564550F1C861B2ED7D8D1234 /* AWSCognitoIdentityProviderService.m */, + BA579A22EE6DA9F823F5EE9115197E3A /* AWSCognitoIdentityProviderSrpHelper.h */, + 71BFEAD7EFD5E18161924CEC4ABF19DF /* AWSCognitoIdentityProviderSrpHelper.m */, + BAC2329FFC83C3F7180C0D1600AF35ED /* AWSCognitoIdentityUser.h */, + 63450CE6ACB083F1611ED7AD116EE9F6 /* AWSCognitoIdentityUser.m */, + 04C295CF72814DE30D3EADF21012A526 /* AWSCognitoIdentityUser_Internal.h */, + 79F15ADEF71A72AE6110CF34F02DC80D /* AWSCognitoIdentityUserPool.h */, + D03C4530E2B9259797124DEBB9397E9C /* AWSCognitoIdentityUserPool.m */, + F720160F3C7BC302894A9A2BE50CF64B /* AWSCognitoIdentityUserPool_Internal.h */, + CE29DE93BC880A3A05A516D6814BBEC8 /* AWSJKBigDecimal.h */, + C793DDB63B3FBCBF576C197F50726DFB /* AWSJKBigDecimal.m */, + 474AA90499D8F4CA54909630CCC1561B /* AWSJKBigInteger.h */, + 7C7DC580419698F988C87F415048F4E3 /* AWSJKBigInteger.m */, + C0698F54DB908868C505639866B85534 /* NSData+AWSCognitoIdentityProvider.h */, + 91D3C1A703BAD71E4FD79B40476DA7C0 /* NSData+AWSCognitoIdentityProvider.m */, + 38D23668157F6DAE937A42F5A9CB8777 /* tommath.c */, + 1ACC0A86271814C4B021725E57BA2855 /* Support Files */, ); - name = AWSCore; - path = AWSCore; + name = AWSCognitoIdentityProvider; + path = AWSCognitoIdentityProvider; sourceTree = ""; }; F4ABA2D15F73BDA28FEDB4D42BCDEEE2 /* Pods-AWSAppSyncUnitTests */ = { @@ -2201,39 +2246,6 @@ path = "Target Support Files/Pods-AWSAppSyncUnitTests"; sourceTree = ""; }; - FEFA1448F5781198C54A453C6D3DF6BB /* AWSMobileClient */ = { - isa = PBXGroup; - children = ( - 083FF44CD44CD6B3390F56580EBEACD7 /* _AWSMobileClient.h */, - 311D5C09FE9122EFCF19C99E976472EC /* _AWSMobileClient.m */, - CE820AA6821FDCAD36173B8A8FAAABDA /* AWSCognitoAuth.h */, - 4273E43D4232B0064005AAF2A83CE5F8 /* AWSCognitoAuth.m */, - B60F07B2D1F0B5B297697709B4CC8C0E /* AWSCognitoAuth+Extensions.h */, - 6306029C55AD34FC9D3C6665D0E8507E /* AWSCognitoAuth+Extensions.m */, - 6428CE95057551A716E25D6D850DD6BD /* AWSCognitoAuth_Internal.h */, - 044B5BBB48B24B9AC7457B0F589531C0 /* AWSCognitoAuthUICKeyChainStore.h */, - E7C5909190E73EAC3763AE5D1C4D240F /* AWSCognitoAuthUICKeyChainStore.m */, - B787C6263B34F4524C2FAB3532450371 /* AWSCognitoCredentialsProvider+Extension.h */, - 98528467499FE846516F433BF3D3A1A4 /* AWSCognitoIdentityUserPool+Extension.h */, - 66C939469BA6B6612FEC64CB638E2E55 /* AWSMobileClient.h */, - E184DAA9B2D4BFD834523466F94A290F /* AWSMobileClient.swift */, - 2579E1ED5FE95C8159316351580E2CA3 /* AWSMobileClient-Mixed-Swift.h */, - 75ABBDCFE8BEAEF45D277B1547B40064 /* AWSMobileClientExtensions.swift */, - 85782346E6D99739675062487C4872D1 /* AWSMobileClientUserDetails.swift */, - 108DBE2CE75B24468D0E662D498932AC /* AWSMobileClientXCF.h */, - F475A13D518D8B162B905DA9135E0180 /* AWSMobileClientXCF-Mixed-Swift.h */, - 07D6A7E0DFBFBB20F85CB70BF9964BFF /* AWSMobileOptions.swift */, - 577AD9D20037A49E49F41E31088025BE /* AWSMobileResults.swift */, - F6FC56C6CCBF4BF92CE693B54CBCA448 /* AWSUserPoolCustomAuthHandler.swift */, - 9BB5F1F3190A72CD9C8C815BF0E676B4 /* AWSUserPoolOperationsHandler.swift */, - 4A1305E6E02CE0D7A5B821B3168F4005 /* DeviceOperations.swift */, - A11F295F58DCBF338FB63B022381FFE1 /* JSONHelper.swift */, - 11CBD266F511517639C3E8853AB8D2ED /* Support Files */, - ); - name = AWSMobileClient; - path = AWSMobileClient; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -2261,121 +2273,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 15F75681CC8FFC1215E1B72F0D0B7072 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 7370618CC612CD9FD1DB49D0CE32FAA7 /* AWSS3-umbrella.h in Headers */, - 45D8DDBF9AA0635136B0489FE6391CA7 /* AWSS3.h in Headers */, - BE15451B18A9620BFCCA43E81E96454C /* AWSS3Model.h in Headers */, - 66B31EEBC9BAA41FD1AAE2E2D1337E10 /* AWSS3PreSignedURL.h in Headers */, - 7D3BE49E36FA69A430E3E872BDC36732 /* AWSS3RequestRetryHandler.h in Headers */, - 8A9E6AA5AC0833ADC11D3DE9DA43EECC /* AWSS3Resources.h in Headers */, - 17CB94A9978D380EA1B91A063582B684 /* AWSS3Serializer.h in Headers */, - 0458AF47AF03A0CF70A0B36C19718E11 /* AWSS3Service.h in Headers */, - D08172C39A17D903B91F677C3B2D0BFC /* AWSS3TransferUtility+HeaderHelper.h in Headers */, - A522202DE65E17CBC8CA9EB04F016F80 /* AWSS3TransferUtility.h in Headers */, - 03EE71B1AEE9FAFE9C3D0793ED8B0881 /* AWSS3TransferUtilityDatabaseHelper.h in Headers */, - 46F93C1537B1F1919BA187AD223C855A /* AWSS3TransferUtilityTasks.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 35D1A41B102BB0C3ED96EF6F68350EE8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D2AE7F57909797BB3C67F195DFE583F /* AWSBolts.h in Headers */, - C679FFA22658A5852BF94552464014DB /* AWSCancellationToken.h in Headers */, - 921A674029BDEA5933DC10DBD39D6861 /* AWSCancellationTokenRegistration.h in Headers */, - F39D262038805E667E2739269492E991 /* AWSCancellationTokenSource.h in Headers */, - 15154F169FF8A20CD46333222C8C6E35 /* AWSCategory.h in Headers */, - E9794F6ABE52433AE4410CE1B6F7ABEE /* AWSClientContext.h in Headers */, - CD8B44159D5BC19C6E2649C73518886C /* AWSCocoaLumberjack.h in Headers */, - 5319154BEB250E2C6A40D916E3101BE2 /* AWSCognitoIdentity+Fabric.h in Headers */, - 98FAA16AC9EFEE9E08E3BCF50CEC9A27 /* AWSCognitoIdentity.h in Headers */, - 906E7C291EA6CAB36476B479BA0F5707 /* AWSCognitoIdentityModel.h in Headers */, - A38FF583268CEE454B536F1CC9B4B884 /* AWSCognitoIdentityResources.h in Headers */, - BE68287DCA5B4CAF34789BB58F6C9E1D /* AWSCognitoIdentityService.h in Headers */, - B79011FE27E61C369CC971B1E7968097 /* AWSCore-umbrella.h in Headers */, - 24F05B701F67B38CC56068EF5A0F83B2 /* AWSCore.h in Headers */, - FCA96315BD1DA6E388C2459C3BC32B34 /* AWSCredentialsProvider.h in Headers */, - 6105B1153746264F919BAD4D9E3E68B9 /* AWSDDAbstractDatabaseLogger.h in Headers */, - 0FD9B5F5D677C99907638DAAD350D4D0 /* AWSDDASLLogCapture.h in Headers */, - 47BE74BF7F229B9160F0EEBBF40AC52F /* AWSDDASLLogger.h in Headers */, - D45D101FF69EB9FC50253EBD013BB145 /* AWSDDAssertMacros.h in Headers */, - E5032D3363E33633EA89B0482404D7D7 /* AWSDDContextFilterLogFormatter.h in Headers */, - 745CF3DA22B166B9C17568942450CF32 /* AWSDDDispatchQueueLogFormatter.h in Headers */, - 6B61F6B155694255335BEC47EB0F7562 /* AWSDDFileLogger.h in Headers */, - 2EC26F8A5EED9388936ED55E7833C972 /* AWSDDLegacyMacros.h in Headers */, - CDE815F93829405BBAD11FAB2C0FC61E /* AWSDDLog+LOGV.h in Headers */, - 3C7F7518FEEDE8CE6F014C7BD883FD33 /* AWSDDLog.h in Headers */, - DD0ED59D9E4241115435C9A1249A3F23 /* AWSDDLogMacros.h in Headers */, - B63A4D6272DCEE04046BF41A3FA63366 /* AWSDDMultiFormatter.h in Headers */, - D77639108F8E332FB03CA4DC1207F770 /* AWSDDOSLogger.h in Headers */, - F8F276299B26C379F08DE0928D4DCE48 /* AWSDDTTYLogger.h in Headers */, - A3369B994CC6E7BBAE61B29F620C3143 /* AWSExecutor.h in Headers */, - 32536708EF4A960F2418159E7886F1F6 /* AWSEXTKeyPathCoding.h in Headers */, - 5784267C9CE3AFF450CA8658FE3CC1DF /* AWSEXTRuntimeExtensions.h in Headers */, - 1B7C69B955D8DD540162E8BEDA7BDA65 /* AWSEXTScope.h in Headers */, - BBD880ECEE5C319EEE7E129C34E50AB1 /* AWSFMDatabase+Private.h in Headers */, - E734DDE3C529DD9617CAFD59BB444716 /* AWSFMDatabase.h in Headers */, - E21D0E27F9AE4C40E420E9228133B514 /* AWSFMDatabaseAdditions.h in Headers */, - FB62563E13863CF67ABAEA93260A64A7 /* AWSFMDatabasePool.h in Headers */, - 1C7A97DC259203D77EC99852B82AAB88 /* AWSFMDatabaseQueue.h in Headers */, - 9BC6812A5FD7B79F28CF484824F30820 /* AWSFMDB+AWSHelpers.h in Headers */, - BAEFED47C75CEF29DDA9C1B64E354546 /* AWSFMDB.h in Headers */, - 8F79E056BC8504C4FC5E7C6EB3D32EBF /* AWSFMResultSet.h in Headers */, - EE2FD269DE891303277F845707F9D31F /* AWSGeneric.h in Headers */, - 79663CF7E702087499B1038CAF6B8AE4 /* AWSGZIP.h in Headers */, - 6CD3D8B90EAB4CF7CC3729B37FAD3E56 /* AWSIdentityProvider.h in Headers */, - FC4A523FDAE1EF7F648A83059FB59ECD /* AWSInfo.h in Headers */, - C8461C1D71AB7700B91B669FF4FB5B90 /* AWSKSReachability.h in Headers */, - 7AADFDBCC74AFD7561D07E9750F0514A /* AWSLogging.h in Headers */, - BE2A2BFD062BDF5D67247DB617DDFE95 /* AWSMantle.h in Headers */, - D43AD0E639AD5017CD6918527657B3F7 /* AWSmetamacros.h in Headers */, - 7052EC22C27B5C784820AB6921F23A1E /* AWSModel.h in Headers */, - B07DB6B1E55D0A62D607A4F293FC1AB0 /* AWSMTLJSONAdapter.h in Headers */, - 4A03191704C9A1FB9530D11314275421 /* AWSMTLManagedObjectAdapter.h in Headers */, - 6A3D03F1ACD6629095DE0C1C6C134849 /* AWSMTLModel+NSCoding.h in Headers */, - 7CE37B39977B4366B1AB457743CA7E25 /* AWSMTLModel.h in Headers */, - C4CED7D20EA2ADA2E1A2287336F04FA4 /* AWSMTLReflection.h in Headers */, - C26F4C2B70C2434D63DD9848908AE027 /* AWSMTLValueTransformer.h in Headers */, - 2C74D727D7F1A69D94C79A875BF82188 /* AWSNetworking.h in Headers */, - EE1350857C31375EB5A46A3FE65648D3 /* AWSNetworkingHelpers.h in Headers */, - A17B12FDB08B7ED8F060606D3CDC15A6 /* AWSNSCodingUtilities.h in Headers */, - D6F8B6D249CB516A90B4D5F764CBF5D9 /* AWSSerialization.h in Headers */, - 51966B5A90DB3F6875691A2932944EC3 /* AWSService.h in Headers */, - 0903CB48B2F0D3C554E4DE76D89DF152 /* AWSServiceEnum.h in Headers */, - 87DF0A14C85CF325FE13D1042E1E3EB0 /* AWSSignature.h in Headers */, - 807379EB0DD1AD5C15062CA827F51BC9 /* AWSSTS.h in Headers */, - EB08A3A3E5F8B669CF3319A582FDE120 /* AWSSTSModel.h in Headers */, - E5BF1CE91B86447051D52A9ED27AEE10 /* AWSSTSResources.h in Headers */, - 38F9B8420FDD6B7A59CE1EF0A55DE4F5 /* AWSSTSService.h in Headers */, - 8728F62562C593F3C9C4A926D5E0F79E /* AWSSynchronizedMutableDictionary.h in Headers */, - 61F6EE29154A194B1E2EF833545E31A5 /* AWSTask.h in Headers */, - 4AE8028541CDC0389C86C684D2D38021 /* AWSTaskCompletionSource.h in Headers */, - B93152DC502C042FBC67E67A1D3B7770 /* AWSTimestampSerialization.h in Headers */, - 0995236C5A44723176A98AA7A19EB8FB /* AWSUICKeyChainStore.h in Headers */, - 0DB73BE274424556BF191D3B3D015003 /* AWSURLRequestRetryHandler.h in Headers */, - C632AEF7E0FD36E2F513501B339BD9B7 /* AWSURLRequestSerialization.h in Headers */, - E7EB48DDDD37CCE22747D8469BFCEB5B /* AWSURLResponseSerialization.h in Headers */, - 1BC6E522A6DCE2A00147C2538796FA8A /* AWSURLSessionManager.h in Headers */, - 224EAF74BE1EB347F5ED7524B7AE23B4 /* AWSValidation.h in Headers */, - 01C277ABB9B00BC2C12926D320AAF169 /* AWSXMLDictionary.h in Headers */, - A01E435D21B404D1F930F8994A796DFD /* AWSXMLWriter.h in Headers */, - 423C7B61923C46800C4AE3146D8D6EDA /* FABAttributes.h in Headers */, - 883747CA099EBD0C1DA1D348AA2A5078 /* FABKitProtocol.h in Headers */, - 8F48C33690AEA6C27F5121BBD918C6CB /* Fabric+FABKits.h in Headers */, - 4736334DD07614B0CCC568DB215F3E0F /* Fabric.h in Headers */, - 1BB1882FCE9EDE92EBC2B62DAE4E7E13 /* NSArray+AWSMTLManipulationAdditions.h in Headers */, - A07A394E22FD7728BC41B503981E94EF /* NSDictionary+AWSMTLManipulationAdditions.h in Headers */, - D362C98566FC999B9D0F2C7E964D6F41 /* NSError+AWSMTLModelException.h in Headers */, - AF0D9797E9C60EBABE52ED2BD09642C7 /* NSObject+AWSMTLComparisonAdditions.h in Headers */, - 232188029870463598833C6E69E3F4EF /* NSValueTransformer+AWSMTLInversionAdditions.h in Headers */, - 8BC87FCC51C6B7E887D1445F6D7128AC /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 47E072FC01B1CC1D9EAF89C6E6200446 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2384,21 +2281,109 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4CB4376DC5DFFCC04853F620F4566338 /* Headers */ = { + 51F95B0111014E5F228CDC415041F7BC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C13E207D69C177794C72FBBBD117D275 /* AWSCognitoIdentityASF.h in Headers */, - 12A36465CC38179238885B65A0AA4172 /* AWSCognitoIdentityProviderASF-umbrella.h in Headers */, - A6CA7B1A03EB156B2CDC90C6E04274B4 /* AWSCognitoIdentityProviderASF.h in Headers */, + FFD53B7D08F746008E83E52652BA95EE /* AWSCognitoIdentityASF.h in Headers */, + 847BAC681E660E352A993019F173CE3D /* AWSCognitoIdentityProviderASF-umbrella.h in Headers */, + 1295465BFE4291882B4F8C8E8E44F3F9 /* AWSCognitoIdentityProviderASF.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 51B372E4CE03A63405A51ACA7204D755 /* Headers */ = { + 5C57DD62B1E865696B27DEB1B6C6EC1D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9D0EDD6461A49457321F91DFD784FFED /* Starscream-umbrella.h in Headers */, + B7690CC00FF9B893EB5DAC9BDF87B697 /* AWSBolts.h in Headers */, + C999730DF9DE37D5B3924574AC54FEAA /* AWSCancellationToken.h in Headers */, + D46F1D2C736C34B3314F4CE40FDF674F /* AWSCancellationTokenRegistration.h in Headers */, + 35D5E9813A351C8FDE78F7C70928A945 /* AWSCancellationTokenSource.h in Headers */, + 54ED48DBEFAF1DCDF4DD7A74A21038D1 /* AWSCategory.h in Headers */, + FFDF61128681268476595642BCDDC4BE /* AWSClientContext.h in Headers */, + 5E09E96355FBD29547F92D6FCA5A894C /* AWSCocoaLumberjack.h in Headers */, + 99982C014FBC4463A434436E05813FEF /* AWSCognitoIdentity+Fabric.h in Headers */, + 7881892FE770A22E5C40DA61C24AEA76 /* AWSCognitoIdentity.h in Headers */, + C03088929CA889CF537643AF8FA3CFD8 /* AWSCognitoIdentityModel.h in Headers */, + 9D56E9EE4E258A1A43DCC84808A2361C /* AWSCognitoIdentityResources.h in Headers */, + 7C41A7E7EDBA3700C47FFE33B9E00142 /* AWSCognitoIdentityService.h in Headers */, + 69221ED87EFB653D505A38CAACDC467A /* AWSCore-umbrella.h in Headers */, + 026C2CBC8C2C05D84C1A5341C4E8E64F /* AWSCore.h in Headers */, + C0DA53A1F26A80135D1405B714A0E958 /* AWSCredentialsProvider.h in Headers */, + C6165E60CD0FC8218820096CD084CAB6 /* AWSDDAbstractDatabaseLogger.h in Headers */, + 7C679ED646C5F8E1BFD074031F7D4B8D /* AWSDDASLLogCapture.h in Headers */, + A86D1697E8F2841846D9CD492F96E56F /* AWSDDASLLogger.h in Headers */, + D5E840B98553662A66EB509C5C24B966 /* AWSDDAssertMacros.h in Headers */, + ECBC03CCD4F30A6CD02D150928A89C16 /* AWSDDContextFilterLogFormatter.h in Headers */, + AEE3B2F383CC34DC7E39720F59CA7B73 /* AWSDDDispatchQueueLogFormatter.h in Headers */, + F1DFC12068A6A8F9824CB474BB213CF7 /* AWSDDFileLogger.h in Headers */, + A88599B7540264D067A340F89FA6FD60 /* AWSDDLegacyMacros.h in Headers */, + 4E468AD75F21636DD57F02B73EAF1EF1 /* AWSDDLog+LOGV.h in Headers */, + 04DA306A73E750834F0C533D20ED93D2 /* AWSDDLog.h in Headers */, + D03186284080C404092EFBB96403F035 /* AWSDDLogMacros.h in Headers */, + 091017099C89AEBF11C910EDE95BEF0A /* AWSDDMultiFormatter.h in Headers */, + 029B157568B1B2E452FB9CDB7FF2D592 /* AWSDDOSLogger.h in Headers */, + 4D1D2B85DBB059523566B6BE160723CB /* AWSDDTTYLogger.h in Headers */, + 5854CAF3E08A95E0BE8C201CF9EBEB48 /* AWSExecutor.h in Headers */, + CA25D79A1051C03EFFD693618197E263 /* AWSEXTKeyPathCoding.h in Headers */, + D7745EB5CC77648BBE9D9D1C3A21919F /* AWSEXTRuntimeExtensions.h in Headers */, + 79174F6B6F20C880725D025CBE79CFD1 /* AWSEXTScope.h in Headers */, + E0436419E5700C0683DB03D5152DFF80 /* AWSFMDatabase+Private.h in Headers */, + 9E525128FF6CCD70ED457D4EDACCA574 /* AWSFMDatabase.h in Headers */, + D804607EB2771404A3EB8C71B65E4787 /* AWSFMDatabaseAdditions.h in Headers */, + 8307D71499E993FBD45AF131341263B2 /* AWSFMDatabasePool.h in Headers */, + 6B0FD26825FF0C071F0988CFA1EF9C34 /* AWSFMDatabaseQueue.h in Headers */, + 67FDD061AE21D4E791F73515D73D620C /* AWSFMDB+AWSHelpers.h in Headers */, + C255C58BBFC5BE3ECA1E83F7761842B7 /* AWSFMDB.h in Headers */, + 7627E5CA0253E67FBA7E4C7E8DE7E2AD /* AWSFMResultSet.h in Headers */, + E57E4A6FD1D2121FE22AB7AFD94A105A /* AWSGeneric.h in Headers */, + ED1B55B09DA00A6B6A5957DC18CDBB59 /* AWSGZIP.h in Headers */, + F3E9D00C62DAF1E2222FC91B49DD0BEC /* AWSIdentityProvider.h in Headers */, + DDC0A7928EB85BDEB4FB7FBF1B03C6E8 /* AWSInfo.h in Headers */, + 5F253AFA4F9E82A87D0DA90CD9128FDD /* AWSKSReachability.h in Headers */, + 4BA997F58B9C7BD2EEA76AD0A6BD830D /* AWSLogging.h in Headers */, + 767F88516DD6C80AF0DFA4129963F779 /* AWSMantle.h in Headers */, + 346344E87E5F59339A09E2B7CAD128EA /* AWSmetamacros.h in Headers */, + 2ED51F3B1C4EA1E8BE92B7724106F8C7 /* AWSModel.h in Headers */, + 04312D42CA666F507C55CC5BC553C7BD /* AWSMTLJSONAdapter.h in Headers */, + D79512430743808221509AC05BCD8FC3 /* AWSMTLManagedObjectAdapter.h in Headers */, + B9AE9CE505D256B119283539AEA9A45E /* AWSMTLModel+NSCoding.h in Headers */, + 292AA2DAAA13D8165D3CAAB59F8367E6 /* AWSMTLModel.h in Headers */, + 85ECE4AC8BA301174B95DAB8DF5A3FA6 /* AWSMTLReflection.h in Headers */, + C9682BF5FAC42CFC944C0ADFB21B3745 /* AWSMTLValueTransformer.h in Headers */, + FCD2EDB9A162795BCFFFB36F7409A1BA /* AWSNetworking.h in Headers */, + 92E11FE3D9FF4179FBCF1CA8E147B01F /* AWSNetworkingHelpers.h in Headers */, + 809F999AAD33CC0C40BF112AF3A653C8 /* AWSNSCodingUtilities.h in Headers */, + 0CAF4E47E09E3009546B52E831300BC6 /* AWSSerialization.h in Headers */, + F3A48E87A4B2E14560A085EB71C04740 /* AWSService.h in Headers */, + 7A402BBB955B8849CF97AA48F71BEAD2 /* AWSServiceEnum.h in Headers */, + 5FB2313862D2314F4AE7754439C432DB /* AWSSignature.h in Headers */, + FB3CF6A7406C2C4FEF75529048B8002E /* AWSSTS.h in Headers */, + 4E7563AEE3CF67A72CCFABD7B8A68E95 /* AWSSTSModel.h in Headers */, + DDCA647BBE60FC7A9DD372FD99F8BD3F /* AWSSTSResources.h in Headers */, + 6E6F7176DE19531E91A9EA5D702404EC /* AWSSTSService.h in Headers */, + 93AF7E1719244DF8BA2E2E9F74EFFC14 /* AWSSynchronizedMutableDictionary.h in Headers */, + D9726B71E2F9977AFFD2BA95D17A1F19 /* AWSTask.h in Headers */, + 1C051E362173D67D20DCE8E6E17306C2 /* AWSTaskCompletionSource.h in Headers */, + C8D8F9DA319B75B6AD02772AA7ECBD79 /* AWSTimestampSerialization.h in Headers */, + AC332FE04A511803B9F7D815359577B1 /* AWSUICKeyChainStore.h in Headers */, + 52C05BD23CF8BE146BF2A62666F36926 /* AWSURLRequestRetryHandler.h in Headers */, + EA15DA5E10F3E67D83C0ADBAB03EE430 /* AWSURLRequestSerialization.h in Headers */, + 891509734B0E5DDCD6EB5EDCFB8A7512 /* AWSURLResponseSerialization.h in Headers */, + 4D3DDA43664F91831DCAC53337DDA98B /* AWSURLSessionManager.h in Headers */, + 8B20A759B15FDC548A947383707AF43A /* AWSValidation.h in Headers */, + D3B7D2AB5AA2D59B2B3A074395765DAD /* AWSXMLDictionary.h in Headers */, + 14838A7DFC4F88F3BE7947079558CE51 /* AWSXMLWriter.h in Headers */, + D66FF41ABFD5F7252E4BCCBA77404F91 /* FABAttributes.h in Headers */, + A22C0A1359E3893E3018422CDF9E8FF5 /* FABKitProtocol.h in Headers */, + 92ADF801A826E95C43C7AEA4C80DDBC9 /* Fabric+FABKits.h in Headers */, + C27FC6EE802F59BCA3A61F5B3DDFD382 /* Fabric.h in Headers */, + FA63E6F006F9A2FE4379200D2039E727 /* NSArray+AWSMTLManipulationAdditions.h in Headers */, + 7F90B9D894C717FCBE4814BF04B576E2 /* NSDictionary+AWSMTLManipulationAdditions.h in Headers */, + D4CA1E747DA8A6232E51DDE679BA5A5D /* NSError+AWSMTLModelException.h in Headers */, + 3642C8076420C35599DDA9B2B51E4AE6 /* NSObject+AWSMTLComparisonAdditions.h in Headers */, + D7EB81DB0E885286C50DD4F1DC481140 /* NSValueTransformer+AWSMTLInversionAdditions.h in Headers */, + 0F1424DB19CE603E957658962D70F61E /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2421,6 +2406,27 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + ABA9304DBAA04E26063C7F4FACF42458 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 682B4E25070EDAB7F5BE3117BF7A3917 /* AWSS3-umbrella.h in Headers */, + 5FC303CD8EB70E6BFA3243DE8749E052 /* AWSS3.h in Headers */, + 96D7F8F4D131A119B159827E87E61B48 /* AWSS3Model.h in Headers */, + 88862387B2C086903768B4386D48F8C7 /* AWSS3PreSignedURL.h in Headers */, + 1707A868360FE4DEB335BF8DEBF5B458 /* AWSS3RequestRetryHandler.h in Headers */, + 899099E6147DD98A3378944EDDF4AEDF /* AWSS3Resources.h in Headers */, + E5775F6FFFD342A5DDA6D74D945306CF /* AWSS3Serializer.h in Headers */, + 5E03FE25C4B08B3FA8009079392C672D /* AWSS3Service.h in Headers */, + ADFF1D0E98EFC17F075335E4195301E2 /* AWSS3TransferUtility+EnumerateBlocks.h in Headers */, + 0E89239DA001946F9814E3450BF6CC2F /* AWSS3TransferUtility+HeaderHelper.h in Headers */, + D62B885097E2527C156E8E6F406016CA /* AWSS3TransferUtility.h in Headers */, + AEA23F98445A95662D248526B9EFE28D /* AWSS3TransferUtilityBlocks.h in Headers */, + 7AD0E0C6ADEF64B86CBAA054B5597FFC /* AWSS3TransferUtilityDatabaseHelper.h in Headers */, + 4080A1B4BB57120C103CABB5777E9AD6 /* AWSS3TransferUtilityTasks.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; CDF110FD9872194887D8D5401E5145DB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2480,6 +2486,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F487AF85A18076C9B3E057385C8C3D33 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 85EEA5E83E2ACD686F50DEA3A7513A09 /* Starscream-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F4F2F4B98ED2033F943FFC5F5CDB9755 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -2545,7 +2559,7 @@ buildRules = ( ); dependencies = ( - 00A1E25FBD1DCFCB6F2AAFD316D19E78 /* PBXTargetDependency */, + AB868EA0CFFB682E5879459A675C8803 /* PBXTargetDependency */, ); name = AppSyncRealTimeClient; productName = AppSyncRealTimeClient; @@ -2564,8 +2578,8 @@ buildRules = ( ); dependencies = ( - E73CFBFFE13D6EB0741B86C817B86F06 /* PBXTargetDependency */, - 1F6490C495D9D4D05BF222451008F659 /* PBXTargetDependency */, + 9D2DD8284DE49518BB70E54D9F37EDEB /* PBXTargetDependency */, + E9CD90957994A947A8110E32EFEEF4A8 /* PBXTargetDependency */, ); name = AWSCognitoIdentityProvider; productName = AWSCognitoIdentityProvider; @@ -2574,17 +2588,17 @@ }; 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */ = { isa = PBXNativeTarget; - buildConfigurationList = 518255CD200EFAD98594321D3591DFAB /* Build configuration list for PBXNativeTarget "AWSS3" */; + buildConfigurationList = 6CF5A9AFF81801194F999F5660FDC092 /* Build configuration list for PBXNativeTarget "AWSS3" */; buildPhases = ( - 15F75681CC8FFC1215E1B72F0D0B7072 /* Headers */, - 9ED515DE122C941D445F9962895A76DA /* Sources */, - FF23A243BC30EEC90750E8B9C758E0E4 /* Frameworks */, - 70EEA860483FD0E7350DE339DB210CA1 /* Resources */, + ABA9304DBAA04E26063C7F4FACF42458 /* Headers */, + 7B851987B57ECEC6CD10136B5804DC96 /* Sources */, + 0AA6A13F89F7C02E352AD10F38660668 /* Frameworks */, + B532863B7BA10CC0AB2EFB2C398E5E0D /* Resources */, ); buildRules = ( ); dependencies = ( - 644B1F8159111C484A8E8A7B3C3C8AA5 /* PBXTargetDependency */, + 5BFAAE0ED792BCEF0B6E7CA8216DD235 /* PBXTargetDependency */, ); name = AWSS3; productName = AWSS3; @@ -2603,12 +2617,12 @@ buildRules = ( ); dependencies = ( - 2C77872674339BAB838322740D8D73BB /* PBXTargetDependency */, - AD20EA8B9BA8086ABE0C2B77F0744A1C /* PBXTargetDependency */, - 773CF09C9B8AE03CFF86AE91DF982D75 /* PBXTargetDependency */, - 72569F228EE7DABB46BF0E74BB336560 /* PBXTargetDependency */, - D020CD03DA37F367ECF38AC2E1317B1D /* PBXTargetDependency */, - BD50F92ECFB7D5C6A5BA88F206E64D9E /* PBXTargetDependency */, + 517BE3B76B14AE23BC3902B0E6166769 /* PBXTargetDependency */, + 6789084BF03E045878A894AA7532DAF1 /* PBXTargetDependency */, + 30B7AC432F4C0D771AEAD4CEC46FA703 /* PBXTargetDependency */, + 496AE184954DA28BABC5AD9DF903673B /* PBXTargetDependency */, + C8C7BB0AEB3CAA041DD98D38AB72D01D /* PBXTargetDependency */, + 62FC0E3E4CA36EB324797D5D6C5CA2D2 /* PBXTargetDependency */, ); name = "Pods-ApolloTests"; productName = "Pods-ApolloTests"; @@ -2645,12 +2659,12 @@ buildRules = ( ); dependencies = ( - ED0FB5940435B7123FE1122E1BAE5D69 /* PBXTargetDependency */, - 28B9A6675CF3F03959AF7FD4FCDB34F7 /* PBXTargetDependency */, - E5015CFBF1B281201D2B9325D7898132 /* PBXTargetDependency */, - AAAA0A9117AAAD234314AD50648ED854 /* PBXTargetDependency */, - D65E2A7ABA31BCBE3E10766161DFB00D /* PBXTargetDependency */, - 941A9544106F343587D94BBE93EC9259 /* PBXTargetDependency */, + D364CA3D2A03E2ACE1FE8C72B880E79A /* PBXTargetDependency */, + A8707A870E8239FCFE85F111E89F2027 /* PBXTargetDependency */, + 90DBED57669006F935514B22B2B49542 /* PBXTargetDependency */, + 5F55C3CC104777F007CB7B3CF4D275E2 /* PBXTargetDependency */, + 2078A03BF35EB0FF12AC46703BCDA986 /* PBXTargetDependency */, + 286844FE6002C1BE6B6AD4487DF62712 /* PBXTargetDependency */, ); name = "Pods-AWSAppSyncTestCommon"; productName = "Pods-AWSAppSyncTestCommon"; @@ -2669,10 +2683,10 @@ buildRules = ( ); dependencies = ( - E93FCF338FF0D7CDBED69DA011B2E8D1 /* PBXTargetDependency */, - 22AD67CE1ED4C4517828B3C18AAC5AED /* PBXTargetDependency */, - 73DCBDF6F1A687FB3F71197A93F0253C /* PBXTargetDependency */, - F6B1CACF55F8732D92214BC11F61F7CB /* PBXTargetDependency */, + 3F6D8371C9D2A3A92D42C71D5BDE55F0 /* PBXTargetDependency */, + 118D5284326529728AAA07D28C1664B3 /* PBXTargetDependency */, + 53C6B0D8704EA4648E6AF933651D4BDD /* PBXTargetDependency */, + A0A1DE9E31AEE571F5B9BE764069A3A1 /* PBXTargetDependency */, ); name = AWSMobileClient; productName = AWSMobileClient; @@ -2691,7 +2705,7 @@ buildRules = ( ); dependencies = ( - AFBE0390E326739D36124A33C74FA68E /* PBXTargetDependency */, + BB6DFA12758C3D2943916EA694AA48E1 /* PBXTargetDependency */, ); name = AWSAuthCore; productName = AWSAuthCore; @@ -2710,13 +2724,13 @@ buildRules = ( ); dependencies = ( - 7261D0B68B7EE3994BA119551C4860DE /* PBXTargetDependency */, - A219496464DF20AF3B34B55F98CC47E1 /* PBXTargetDependency */, - DA21C3DA4E1F04EF2BF1EF976CC2AAF2 /* PBXTargetDependency */, - AD4077854A29B8652C2EA63B64D886D1 /* PBXTargetDependency */, - 2569BC75253F0B1C2367CB66ACD5116C /* PBXTargetDependency */, - AA348DDD602EEC0ADC3DF6B15A2EEFC8 /* PBXTargetDependency */, - 82C5C46912854E5F91D9017C4CE456D3 /* PBXTargetDependency */, + 202A20181C6E57E42127B344EC0A2D3C /* PBXTargetDependency */, + 8B3D559F1DB1908DE8821F95DDC8D73D /* PBXTargetDependency */, + 13B3AC0CC90B5634FC21E7B1FF18B3EA /* PBXTargetDependency */, + B790AA0569C38E25B43912D66C3F3AA4 /* PBXTargetDependency */, + 3778E1D85D6BCBD0A68C8F1CDB5BF1A8 /* PBXTargetDependency */, + 726055D43F24D261E00B231CA2E48EF8 /* PBXTargetDependency */, + 8A125235ED117090E2A471CAE91EDC6A /* PBXTargetDependency */, ); name = "Pods-AWSAppSyncTestHostApp"; productName = "Pods-AWSAppSyncTestHostApp"; @@ -2735,12 +2749,12 @@ buildRules = ( ); dependencies = ( - C7C2540752508A00ED82D65011BD4010 /* PBXTargetDependency */, - 321AD07FCE46944D9D2D55D72CC53A48 /* PBXTargetDependency */, - 81262CB07474B4A96AF73F0C08DEE553 /* PBXTargetDependency */, - 081C96AE6CDF57DC48542BD29310158B /* PBXTargetDependency */, - 8ED5C82360701A34B8267886180E5F37 /* PBXTargetDependency */, - E18BD8ED0A82F49DB3353E9CCB6F12DD /* PBXTargetDependency */, + A0AE4FA78F2CD4A72A7406FBE6C0CC04 /* PBXTargetDependency */, + D9EA85A67B15EB7BF4139B1C2384BF08 /* PBXTargetDependency */, + 057E9B473A6035E2F5D43DCC42D8AD24 /* PBXTargetDependency */, + 3C5B5967BB4C7BF00DC2C5F42B342C12 /* PBXTargetDependency */, + 05FF0B40E9830D51ACE32500A80DFF57 /* PBXTargetDependency */, + 2CA7C27A131340EB38DD7823C617F4E5 /* PBXTargetDependency */, ); name = "Pods-AWSAppSync"; productName = "Pods-AWSAppSync"; @@ -2759,13 +2773,13 @@ buildRules = ( ); dependencies = ( - 97DE29306C90566E5C41CF52E6D727C7 /* PBXTargetDependency */, - D5E8B6AB699B2CD2D2859D696938EFE6 /* PBXTargetDependency */, - 4EC28C8399BD91AB27A7FC9A7094C271 /* PBXTargetDependency */, - 1D66040A5492312D0FE6CD5BE2B73CD8 /* PBXTargetDependency */, - A5972647384C6FE049F6388EA3405681 /* PBXTargetDependency */, - 47CBB0192CA9CB972150C83021CBE064 /* PBXTargetDependency */, - 9A45D6050858E9397A2FE5F18C81DDB3 /* PBXTargetDependency */, + 9EA038B160977D2A6A9047209327B77F /* PBXTargetDependency */, + 42941BA120FCFD770F2FE4AA7675731B /* PBXTargetDependency */, + AE6157F68642A0742F3C112C3159D921 /* PBXTargetDependency */, + 9B306333FB2ED03D92AE3B799DFACD01 /* PBXTargetDependency */, + B5D04C31987EB4C420605B054FE23B8E /* PBXTargetDependency */, + 60F23C121D3EE39C8447DC5C12CC74F0 /* PBXTargetDependency */, + B4313C08B508C76A1095A8AB37175288 /* PBXTargetDependency */, ); name = "Pods-AWSAppSyncUnitTests"; productName = "Pods-AWSAppSyncUnitTests"; @@ -2774,12 +2788,12 @@ }; 9B172FACE90046AA5E100E650B6109DD /* AWSCore */ = { isa = PBXNativeTarget; - buildConfigurationList = CCB2C26CBB903AB92505CB0BBBE8749B /* Build configuration list for PBXNativeTarget "AWSCore" */; + buildConfigurationList = 9D050B4D643EC369CBB9152C4745D52F /* Build configuration list for PBXNativeTarget "AWSCore" */; buildPhases = ( - 35D1A41B102BB0C3ED96EF6F68350EE8 /* Headers */, - BFE9B6131071B2C4CC049FAD29E62737 /* Sources */, - EE0FCF0EEBDE8B4697563B6F8CC9D5A1 /* Frameworks */, - 1DB5A10DC48756818DC4C45E64201DB4 /* Resources */, + 5C57DD62B1E865696B27DEB1B6C6EC1D /* Headers */, + 70C567A506E8B0E45018B562A68F67C9 /* Sources */, + 6D6D5C4A59375852FF2D6E00DDC7348D /* Frameworks */, + B711DC798A3025D872178005626E2A9B /* Resources */, ); buildRules = ( ); @@ -2792,12 +2806,12 @@ }; 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */ = { isa = PBXNativeTarget; - buildConfigurationList = 872ACBE5E4C6FCF60D89C8FB6CE99439 /* Build configuration list for PBXNativeTarget "Starscream" */; + buildConfigurationList = FBC91089194907B6999CBDEDC5FB5BC6 /* Build configuration list for PBXNativeTarget "Starscream" */; buildPhases = ( - 51B372E4CE03A63405A51ACA7204D755 /* Headers */, - D94C9E33F6B0A1B4C7662B2B8755801E /* Sources */, - BF33A85DB2E0B07B6A49FD5038D89658 /* Frameworks */, - 3225F13E1F2478ED85D5D1933EE9A1F7 /* Resources */, + F487AF85A18076C9B3E057385C8C3D33 /* Headers */, + 3EE245D632A36D950138738BF66F5518 /* Sources */, + 8E73938AD8FD3776CA0FFEFE2A543D1B /* Frameworks */, + 6AE9671DFF3DF6146AF3B6A1AE1A874A /* Resources */, ); buildRules = ( ); @@ -2810,12 +2824,12 @@ }; BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */ = { isa = PBXNativeTarget; - buildConfigurationList = 268F23A6C82EDABEFCF4073D9E1B70F8 /* Build configuration list for PBXNativeTarget "AWSCognitoIdentityProviderASF" */; + buildConfigurationList = 1A97FA9C86EC98DE4402F128720BD1A9 /* Build configuration list for PBXNativeTarget "AWSCognitoIdentityProviderASF" */; buildPhases = ( - 4CB4376DC5DFFCC04853F620F4566338 /* Headers */, - 37A50B501A56389037E22777F79869D3 /* Sources */, - 1F13D42ED5DAB580EC958827618FEECA /* Frameworks */, - 9E8AE7543C6C3AE7616E593CB7DA9159 /* Resources */, + 51F95B0111014E5F228CDC415041F7BC /* Headers */, + E628DF1F94123ECBEE40E964E11B319B /* Sources */, + 5A7D319A5F50A43F1D06BA0B5F0C3F00 /* Frameworks */, + E6B4452C44D6C56B064DED3DBF58F085 /* Resources */, ); buildRules = ( ); @@ -2838,13 +2852,13 @@ buildRules = ( ); dependencies = ( - 85FEAAE83FC228A6567C4FEA298DF909 /* PBXTargetDependency */, - CDB099091FD4936E44286C91A3855F6F /* PBXTargetDependency */, - 1D86CF699081E2FE01F02F0D520E1991 /* PBXTargetDependency */, - EB9EA6A354428B9A423AEE3F74530D60 /* PBXTargetDependency */, - 9133632161936DF94C5133473830F9E9 /* PBXTargetDependency */, - 7B1A1899D8BD3F064BE8203A36B51565 /* PBXTargetDependency */, - B08A2836E5E7506190E5F7E5CCE1AAB9 /* PBXTargetDependency */, + CD18C977CEEEA42B65A046D9D9AA74FA /* PBXTargetDependency */, + 56BCFECACF4441C87A229D32EB4077C8 /* PBXTargetDependency */, + 5690779C1947ECAC7B887A71115E7923 /* PBXTargetDependency */, + CC159FA6D15BB48A830A9A1C492708C1 /* PBXTargetDependency */, + F87E6E9BD622BF747CDF87BC672917FF /* PBXTargetDependency */, + 5DD86C455B947BC0FE1A5BA5581AC8B1 /* PBXTargetDependency */, + 22E8BB70D2BE1242F0C75F25DD3A0A64 /* PBXTargetDependency */, ); name = "Pods-AWSAppSyncIntegrationTests"; productName = "Pods-AWSAppSyncIntegrationTests"; @@ -2863,17 +2877,17 @@ buildRules = ( ); dependencies = ( - 887CAF387E8526FF24D4B9CAFC7F2DDB /* PBXTargetDependency */, - 92A083F7E973C879732303D15757B709 /* PBXTargetDependency */, - 21E4B16C21009BB48E1C14130EB07A33 /* PBXTargetDependency */, - E6A9F180C3EE5E52CEA6D99397A527B1 /* PBXTargetDependency */, - 31EB7AD56DD856B253337667F22CFA5E /* PBXTargetDependency */, - 1F74680BD685DA9F2C12DFD4E9AE9EAE /* PBXTargetDependency */, - D3E0FED7A0BF34A8B3E4C2F7E7955D86 /* PBXTargetDependency */, - D940CCAE24BA73F242385FF0D9CE7F90 /* PBXTargetDependency */, - 8341069A2B41B0438C9C86E27F01B110 /* PBXTargetDependency */, - D931C6D4FCE9CAE09F6CD22E5DFD3F21 /* PBXTargetDependency */, - 041418D392F8A108A6389FA5A6D06D73 /* PBXTargetDependency */, + 3EF82ACE15DF90F40EA421FC23DE75DA /* PBXTargetDependency */, + A220D53BA1AB420C4957F75A1C8FC07D /* PBXTargetDependency */, + FC8F5C4BE37B69F0AD9ECFE5552DB1A7 /* PBXTargetDependency */, + EE566658B9FCE59625FCC7259E90EDEF /* PBXTargetDependency */, + 3E9D2D5E04708B69AD3F2EB31EF5E7A3 /* PBXTargetDependency */, + 55D35E725F5F3D9E85E3D90B5BE2A4EA /* PBXTargetDependency */, + 811A7676D06AF50CCF27BEECD26733B3 /* PBXTargetDependency */, + 13ADE41DEB022EF7C99F70E70074B666 /* PBXTargetDependency */, + 24D5F0E2D3CE1A00F7E9A73627CB5F97 /* PBXTargetDependency */, + AFE8C302FFF9AFF6ACDCB2C44C2AB106 /* PBXTargetDependency */, + 1EE84AFBDD7F3A755EA82990CC217122 /* PBXTargetDependency */, ); name = "Pods-AWSAppSyncTestApp"; productName = "Pods-AWSAppSyncTestApp"; @@ -2886,8 +2900,8 @@ BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1100; + LastSwiftUpdateCheck = 1240; + LastUpgradeCheck = 1240; }; buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; @@ -2939,91 +2953,91 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 1DB5A10DC48756818DC4C45E64201DB4 /* Resources */ = { + 1EA4E360633A1D5CC11F6E9C4EEC2475 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 1EA4E360633A1D5CC11F6E9C4EEC2475 /* Resources */ = { + 21F681570550E8EA336A11A7FE8837ED /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 21F681570550E8EA336A11A7FE8837ED /* Resources */ = { + 437C6008F3714B5A8E869C50746FC132 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 3225F13E1F2478ED85D5D1933EE9A1F7 /* Resources */ = { + 6AE9671DFF3DF6146AF3B6A1AE1A874A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 437C6008F3714B5A8E869C50746FC132 /* Resources */ = { + 8D917757D2469888BF4AE043F4F926FA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 70EEA860483FD0E7350DE339DB210CA1 /* Resources */ = { + A30FF4DFB9B99CA1C23904E898F6C15B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8D917757D2469888BF4AE043F4F926FA /* Resources */ = { + AF8578AD9B6243A8BEDD7D8572923A4F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9E8AE7543C6C3AE7616E593CB7DA9159 /* Resources */ = { + B532863B7BA10CC0AB2EFB2C398E5E0D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A30FF4DFB9B99CA1C23904E898F6C15B /* Resources */ = { + B711DC798A3025D872178005626E2A9B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - AF8578AD9B6243A8BEDD7D8572923A4F /* Resources */ = { + C8A753EB6420BEB2709085A78CAC303A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - C8A753EB6420BEB2709085A78CAC303A /* Resources */ = { + CE8E63ED57FA72AC17E9B74C2832931E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - CE8E63ED57FA72AC17E9B74C2832931E /* Resources */ = { + E21565164204809551F4AEAB8854695A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E21565164204809551F4AEAB8854695A /* Resources */ = { + E6B4452C44D6C56B064DED3DBF58F085 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -3139,13 +3153,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 37A50B501A56389037E22777F79869D3 /* Sources */ = { + 3EE245D632A36D950138738BF66F5518 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7980DAE68C3FCC252954BC603AD71CEE /* AWSCognitoIdentityASF.m in Sources */, - 6DA311D12585C859B25209C0139E7C93 /* AWSCognitoIdentityProviderASF-dummy.m in Sources */, - E2BA43D53314CCE77F18E76091AE4660 /* AWSCognitoIdentityProviderASF.m in Sources */, + 5724BF4BFFDF0EE1B1BEF42E1AC9DD2F /* Compression.swift in Sources */, + 378CCBBAE72E7D04609B15F0E8FE45EE /* SSLClientCertificate.swift in Sources */, + 000A86E7139C7B8C39FD3B411BCEE73C /* SSLSecurity.swift in Sources */, + 36C2F7D5DE21FFD3E3C6A6AF09F469A4 /* Starscream-dummy.m in Sources */, + 0702FDCDB07296D1828145DA421701AF /* WebSocket.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3184,140 +3200,142 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9494AE32F0A4CD862B481AFB017154BA /* Sources */ = { + 70C567A506E8B0E45018B562A68F67C9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B7EF607DEB9402C6D1892A9671A2C0ED /* Pods-AWSAppSyncTestApp-dummy.m in Sources */, + 57241C832B3660392243A145CBA7D8E0 /* AWSBolts.m in Sources */, + 1AAF517FB3AF6D1CE89116748C65616D /* AWSCancellationToken.m in Sources */, + C89372BFBE89641142CFBCFB3951CA75 /* AWSCancellationTokenRegistration.m in Sources */, + BDA452B22FA5D285DD2F857365A72F9A /* AWSCancellationTokenSource.m in Sources */, + 0612B21BED99E46A6BE04960B4527944 /* AWSCategory.m in Sources */, + 15B65A83B52DE2CC69A16B8C4E1E4598 /* AWSClientContext.m in Sources */, + CF59506719CDEC5B60DDD8DF7AEEBACC /* AWSCognitoIdentity+Fabric.m in Sources */, + 398318B871EF68B951F455BBEF70E98B /* AWSCognitoIdentityModel.m in Sources */, + 363DCF776547D067850F5A2C9A922FEB /* AWSCognitoIdentityResources.m in Sources */, + 6C3C819DFF89C4243C9E28494DCC3327 /* AWSCognitoIdentityService.m in Sources */, + 3B03806243D1E4C8F18B96B3F6E9077F /* AWSCore-dummy.m in Sources */, + EA9097A5DFFC3B9718998DC944A4B178 /* AWSCredentialsProvider.m in Sources */, + 6CDF3D07F0E9E3680F7883D73DCC3723 /* AWSDDAbstractDatabaseLogger.m in Sources */, + 48CB30FD923A28B5783ADF82811AA404 /* AWSDDASLLogCapture.m in Sources */, + 0EB41CA6A3644DD637D7470C00FFCB37 /* AWSDDASLLogger.m in Sources */, + 9977AB8F21186EA993E2DCDFBE7C62B4 /* AWSDDContextFilterLogFormatter.m in Sources */, + 6181FBBAC1E996B568C863660EBD9C8A /* AWSDDDispatchQueueLogFormatter.m in Sources */, + 5F92E5E4C07EA652D08FFA680435C9BA /* AWSDDFileLogger.m in Sources */, + 0B15CF951A4E03B903675ACAD97B5152 /* AWSDDLog.m in Sources */, + 107B12771077931E6B90C27EA0FF14C6 /* AWSDDMultiFormatter.m in Sources */, + 4EB1EF5FE8ED456CE1D892E0FA890C0D /* AWSDDOSLogger.m in Sources */, + 1B4283B8AE37DF030ED9B05A96D7B2DA /* AWSDDTTYLogger.m in Sources */, + 2C8FB1F95B77099D2346315490A88103 /* AWSExecutor.m in Sources */, + 68671C8800CA6360FFB656712E2AB4FD /* AWSEXTRuntimeExtensions.m in Sources */, + CF295F9CC4EE598BE315A9F86D81BAF3 /* AWSEXTScope.m in Sources */, + 5431BB81184193C6BFDD6DF081AF7361 /* AWSFMDatabase.m in Sources */, + 2C285B78BB724F13FD0A1F6EC7C34783 /* AWSFMDatabaseAdditions.m in Sources */, + 0F530D521C5AEC42B729C1D9DFF55860 /* AWSFMDatabasePool.m in Sources */, + 2B993FE433FCA6FF13B007E7714841AA /* AWSFMDatabaseQueue.m in Sources */, + 2B09895226CD244052383D964E831D10 /* AWSFMDB+AWSHelpers.m in Sources */, + 11F823B9B237A217079D94A754C9ADA1 /* AWSFMResultSet.m in Sources */, + 48804C1C46E2DBC2BDA7EA8B0B372126 /* AWSGZIP.m in Sources */, + B2269575257EBABABAE2EDDE01405D0B /* AWSIdentityProvider.m in Sources */, + 3B056C7B25B0CF07805DE4F34311121C /* AWSInfo.m in Sources */, + A3F16EE5D770AC4520429816B4C66739 /* AWSKSReachability.m in Sources */, + 507AA9173E8085AA64AB996920D4A89D /* AWSLogging.m in Sources */, + 84281B53718858BB766E568A18B1C59E /* AWSModel.m in Sources */, + DCA27374EF1A51B0434BDF9301A580B7 /* AWSMTLJSONAdapter.m in Sources */, + AB900C03F56F7EAFC7B5F2FFA16F29C2 /* AWSMTLManagedObjectAdapter.m in Sources */, + 8D44605D248620C404738EBFA0684E0C /* AWSMTLModel+NSCoding.m in Sources */, + A46A79159F3F24E12882032DEA14065C /* AWSMTLModel.m in Sources */, + F3238F87945244A9B7D9BADFB6CF4750 /* AWSMTLReflection.m in Sources */, + 5E917261CAD630458C09B64B2A144E86 /* AWSMTLValueTransformer.m in Sources */, + 2B02023F22C36D56069A0F2C35B19595 /* AWSNetworking.m in Sources */, + 43428E1770DFCAB77A6F3CA97529B808 /* AWSNetworkingHelpers.m in Sources */, + D843B4806BDF42FC89ED524E5DAC9F88 /* AWSNSCodingUtilities.m in Sources */, + 6C7AAF039626ECBEF03445BEF20BB8C6 /* AWSSerialization.m in Sources */, + 700052CEF6215DC8A53656CDF6B1EE03 /* AWSService.m in Sources */, + EC5BC3095183E7E84403B052FA6E536C /* AWSSignature.m in Sources */, + 1DB9416F510ACFADA7722D9E38DEDFCE /* AWSSTSModel.m in Sources */, + 92CFB773F9A41A128B801C364B46D6AD /* AWSSTSResources.m in Sources */, + 9875D44BCAEBE40ABC4CB1DC96AB18C6 /* AWSSTSService.m in Sources */, + F2ED8B8E09B95911DE91A69A50998660 /* AWSSynchronizedMutableDictionary.m in Sources */, + 68D82AE4D72BBFE438C396335E038603 /* AWSTask.m in Sources */, + D8A1D599348F119FDEB34F84749D7B32 /* AWSTaskCompletionSource.m in Sources */, + C91BC3BA3A3399D0C653910356E63457 /* AWSTimestampSerialization.m in Sources */, + DFA9698B95E33347C312AE3C5C1C5BD7 /* AWSUICKeyChainStore.m in Sources */, + 1D1504264C9440DAC34E819BA188DD5C /* AWSURLRequestRetryHandler.m in Sources */, + 532E54DCBF8279FB273F329DB90FF46E /* AWSURLRequestSerialization.m in Sources */, + F7C691933186639A465828A47D55FF52 /* AWSURLResponseSerialization.m in Sources */, + 2377283F6F3AF89EC46BD778BD29471B /* AWSURLSessionManager.m in Sources */, + D215F9C9303EEAD4A8B3C487F81F1D3E /* AWSValidation.m in Sources */, + 9D8912A2DF0290DD19A674A49A4DAFEA /* AWSXMLDictionary.m in Sources */, + 4782C4E79143024D9812F9997DA233AD /* AWSXMLWriter.m in Sources */, + C952864D00385C136AE9D0808463C09C /* NSArray+AWSMTLManipulationAdditions.m in Sources */, + D945A475320801042FE6C2A751A7D6A6 /* NSDictionary+AWSMTLManipulationAdditions.m in Sources */, + 32B8F654964C09A85DFC89F8E577CF4E /* NSError+AWSMTLModelException.m in Sources */, + EEBC7DCE06A44A29656656EBB8FF26BD /* NSObject+AWSMTLComparisonAdditions.m in Sources */, + F7043A0CCAC11102A604D206498F54D6 /* NSValueTransformer+AWSMTLInversionAdditions.m in Sources */, + 7BDDAC4C78EA6EC790499DF90B2B52A2 /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9C9FF78F6878BCE13B73B6BB5DD0A609 /* Sources */ = { + 7B851987B57ECEC6CD10136B5804DC96 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - AC96F44279E61358242F26840D4853F0 /* Reachability.swift in Sources */, - E5F6ACACDF29D937A21E7DEC85A13E3E /* ReachabilitySwift-dummy.m in Sources */, + F4B033B7B31489BEA1C70204867D8E9C /* AWSS3-dummy.m in Sources */, + 117A2C0EA77A80E5BD7BEE64ED07B042 /* AWSS3Model.m in Sources */, + 0707419BDB535BB9A49CD7539CEBCD3B /* AWSS3PreSignedURL.m in Sources */, + 48A2A4330A300D9CDDEB35F37BAA7490 /* AWSS3RequestRetryHandler.m in Sources */, + A584191D1DE5F44E8B7C79E28E7F8814 /* AWSS3Resources.m in Sources */, + B077C76CD62BFB003B41D6A0E036DE96 /* AWSS3Serializer.m in Sources */, + 2CE8308652701DACF963C9E69C95F2B5 /* AWSS3Service.m in Sources */, + 6C5F9DAEBE14C5911CD2A857A219BFC5 /* AWSS3TransferUtility+EnumerateBlocks.m in Sources */, + 2294BA44C0033981B5A405085CF19140 /* AWSS3TransferUtility+HeaderHelper.m in Sources */, + 305DCC1BA6C0B9189B01618E663614EE /* AWSS3TransferUtility+Validation.m in Sources */, + 9A012E9B2D107F2941AE538DE5CB17C4 /* AWSS3TransferUtility.m in Sources */, + 42075D71F8CD9895F229D7F0A8DEC3B5 /* AWSS3TransferUtilityBlocks.m in Sources */, + B2F034442295511F86D3FDD1F1703631 /* AWSS3TransferUtilityDatabaseHelper.m in Sources */, + D872941BFF6565B8C8A8D2A713DD5F35 /* AWSS3TransferUtilityTasks.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9ED515DE122C941D445F9962895A76DA /* Sources */ = { + 9494AE32F0A4CD862B481AFB017154BA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 66D9156AD7838AEC5BF153C70EB4043D /* AWSS3-dummy.m in Sources */, - 4BB20C92F5663F8A8917546721AC8766 /* AWSS3Model.m in Sources */, - 218761C91FFAD361E8746496D184F1DD /* AWSS3PreSignedURL.m in Sources */, - 822510324FA16A9528B1F13636A4D975 /* AWSS3RequestRetryHandler.m in Sources */, - E4887DC9FBAB65C745061951B0FFC648 /* AWSS3Resources.m in Sources */, - 88E748C5B7A2F27E3BA931AB7D47BDB6 /* AWSS3Serializer.m in Sources */, - E5F36E9A5D6399C5DE02BFA10B48A1DD /* AWSS3Service.m in Sources */, - 92FF20B06A341880EBC292ED77381391 /* AWSS3TransferUtility+HeaderHelper.m in Sources */, - BEC16FE1C64E9AE449107C4DC9429B23 /* AWSS3TransferUtility+Validation.m in Sources */, - 9BD3062DCED806ABF2116A78C1A3D6E6 /* AWSS3TransferUtility.m in Sources */, - 6C4DFC3522CA175533E422B27C99183E /* AWSS3TransferUtilityDatabaseHelper.m in Sources */, - 3BD5D7FB4D55F3AFF72F3A3A07B9E063 /* AWSS3TransferUtilityTasks.m in Sources */, + B7EF607DEB9402C6D1892A9671A2C0ED /* Pods-AWSAppSyncTestApp-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A506217EB8A7D4A8DD5B7A777A23C0CA /* Sources */ = { + 9C9FF78F6878BCE13B73B6BB5DD0A609 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E61A0AE07EA6D60791B561DE425E28AB /* Pods-ApolloTests-dummy.m in Sources */, + AC96F44279E61358242F26840D4853F0 /* Reachability.swift in Sources */, + E5F6ACACDF29D937A21E7DEC85A13E3E /* ReachabilitySwift-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - B0B427AB7576FFC79D1348F61886F3B7 /* Sources */ = { + A506217EB8A7D4A8DD5B7A777A23C0CA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6F3321A7B4E03E92213D45E005542B72 /* Pods-AWSAppSyncIntegrationTests-dummy.m in Sources */, + E61A0AE07EA6D60791B561DE425E28AB /* Pods-ApolloTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA272CEA0FD92DD202F8A96C5D538F6D /* Sources */ = { + B0B427AB7576FFC79D1348F61886F3B7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C0E9B18348A3DB7B0BBE9ABA1FFE6865 /* Pods-AWSAppSyncTestHostApp-dummy.m in Sources */, + 6F3321A7B4E03E92213D45E005542B72 /* Pods-AWSAppSyncIntegrationTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BFE9B6131071B2C4CC049FAD29E62737 /* Sources */ = { + BA272CEA0FD92DD202F8A96C5D538F6D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1E010E9C01F50A33F8557749FA8C8B3F /* AWSBolts.m in Sources */, - 377C1D001F065165F51570118FFDD401 /* AWSCancellationToken.m in Sources */, - 30ADD15A31CFE209F6CCA731BDBF2725 /* AWSCancellationTokenRegistration.m in Sources */, - 9291179162B3E5168E0DF335F4C3B163 /* AWSCancellationTokenSource.m in Sources */, - AB042B24531A6BFCD000DC4517DA5474 /* AWSCategory.m in Sources */, - ADC598A39D79B311D3E0A307940164AA /* AWSClientContext.m in Sources */, - A6EE0D4F9A503846BF702349F55D74DC /* AWSCognitoIdentity+Fabric.m in Sources */, - 190C26927F8249E54AB730C314977E58 /* AWSCognitoIdentityModel.m in Sources */, - 2FB6DEABC3B2BE3B693ACA6043DDE20C /* AWSCognitoIdentityResources.m in Sources */, - FA9C7C0DB7B9EDA98E2495854F05ACF7 /* AWSCognitoIdentityService.m in Sources */, - 6C9D577C1E0BCA3CBB6093E830805033 /* AWSCore-dummy.m in Sources */, - 7D33A5E311026C8058916AD15B25408B /* AWSCredentialsProvider.m in Sources */, - CDA8C01C0D921D943B907B911B6AE060 /* AWSDDAbstractDatabaseLogger.m in Sources */, - B22A617C6BDAB28A89FBCCE0AA97091F /* AWSDDASLLogCapture.m in Sources */, - 8E123D2E43BBB5F0D9040097B02A1B9B /* AWSDDASLLogger.m in Sources */, - 30E016777ECC90CC5BF9E4D0C024D294 /* AWSDDContextFilterLogFormatter.m in Sources */, - 259465919A5E3109F5B7EDAFC8B6D360 /* AWSDDDispatchQueueLogFormatter.m in Sources */, - 1E6350CA7FF4A358C7A66BB2409AC823 /* AWSDDFileLogger.m in Sources */, - 2E7D877416882C36BFA433AA3472F8BB /* AWSDDLog.m in Sources */, - BDD0C5FFFA10EF36275EA94A8CAEE9C0 /* AWSDDMultiFormatter.m in Sources */, - E95E0792CE337B13B38091C7F23FC6F3 /* AWSDDOSLogger.m in Sources */, - 045E333D58C50496AA76683CC8E35AB8 /* AWSDDTTYLogger.m in Sources */, - 4EFDE49F532E435953A8049566A9FB46 /* AWSExecutor.m in Sources */, - 24072E8208B0FC45A63F8FEDC3771822 /* AWSEXTRuntimeExtensions.m in Sources */, - 056D4972137735B21B6F46023CAFC3E2 /* AWSEXTScope.m in Sources */, - 9CD078A8A9902F5F7B0537E5CADC96AC /* AWSFMDatabase.m in Sources */, - 482237152FFA75E2E1C2E7665DDC0F27 /* AWSFMDatabaseAdditions.m in Sources */, - 8575D12135A7FA398C47004EB7016150 /* AWSFMDatabasePool.m in Sources */, - 99DBF178720DEA2C971E97A3D5D4D801 /* AWSFMDatabaseQueue.m in Sources */, - 7DB7197C3CA96807E8DF855FE3646D01 /* AWSFMDB+AWSHelpers.m in Sources */, - 3B8E3E5BB699C4369BB6758A6D84EB42 /* AWSFMResultSet.m in Sources */, - 052D9AD73462A4F7F6AE8C5D4C1F88D6 /* AWSGZIP.m in Sources */, - 1D370EB01E01F509C3BC63A786DDB487 /* AWSIdentityProvider.m in Sources */, - 37860C979AE4D8380A58426B0FEDB773 /* AWSInfo.m in Sources */, - 36DA202A0A516ECF81028853DA2DCF81 /* AWSKSReachability.m in Sources */, - 98AD714DE67BFD453E742FAB050A534F /* AWSLogging.m in Sources */, - F1A17001E979095DA6E33B6C14929FED /* AWSModel.m in Sources */, - 3160E0A01EBC69007B446A4F2F34FB18 /* AWSMTLJSONAdapter.m in Sources */, - 5339DCE292C53509DAA55D84C524AE04 /* AWSMTLManagedObjectAdapter.m in Sources */, - 01F4855F541615727DD856E4BBA3F15A /* AWSMTLModel+NSCoding.m in Sources */, - 3A696361F68365DE5C94E04D889C36EF /* AWSMTLModel.m in Sources */, - E52F166F73883C28A635AC31FB77A943 /* AWSMTLReflection.m in Sources */, - 5310F1A14BF15A9F3C7AF71EB33D3FE2 /* AWSMTLValueTransformer.m in Sources */, - B58F5BE3F91D493CF3C963A3850B9FBD /* AWSNetworking.m in Sources */, - 3E80E929D4066C2421A2116AA426DC49 /* AWSNetworkingHelpers.m in Sources */, - D056FE1903DE9137C19B686FAA053FA9 /* AWSNSCodingUtilities.m in Sources */, - B47D3C868D4432C7D1BABCF0908069E8 /* AWSSerialization.m in Sources */, - 511C4390B66FB444ACABFBCD8B466E36 /* AWSService.m in Sources */, - DDE7649C510D69318B60A6E32531BF56 /* AWSSignature.m in Sources */, - 24A6BA7DBF1E13F67CB750AFEE55DF27 /* AWSSTSModel.m in Sources */, - C696C19076F5A09C5DE88F4ABD2C9EE8 /* AWSSTSResources.m in Sources */, - 721DE7B8966EFC5A3A86D6797833240B /* AWSSTSService.m in Sources */, - 38C6A98E4976C30C908FA1E05C98E60A /* AWSSynchronizedMutableDictionary.m in Sources */, - 2CC1889DAB53FFFD0091D542DACBBCCE /* AWSTask.m in Sources */, - 19639FD109F4943A8F277F28F62F1404 /* AWSTaskCompletionSource.m in Sources */, - AB6319319E7ABB80D078DCF6526A2E89 /* AWSTimestampSerialization.m in Sources */, - 762981BC369249A464166103F169910B /* AWSUICKeyChainStore.m in Sources */, - F8D542AD68B72CCFFC13788244972366 /* AWSURLRequestRetryHandler.m in Sources */, - 5D829AEDBE0732945E1ED06A42487316 /* AWSURLRequestSerialization.m in Sources */, - 52F45CF30746C692D23AF9FB6431C3A1 /* AWSURLResponseSerialization.m in Sources */, - CB0D6716841765D711E4FB6EDEDAC71A /* AWSURLSessionManager.m in Sources */, - F440E52763828039E814D076C83DDA99 /* AWSValidation.m in Sources */, - 6C8B85CBEC17B5BB84AE063AFFF5FEF2 /* AWSXMLDictionary.m in Sources */, - 2A5471A4E8E7274D40B711269D49DDA0 /* AWSXMLWriter.m in Sources */, - ACDD44CC7931F54A7C6123C535CB34B7 /* NSArray+AWSMTLManipulationAdditions.m in Sources */, - 539B1CE4A984C8B56FBFF3EBE6FE248D /* NSDictionary+AWSMTLManipulationAdditions.m in Sources */, - ECE8DF477E2BCDC7D1D8BC399F3E80F0 /* NSError+AWSMTLModelException.m in Sources */, - 22F4B39758CF08041402787ACA489CFC /* NSObject+AWSMTLComparisonAdditions.m in Sources */, - CCD0B9179DF16FD1FFD0A2E5C3FB4879 /* NSValueTransformer+AWSMTLInversionAdditions.m in Sources */, - 1F16F91003126094C661C33E09E38C65 /* NSValueTransformer+AWSMTLPredefinedTransformerAdditions.m in Sources */, + C0E9B18348A3DB7B0BBE9ABA1FFE6865 /* Pods-AWSAppSyncTestHostApp-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3342,383 +3360,380 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D94C9E33F6B0A1B4C7662B2B8755801E /* Sources */ = { + E628DF1F94123ECBEE40E964E11B319B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 77FD7DCACFFD32BC10285443BBCC7697 /* Compression.swift in Sources */, - 0AA1A874D91FD154A5D3453900B122EA /* SSLClientCertificate.swift in Sources */, - 57C6BB4EC5E752A42B9203BF81412C19 /* SSLSecurity.swift in Sources */, - 48F53717F02C74359D1FADAB340C7E8C /* Starscream-dummy.m in Sources */, - 2E86CCC071C1AD35C3400219E4110802 /* WebSocket.swift in Sources */, + 39935546BCB6FC9FAC445AB8445004CC /* AWSCognitoIdentityASF.m in Sources */, + BA21E9F9DA8F7724F07BD00640AF7356 /* AWSCognitoIdentityProviderASF-dummy.m in Sources */, + 8C084D691691393F12872FC495223ADC /* AWSCognitoIdentityProviderASF.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 00A1E25FBD1DCFCB6F2AAFD316D19E78 /* PBXTargetDependency */ = { + 057E9B473A6035E2F5D43DCC42D8AD24 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = B022CBF8FA88CCEC9627208332822F07 /* PBXContainerItemProxy */; + name = ReachabilitySwift; + target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; + targetProxy = 7FAA31B875291034B71092E9CE3F86AB /* PBXContainerItemProxy */; }; - 041418D392F8A108A6389FA5A6D06D73 /* PBXTargetDependency */ = { + 05FF0B40E9830D51ACE32500A80DFF57 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = 0B280E6598FEEC183D325A77431753C6 /* PBXContainerItemProxy */; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 30F3C1ED3802C62AFBC29600C9E13150 /* PBXContainerItemProxy */; }; - 081C96AE6CDF57DC48542BD29310158B /* PBXTargetDependency */ = { + 118D5284326529728AAA07D28C1664B3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLite.swift; - target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = 9EBD8EBCAA5F32C74B5531EF2DC45049 /* PBXContainerItemProxy */; + name = AWSCognitoIdentityProvider; + target = 29212B2F049288E035AB98405A23E41E /* AWSCognitoIdentityProvider */; + targetProxy = 4E5F58DF6ECFFFFAD743F561FFA24600 /* PBXContainerItemProxy */; }; - 1D66040A5492312D0FE6CD5BE2B73CD8 /* PBXTargetDependency */ = { + 13ADE41DEB022EF7C99F70E70074B666 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ReachabilitySwift; target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 4ACEBDAC631EF2049EF6D7B87A476D4B /* PBXContainerItemProxy */; + targetProxy = 8E81087A8D561B92C19D97A9AA7231E4 /* PBXContainerItemProxy */; }; - 1D86CF699081E2FE01F02F0D520E1991 /* PBXTargetDependency */ = { + 13B3AC0CC90B5634FC21E7B1FF18B3EA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AppSyncRealTimeClient; target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = 24D3EE8A17EAF37BE66CB446AE5EE7EF /* PBXContainerItemProxy */; + targetProxy = DFA19EA6BC4230D06DC5F38F5854C913 /* PBXContainerItemProxy */; }; - 1F6490C495D9D4D05BF222451008F659 /* PBXTargetDependency */ = { + 1EE84AFBDD7F3A755EA82990CC217122 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCore; - target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = 77765EEF5260D0662843C351E4F9300D /* PBXContainerItemProxy */; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = 5241423A662514342D8F6478EE4997E2 /* PBXContainerItemProxy */; }; - 1F74680BD685DA9F2C12DFD4E9AE9EAE /* PBXTargetDependency */ = { + 202A20181C6E57E42127B344EC0A2D3C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSS3; - target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; - targetProxy = 502C987CE1F7B83387BE9467D6729CB3 /* PBXContainerItemProxy */; + name = AWSCore; + target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; + targetProxy = 28207F19EFD05573CB09A7490ACB5F28 /* PBXContainerItemProxy */; }; - 21E4B16C21009BB48E1C14130EB07A33 /* PBXTargetDependency */ = { + 2078A03BF35EB0FF12AC46703BCDA986 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCognitoIdentityProviderASF; - target = BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */; - targetProxy = 8DB42F29BF7C3CFC7178780137F08E95 /* PBXContainerItemProxy */; + name = SQLite.swift; + target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; + targetProxy = 50D27FE63D192047AFAD4054A631EA96 /* PBXContainerItemProxy */; }; - 22AD67CE1ED4C4517828B3C18AAC5AED /* PBXTargetDependency */ = { + 22E8BB70D2BE1242F0C75F25DD3A0A64 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCognitoIdentityProvider; - target = 29212B2F049288E035AB98405A23E41E /* AWSCognitoIdentityProvider */; - targetProxy = 356C875C72851B141614F47754352940 /* PBXContainerItemProxy */; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = ABF5BC729A0521147AB4639671239908 /* PBXContainerItemProxy */; }; - 2569BC75253F0B1C2367CB66ACD5116C /* PBXTargetDependency */ = { + 24D5F0E2D3CE1A00F7E9A73627CB5F97 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SQLite.swift; target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = 73AF28D3554DB3385696CFC5F3EF15FF /* PBXContainerItemProxy */; + targetProxy = 7D0507903E796C1AA29DC382B2010EE2 /* PBXContainerItemProxy */; }; - 28B9A6675CF3F03959AF7FD4FCDB34F7 /* PBXTargetDependency */ = { + 286844FE6002C1BE6B6AD4487DF62712 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSS3; - target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; - targetProxy = A29CE48A8E562B4E019665D906D11B40 /* PBXContainerItemProxy */; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 23077C140CC53FE47ED1EB08E334462B /* PBXContainerItemProxy */; }; - 2C77872674339BAB838322740D8D73BB /* PBXTargetDependency */ = { + 2CA7C27A131340EB38DD7823C617F4E5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCore; - target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = DAE27E49B9C66628C0791841A1C04163 /* PBXContainerItemProxy */; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = 850692091BB5B8E1AAEAA860DC04BAB8 /* PBXContainerItemProxy */; }; - 31EB7AD56DD856B253337667F22CFA5E /* PBXTargetDependency */ = { + 30B7AC432F4C0D771AEAD4CEC46FA703 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSMobileClient; - target = 6428ED7DAC8003D918A4F549769F079D /* AWSMobileClient */; - targetProxy = C17BCAC00BB7C62336D91BA088D6571B /* PBXContainerItemProxy */; + name = ReachabilitySwift; + target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; + targetProxy = E55ACFA2C5D9930AF593D130F5F413CE /* PBXContainerItemProxy */; }; - 321AD07FCE46944D9D2D55D72CC53A48 /* PBXTargetDependency */ = { + 3778E1D85D6BCBD0A68C8F1CDB5BF1A8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AppSyncRealTimeClient; - target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = DB2402150620BE94AD5B50949B9DB091 /* PBXContainerItemProxy */; + name = SQLite.swift; + target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; + targetProxy = DF67B5C479B0CEBCAB1D11725A2AD675 /* PBXContainerItemProxy */; }; - 47CBB0192CA9CB972150C83021CBE064 /* PBXTargetDependency */ = { + 3C5B5967BB4C7BF00DC2C5F42B342C12 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 043590348F6406E7F8E8C6D2479BE13D /* PBXContainerItemProxy */; + name = SQLite.swift; + target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; + targetProxy = 9EFA3D1A757E33CC8C13E832BDED58D3 /* PBXContainerItemProxy */; }; - 4EC28C8399BD91AB27A7FC9A7094C271 /* PBXTargetDependency */ = { + 3E9D2D5E04708B69AD3F2EB31EF5E7A3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AppSyncRealTimeClient; - target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = 22F08D4BBAA8DCD40F02A0F8670D4093 /* PBXContainerItemProxy */; + name = AWSMobileClient; + target = 6428ED7DAC8003D918A4F549769F079D /* AWSMobileClient */; + targetProxy = 1F29C678844CB61095C6162B08AAAFF3 /* PBXContainerItemProxy */; }; - 644B1F8159111C484A8E8A7B3C3C8AA5 /* PBXTargetDependency */ = { + 3EF82ACE15DF90F40EA421FC23DE75DA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCore; - target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = CFBFD3D2CF9A6A1B9E54EC7DC1D51F72 /* PBXContainerItemProxy */; + name = AWSAuthCore; + target = 8042F2B0721B13AEDEB81F058C2B2125 /* AWSAuthCore */; + targetProxy = 199AE29523C4E0DB780F3AB316E47AFF /* PBXContainerItemProxy */; + }; + 3F6D8371C9D2A3A92D42C71D5BDE55F0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AWSAuthCore; + target = 8042F2B0721B13AEDEB81F058C2B2125 /* AWSAuthCore */; + targetProxy = 4FCB909C85BAFB8B89DBD66E56E61DAA /* PBXContainerItemProxy */; + }; + 42941BA120FCFD770F2FE4AA7675731B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AWSS3; + target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; + targetProxy = 954E2522ED03F856563DD7515F3FD1D5 /* PBXContainerItemProxy */; }; - 72569F228EE7DABB46BF0E74BB336560 /* PBXTargetDependency */ = { + 496AE184954DA28BABC5AD9DF903673B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SQLite.swift; target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = 109E35FD2442A9775DEC4F6CC702A4AE /* PBXContainerItemProxy */; + targetProxy = 12335894480DB751D4215226522FCCE9 /* PBXContainerItemProxy */; }; - 7261D0B68B7EE3994BA119551C4860DE /* PBXTargetDependency */ = { + 517BE3B76B14AE23BC3902B0E6166769 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = E77CCB26EDDB410566A8DDD97063876B /* PBXContainerItemProxy */; + targetProxy = E180CF1F3EF758324C56590150B5CFFA /* PBXContainerItemProxy */; }; - 73DCBDF6F1A687FB3F71197A93F0253C /* PBXTargetDependency */ = { + 53C6B0D8704EA4648E6AF933651D4BDD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCognitoIdentityProviderASF; target = BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */; - targetProxy = F4579AD14A573DD8985348884343694A /* PBXContainerItemProxy */; - }; - 773CF09C9B8AE03CFF86AE91DF982D75 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = ReachabilitySwift; - target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 3D9FB729371CD7514C35E7F2F9085A5A /* PBXContainerItemProxy */; - }; - 7B1A1899D8BD3F064BE8203A36B51565 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = D0B98E054FAAD34E30B2FF31ECB6F317 /* PBXContainerItemProxy */; + targetProxy = F67064248EEA4164E6BBABC8B5D7C1F3 /* PBXContainerItemProxy */; }; - 81262CB07474B4A96AF73F0C08DEE553 /* PBXTargetDependency */ = { + 55D35E725F5F3D9E85E3D90B5BE2A4EA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ReachabilitySwift; - target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = A1FF5F8B699E3C127338C3066F0D4116 /* PBXContainerItemProxy */; + name = AWSS3; + target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; + targetProxy = 0DFF3FD1ED9F71A113BC226205D0B385 /* PBXContainerItemProxy */; }; - 82C5C46912854E5F91D9017C4CE456D3 /* PBXTargetDependency */ = { + 5690779C1947ECAC7B887A71115E7923 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = CF1CD9F16AC034A3DF2D76313E33A24E /* PBXContainerItemProxy */; + name = AppSyncRealTimeClient; + target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; + targetProxy = EE7DB7DEF5E771669F493E7F5A552059 /* PBXContainerItemProxy */; }; - 8341069A2B41B0438C9C86E27F01B110 /* PBXTargetDependency */ = { + 56BCFECACF4441C87A229D32EB4077C8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLite.swift; - target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = A77E2B57564152EFCFBA4FAFB909E275 /* PBXContainerItemProxy */; + name = AWSS3; + target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; + targetProxy = 19719C19E06072B29DE3A07DCAB40C48 /* PBXContainerItemProxy */; }; - 85FEAAE83FC228A6567C4FEA298DF909 /* PBXTargetDependency */ = { + 5BFAAE0ED792BCEF0B6E7CA8216DD235 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = 69EE7183848531C856A1F5E8F0100D99 /* PBXContainerItemProxy */; + targetProxy = F06BB1FBB4B9B850D1AE86D37D10CF4E /* PBXContainerItemProxy */; }; - 887CAF387E8526FF24D4B9CAFC7F2DDB /* PBXTargetDependency */ = { + 5DD86C455B947BC0FE1A5BA5581AC8B1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSAuthCore; - target = 8042F2B0721B13AEDEB81F058C2B2125 /* AWSAuthCore */; - targetProxy = BB6E9ED3C446E79D4619A90183337727 /* PBXContainerItemProxy */; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 0C2D9BE30ABA41B0E87AF35FC7567F80 /* PBXContainerItemProxy */; }; - 8ED5C82360701A34B8267886180E5F37 /* PBXTargetDependency */ = { + 5F55C3CC104777F007CB7B3CF4D275E2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ReachabilitySwift; + target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; + targetProxy = 0E937000850943E15AEDA9F4C8F051F2 /* PBXContainerItemProxy */; + }; + 60F23C121D3EE39C8447DC5C12CC74F0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 6654FD7816D350C93A0D967F18235BDC /* PBXContainerItemProxy */; + targetProxy = 785010B7745575BD7D3A058A5E8E7AD4 /* PBXContainerItemProxy */; }; - 9133632161936DF94C5133473830F9E9 /* PBXTargetDependency */ = { + 62FC0E3E4CA36EB324797D5D6C5CA2D2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLite.swift; - target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = DBCF05B4BE748D9770DCD0090AB2153B /* PBXContainerItemProxy */; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = D4C5AD179235FA45F3CFA7315D9C7145 /* PBXContainerItemProxy */; }; - 92A083F7E973C879732303D15757B709 /* PBXTargetDependency */ = { + 6789084BF03E045878A894AA7532DAF1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCognitoIdentityProvider; - target = 29212B2F049288E035AB98405A23E41E /* AWSCognitoIdentityProvider */; - targetProxy = 9A540EB1EC8B259567ADF8ECC9DF8F10 /* PBXContainerItemProxy */; + name = AppSyncRealTimeClient; + target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; + targetProxy = 8DB2FAE543EC85276277800185C925E2 /* PBXContainerItemProxy */; }; - 941A9544106F343587D94BBE93EC9259 /* PBXTargetDependency */ = { + 726055D43F24D261E00B231CA2E48EF8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 56DF4DFF9C3CBA8DC5D64E134E49858D /* PBXContainerItemProxy */; + targetProxy = BE16BB71A31168E79B1C02B6AFD29164 /* PBXContainerItemProxy */; }; - 97DE29306C90566E5C41CF52E6D727C7 /* PBXTargetDependency */ = { + 811A7676D06AF50CCF27BEECD26733B3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCore; - target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = FD3F2917EECAB2D9C607AEEF3602A5A2 /* PBXContainerItemProxy */; + name = AppSyncRealTimeClient; + target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; + targetProxy = 44468060CF8B57FF5AC37EB33A2EA346 /* PBXContainerItemProxy */; }; - 9A45D6050858E9397A2FE5F18C81DDB3 /* PBXTargetDependency */ = { + 8A125235ED117090E2A471CAE91EDC6A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftLint; target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = 1A9277A6C9C5A3F13DBE9FB2C160BD90 /* PBXContainerItemProxy */; + targetProxy = A4FBE8A24E3EF31E58B9473D9465CC58 /* PBXContainerItemProxy */; }; - A219496464DF20AF3B34B55F98CC47E1 /* PBXTargetDependency */ = { + 8B3D559F1DB1908DE8821F95DDC8D73D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSS3; target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; - targetProxy = 5349292F851FA6516A7E44829721FA07 /* PBXContainerItemProxy */; - }; - A5972647384C6FE049F6388EA3405681 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SQLite.swift; - target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = 7069963BC869E38A459415AAE81C4DA4 /* PBXContainerItemProxy */; - }; - AA348DDD602EEC0ADC3DF6B15A2EEFC8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 9B0985AE83BAA2066CDBACC455D932B5 /* PBXContainerItemProxy */; + targetProxy = 2FE55014C91B93C3526B67A2570230F5 /* PBXContainerItemProxy */; }; - AAAA0A9117AAAD234314AD50648ED854 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = ReachabilitySwift; - target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 0DA77FDF6D70024D35BFB64F9D3E37D4 /* PBXContainerItemProxy */; - }; - AD20EA8B9BA8086ABE0C2B77F0744A1C /* PBXTargetDependency */ = { + 90DBED57669006F935514B22B2B49542 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AppSyncRealTimeClient; target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = FE8205AC4A0E13EEED15D44700C17A71 /* PBXContainerItemProxy */; + targetProxy = 547A43A9E97990989690183E28BD159E /* PBXContainerItemProxy */; }; - AD4077854A29B8652C2EA63B64D886D1 /* PBXTargetDependency */ = { + 9B306333FB2ED03D92AE3B799DFACD01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ReachabilitySwift; target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 3ECCDC57B4F0C3CD44689DC111740630 /* PBXContainerItemProxy */; + targetProxy = F53C3D2B67E90A316D93A07BA55B1FED /* PBXContainerItemProxy */; }; - AFBE0390E326739D36124A33C74FA68E /* PBXTargetDependency */ = { + 9D2DD8284DE49518BB70E54D9F37EDEB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSCore; - target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = 0898A45626059FF23EDE7092F505E6B7 /* PBXContainerItemProxy */; + name = AWSCognitoIdentityProviderASF; + target = BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */; + targetProxy = 9E565B6C0B7F21E15DA7288F4DECD968 /* PBXContainerItemProxy */; }; - B08A2836E5E7506190E5F7E5CCE1AAB9 /* PBXTargetDependency */ = { + 9EA038B160977D2A6A9047209327B77F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = C3B69C63A5E0A71EA0E35DFABE00881B /* PBXContainerItemProxy */; + name = AWSCore; + target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; + targetProxy = C3BA438E784D3FBCD0B78FE51CA40E42 /* PBXContainerItemProxy */; }; - BD50F92ECFB7D5C6A5BA88F206E64D9E /* PBXTargetDependency */ = { + A0A1DE9E31AEE571F5B9BE764069A3A1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = E8EA70594B1F480DA1A20C88C93BD5E2 /* PBXContainerItemProxy */; + name = AWSCore; + target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; + targetProxy = 717B90338D933F6E54991A46969F32E9 /* PBXContainerItemProxy */; }; - C7C2540752508A00ED82D65011BD4010 /* PBXTargetDependency */ = { + A0AE4FA78F2CD4A72A7406FBE6C0CC04 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = C40292D7F3C3FC22DB7DE616B2A69E3C /* PBXContainerItemProxy */; + targetProxy = 653ACF5CF0C6EC910559B667BD33D6FC /* PBXContainerItemProxy */; }; - CDB099091FD4936E44286C91A3855F6F /* PBXTargetDependency */ = { + A220D53BA1AB420C4957F75A1C8FC07D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AWSCognitoIdentityProvider; + target = 29212B2F049288E035AB98405A23E41E /* AWSCognitoIdentityProvider */; + targetProxy = 6397DC8BD040711143C26668CC38F819 /* PBXContainerItemProxy */; + }; + A8707A870E8239FCFE85F111E89F2027 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSS3; target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; - targetProxy = 64D4086BFCED5294EC02B2A12DD3B7BF /* PBXContainerItemProxy */; + targetProxy = 974BDFE6606A59C7ECD2131898BB7294 /* PBXContainerItemProxy */; }; - D020CD03DA37F367ECF38AC2E1317B1D /* PBXTargetDependency */ = { + AB868EA0CFFB682E5879459A675C8803 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 7CA2ECEEE314AE9E23CFE862CC8DDE55 /* PBXContainerItemProxy */; + targetProxy = C7F5564DB15DA7938696707B3C202A67 /* PBXContainerItemProxy */; }; - D3E0FED7A0BF34A8B3E4C2F7E7955D86 /* PBXTargetDependency */ = { + AE6157F68642A0742F3C112C3159D921 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AppSyncRealTimeClient; target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = 9CD2E6CAD385FE82E1EC213A91E2E63F /* PBXContainerItemProxy */; + targetProxy = 557007A2597606098BFBA7E4D3C5420A /* PBXContainerItemProxy */; }; - D5E8B6AB699B2CD2D2859D696938EFE6 /* PBXTargetDependency */ = { + AFE8C302FFF9AFF6ACDCB2C44C2AB106 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSS3; - target = 31F0084E2E60CA68AAF7E3224C77C86E /* AWSS3 */; - targetProxy = EC035BB9CC817F66022D6A856F3F1A5D /* PBXContainerItemProxy */; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 3173D9FCBDC08A04BFA0695329E78F1B /* PBXContainerItemProxy */; }; - D65E2A7ABA31BCBE3E10766161DFB00D /* PBXTargetDependency */ = { + B4313C08B508C76A1095A8AB37175288 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SQLite.swift; - target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; - targetProxy = DF850E4E731B0B4BC44956FC2E4A395F /* PBXContainerItemProxy */; + name = SwiftLint; + target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; + targetProxy = DFAF98DD9C3410C9DE84653057DC54AE /* PBXContainerItemProxy */; }; - D931C6D4FCE9CAE09F6CD22E5DFD3F21 /* PBXTargetDependency */ = { + B5D04C31987EB4C420605B054FE23B8E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = E00E5D6AB9F2ED1EF0BF749EAE94A5EF /* PBXContainerItemProxy */; + name = SQLite.swift; + target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; + targetProxy = BD5BC26648C8B5E39D4C7D8EFA63FDD8 /* PBXContainerItemProxy */; }; - D940CCAE24BA73F242385FF0D9CE7F90 /* PBXTargetDependency */ = { + B790AA0569C38E25B43912D66C3F3AA4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ReachabilitySwift; target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = A4BE76B241A4742475FC691C0C806E37 /* PBXContainerItemProxy */; + targetProxy = B732655BFA79B5123F1D54A3A5932F6D /* PBXContainerItemProxy */; }; - DA21C3DA4E1F04EF2BF1EF976CC2AAF2 /* PBXTargetDependency */ = { + BB6DFA12758C3D2943916EA694AA48E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AppSyncRealTimeClient; - target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = 38A251AA1155C4E2654838DE4D47E7FC /* PBXContainerItemProxy */; + name = AWSCore; + target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; + targetProxy = 48830789A9E609D23FC2D5C221C6B725 /* PBXContainerItemProxy */; }; - E18BD8ED0A82F49DB3353E9CCB6F12DD /* PBXTargetDependency */ = { + C8C7BB0AEB3CAA041DD98D38AB72D01D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftLint; - target = 52B60EC2A583F24ACBB69C113F5488B9 /* SwiftLint */; - targetProxy = 2D9C7A51EA43DEB57EA2715259391F85 /* PBXContainerItemProxy */; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 07B9A3C005DA809804B226C28A327A83 /* PBXContainerItemProxy */; }; - E5015CFBF1B281201D2B9325D7898132 /* PBXTargetDependency */ = { + CC159FA6D15BB48A830A9A1C492708C1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AppSyncRealTimeClient; - target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; - targetProxy = D3834D2845F3AB06C8A4B17D8BE8BD58 /* PBXContainerItemProxy */; + name = ReachabilitySwift; + target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; + targetProxy = 6CAE0C6610AEB42D8E8BA7F39ED5C0F9 /* PBXContainerItemProxy */; }; - E6A9F180C3EE5E52CEA6D99397A527B1 /* PBXTargetDependency */ = { + CD18C977CEEEA42B65A046D9D9AA74FA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = DEBC35E6F95EA97AFBB2F4AA28E16B78 /* PBXContainerItemProxy */; - }; - E73CFBFFE13D6EB0741B86C817B86F06 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = AWSCognitoIdentityProviderASF; - target = BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */; - targetProxy = B8EDFFBE47BD57A9662A01BC4A756D81 /* PBXContainerItemProxy */; + targetProxy = C2A3302FD3EE97AEEBEDE21D33CE49C8 /* PBXContainerItemProxy */; }; - E93FCF338FF0D7CDBED69DA011B2E8D1 /* PBXTargetDependency */ = { + D364CA3D2A03E2ACE1FE8C72B880E79A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AWSAuthCore; - target = 8042F2B0721B13AEDEB81F058C2B2125 /* AWSAuthCore */; - targetProxy = 31A764E62FA366AD97FEB62AA1CB38F1 /* PBXContainerItemProxy */; + name = AWSCore; + target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; + targetProxy = 1D00780A8916F4E3FD0E15E15C6A83A4 /* PBXContainerItemProxy */; }; - EB9EA6A354428B9A423AEE3F74530D60 /* PBXTargetDependency */ = { + D9EA85A67B15EB7BF4139B1C2384BF08 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ReachabilitySwift; - target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 695234287A314020D1C0961B4175CAF4 /* PBXContainerItemProxy */; + name = AppSyncRealTimeClient; + target = 1CBAA1BF721D47841624A5647B1A36B3 /* AppSyncRealTimeClient */; + targetProxy = 47B14CED075D3A0C21F14F5CC5737A19 /* PBXContainerItemProxy */; }; - ED0FB5940435B7123FE1122E1BAE5D69 /* PBXTargetDependency */ = { + E9CD90957994A947A8110E32EFEEF4A8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = F93DDD0556DF66B47BEBA8309D675AF8 /* PBXContainerItemProxy */; + targetProxy = FA64B0BED5E605F0CAE33267F80C6CFB /* PBXContainerItemProxy */; }; - F6B1CACF55F8732D92214BC11F61F7CB /* PBXTargetDependency */ = { + EE566658B9FCE59625FCC7259E90EDEF /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AWSCore; target = 9B172FACE90046AA5E100E650B6109DD /* AWSCore */; - targetProxy = 4427C0468FCCF3270E4188EFBCE19A87 /* PBXContainerItemProxy */; + targetProxy = 34C3D77B1B5379202ECE006D20F990C3 /* PBXContainerItemProxy */; + }; + F87E6E9BD622BF747CDF87BC672917FF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SQLite.swift; + target = 3F2C1776D90B62B156DB52C41A5C419C /* SQLite.swift */; + targetProxy = 3838879A08C0BEC0D373C1C80F928A5D /* PBXContainerItemProxy */; + }; + FC8F5C4BE37B69F0AD9ECFE5552DB1A7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AWSCognitoIdentityProviderASF; + target = BBF90BA4F6EC5653945C7B0FFD9128D2 /* AWSCognitoIdentityProviderASF */; + targetProxy = BCE05CAD12A2246A37041ACB5FBF5E96 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 03ED92CA92AD09E92D05BDBBBC7B192D /* Debug */ = { + 01148F6470FC097008C285738578213C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3223D523FFC3DE4D13BA82B3F274E015 /* Pods-AWSAppSyncUnitTests.debug.xcconfig */; + baseConfigurationReference = B2D6C62245BEE3DF4173C16416C65C1F /* AWSCognitoIdentityProviderASF.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3727,28 +3742,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncUnitTests/Pods-AWSAppSyncUnitTests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncUnitTests/Pods-AWSAppSyncUnitTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.modulemap"; + PRODUCT_MODULE_NAME = AWSCognitoIdentityProviderASF; + PRODUCT_NAME = AWSCognitoIdentityProviderASF; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 0B836E8216C948AA7FD6ADE73D5CFCF5 /* Release */ = { + 02327AF5CE940746904B08A81C1DB0D4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 18F15600207EF4F9E88CD1FB3B77197C /* AWSS3.release.xcconfig */; + baseConfigurationReference = 1D211FB291FD2F783C12CF6181A4D097 /* AWSS3.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3771,15 +3785,46 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; + }; + 03ED92CA92AD09E92D05BDBBBC7B192D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3223D523FFC3DE4D13BA82B3F274E015 /* Pods-AWSAppSyncUnitTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncUnitTests/Pods-AWSAppSyncUnitTests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncUnitTests/Pods-AWSAppSyncUnitTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; }; 0CB6FB29358F02D6A36A6F9A77869E4A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAFDA13C3F4795107FF469A2FDF138E6 /* AWSCognitoIdentityProvider.release.xcconfig */; + baseConfigurationReference = D5FAE6C59DA4FA1DC9AF0D5FEA4CE795 /* AWSCognitoIdentityProvider.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3810,7 +3855,7 @@ }; 15418D497C951AE519FE18044E619CC7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C66677E9B66D2C91EEED91208BAF5196 /* SQLite.swift.release.xcconfig */; + baseConfigurationReference = 8B8132CCE298BEF02C635FE354EBAA84 /* SQLite.swift.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3907,7 +3952,7 @@ }; 276B2E192E417DF8DE1EF462EAF4CE1C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA39C3337A06D8825FBAF3C6240788E3 /* AWSMobileClient.debug.xcconfig */; + baseConfigurationReference = A9795B2976FE198516CAA504F4B96440 /* AWSMobileClient.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3968,11 +4013,10 @@ }; name = Release; }; - 39CB0BAB3A43B77E0330D85563883D8E /* Debug */ = { + 3918147CA71B945FC930C99D30D67ACC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F692ACEA599D56255144D6D7C75BA58 /* Pods-AWSAppSyncTestApp.debug.xcconfig */; + baseConfigurationReference = 1B0C2D49D46BE5EEC096D9D2E9BCB945 /* AWSS3.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3981,29 +4025,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncTestApp/Pods-AWSAppSyncTestApp-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSS3/AWSS3-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSS3/AWSS3-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncTestApp/Pods-AWSAppSyncTestApp.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/AWSS3/AWSS3.modulemap"; + PRODUCT_MODULE_NAME = AWSS3; + PRODUCT_NAME = AWSS3; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 3A169BC5417B1D9390D1366505CBAF11 /* Debug */ = { + 39CB0BAB3A43B77E0330D85563883D8E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 61D8CC5C8ADFC988827F26D35DC3B6FB /* Starscream.debug.xcconfig */; + baseConfigurationReference = 4F692ACEA599D56255144D6D7C75BA58 /* Pods-AWSAppSyncTestApp.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -4011,19 +4056,20 @@ DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncTestApp/Pods-AWSAppSyncTestApp-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncTestApp/Pods-AWSAppSyncTestApp.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -4032,7 +4078,7 @@ }; 3CF30022E8934008EF9FF9A050E83F0E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED87D67BDB16008E80E36280A36BF19C /* AWSCognitoIdentityProvider.debug.xcconfig */; + baseConfigurationReference = 9B4F4D9E77FBE5D6805BDA535CE78668 /* AWSCognitoIdentityProvider.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4124,9 +4170,9 @@ }; name = Debug; }; - 456AFC02F47239B7D28DFEDBA3BF57E6 /* Release */ = { + 4B8598B25B4598F9E520C3845AFC185E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63B39970E666C71947AD99A888262EEF /* AWSCognitoIdentityProviderASF.release.xcconfig */; + baseConfigurationReference = E1B02C66269F9EA62F31DBA2E26FBB75 /* Starscream.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4136,24 +4182,23 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.modulemap"; - PRODUCT_MODULE_NAME = AWSCognitoIdentityProviderASF; - PRODUCT_NAME = AWSCognitoIdentityProviderASF; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 4FD39322D17012438857E90FD36CDA2C /* Debug */ = { isa = XCBuildConfiguration; @@ -4187,9 +4232,9 @@ }; name = Debug; }; - 54F8BEEF1DB36EBC133A5C1B38636B72 /* Debug */ = { + 51F4B72A8932104E10967C8D0188D0A0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FEE70917D516B13996B82BAD7417C634 /* AppSyncRealTimeClient.debug.xcconfig */; + baseConfigurationReference = 925784D518BFDE4A14F00DFF6F163037 /* AWSCore.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4199,27 +4244,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSCore/AWSCore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSCore/AWSCore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient.modulemap"; - PRODUCT_MODULE_NAME = AppSyncRealTimeClient; - PRODUCT_NAME = AppSyncRealTimeClient; + MODULEMAP_FILE = "Target Support Files/AWSCore/AWSCore.modulemap"; + PRODUCT_MODULE_NAME = AWSCore; + PRODUCT_NAME = AWSCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 610A78AE420FCD87048E761E4A783F4C /* Debug */ = { + 54F8BEEF1DB36EBC133A5C1B38636B72 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7A87FC2DBBA21E664D5164EE0CD72C0C /* AWSAuthCore.debug.xcconfig */; + baseConfigurationReference = 2B72A35187FF658E61C7160B17D1CBAB /* AppSyncRealTimeClient.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4229,27 +4274,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSAuthCore/AWSAuthCore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore.modulemap"; - PRODUCT_MODULE_NAME = AWSAuthCore; - PRODUCT_NAME = AWSAuthCore; + MODULEMAP_FILE = "Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient.modulemap"; + PRODUCT_MODULE_NAME = AppSyncRealTimeClient; + PRODUCT_NAME = AppSyncRealTimeClient; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 6AFC42B692D9022ED301FA160AA7250E /* Release */ = { + 5E11B64AFF49E87C3C39CAF998D70E80 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 62EDCA61CD7B5A70B8CC11E6B1D4F538 /* AWSAuthCore.release.xcconfig */; + baseConfigurationReference = 6C4524F5A694B3E55632E71EFD865505 /* AWSCore.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4259,14 +4304,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSAuthCore/AWSAuthCore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSCore/AWSCore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSCore/AWSCore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore.modulemap"; - PRODUCT_MODULE_NAME = AWSAuthCore; - PRODUCT_NAME = AWSAuthCore; + MODULEMAP_FILE = "Target Support Files/AWSCore/AWSCore.modulemap"; + PRODUCT_MODULE_NAME = AWSCore; + PRODUCT_NAME = AWSCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -4278,9 +4323,9 @@ }; name = Release; }; - 6F9ABC4ECE4615A315434203338D663A /* Release */ = { + 610A78AE420FCD87048E761E4A783F4C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 147D13DB905F3E96E568674C16C52E1A /* ReachabilitySwift.release.xcconfig */; + baseConfigurationReference = 1AFCCD7A8EDD863642F8CC6FD543398E /* AWSAuthCore.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4290,28 +4335,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ReachabilitySwift/ReachabilitySwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSAuthCore/AWSAuthCore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap"; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; + MODULEMAP_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore.modulemap"; + PRODUCT_MODULE_NAME = AWSAuthCore; + PRODUCT_NAME = AWSAuthCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 6FE594D3975D89F427F5BADE89FBA9D3 /* Debug */ = { + 69F474586AB2F2089379915B7ED9177F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6EF84FA37F5DD3A5CC995701EB5641F6 /* SQLite.swift.debug.xcconfig */; + baseConfigurationReference = F38427C4018C1CA77566DD4719900D2A /* AWSCognitoIdentityProviderASF.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4321,27 +4365,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SQLite.swift/SQLite.swift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SQLite.swift/SQLite.swift-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SQLite.swift/SQLite.swift.modulemap"; - PRODUCT_MODULE_NAME = SQLite; - PRODUCT_NAME = SQLite; + MODULEMAP_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.modulemap"; + PRODUCT_MODULE_NAME = AWSCognitoIdentityProviderASF; + PRODUCT_NAME = AWSCognitoIdentityProviderASF; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 78943ED81D6C024D709E4CD7C031F80A /* Release */ = { + 6AFC42B692D9022ED301FA160AA7250E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FE1A8614D6327139B869863CCFB0152D /* AWSCore.release.xcconfig */; + baseConfigurationReference = 83A9D5062C08D36DD914AB05A290F043 /* AWSAuthCore.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4351,14 +4396,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSCore/AWSCore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSCore/AWSCore-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AWSAuthCore/AWSAuthCore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSCore/AWSCore.modulemap"; - PRODUCT_MODULE_NAME = AWSCore; - PRODUCT_NAME = AWSCore; + MODULEMAP_FILE = "Target Support Files/AWSAuthCore/AWSAuthCore.modulemap"; + PRODUCT_MODULE_NAME = AWSAuthCore; + PRODUCT_NAME = AWSAuthCore; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -4370,11 +4415,10 @@ }; name = Release; }; - 7C2DBEB904BB36349CAF0891E8EB7481 /* Debug */ = { + 6F9ABC4ECE4615A315434203338D663A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A7F3D75CD47F31232BE054099F986640 /* Pods-AWSAppSyncTestHostApp.debug.xcconfig */; + baseConfigurationReference = DAAC253C4963419D29AB92317ACD3C45 /* ReachabilitySwift.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -4383,28 +4427,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncTestHostApp/Pods-AWSAppSyncTestHostApp-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ReachabilitySwift/ReachabilitySwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncTestHostApp/Pods-AWSAppSyncTestHostApp.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap"; + PRODUCT_MODULE_NAME = Reachability; + PRODUCT_NAME = Reachability; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 8F16858CDA9461E3DEC5FFD4F928196D /* Debug */ = { + 6FE594D3975D89F427F5BADE89FBA9D3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9CC6DCC106AF3F2ED94C0EC02FB9AA25 /* AWSS3.debug.xcconfig */; + baseConfigurationReference = CC8DA8428DFD59F9EB17B1761A142B2C /* SQLite.swift.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4414,28 +4458,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSS3/AWSS3-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSS3/AWSS3-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SQLite.swift/SQLite.swift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SQLite.swift/SQLite.swift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSS3/AWSS3.modulemap"; - PRODUCT_MODULE_NAME = AWSS3; - PRODUCT_NAME = AWSS3; + MODULEMAP_FILE = "Target Support Files/SQLite.swift/SQLite.swift.modulemap"; + PRODUCT_MODULE_NAME = SQLite; + PRODUCT_NAME = SQLite; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8FE41F670710AACB88CF10A532645D2C /* Release */ = { + 7C2DBEB904BB36349CAF0891E8EB7481 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F067F86070A3457FA57B894FB18AD0CA /* Starscream.release.xcconfig */; + baseConfigurationReference = A7F3D75CD47F31232BE054099F986640 /* Pods-AWSAppSyncTestHostApp.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -4444,24 +4489,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-AWSAppSyncTestHostApp/Pods-AWSAppSyncTestHostApp-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-AWSAppSyncTestHostApp/Pods-AWSAppSyncTestHostApp.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 91C847AAB4330AC60D6E56C344E228CA /* Release */ = { isa = XCBuildConfiguration; @@ -4564,7 +4609,7 @@ }; 9F45E8DB3C91C4FC98FABD5624A2F0E5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 734C77DA27D6AD26F5585A7D77B54A92 /* ReachabilitySwift.debug.xcconfig */; + baseConfigurationReference = 82C38503C89F5C86BB603CAE481A9479 /* ReachabilitySwift.debug.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4594,7 +4639,7 @@ }; AD81E62ACCB0B7A923FC8AA288F9921E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9ACE4FE2368309D09BF5AF677E0E8F3F /* SwiftLint.release.xcconfig */; + baseConfigurationReference = 1C15CF3D17E203A3EFFC6A82C695A4B2 /* SwiftLint.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -4606,9 +4651,9 @@ }; name = Release; }; - B04CE13A1A064205C60B195E00ECA67E /* Debug */ = { + BD048ABC9C60CF468841D5BE3D6E691F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 92BAAC4233D46E4865C5C39C3EABE0BB /* AWSCognitoIdentityProviderASF.debug.xcconfig */; + baseConfigurationReference = 7FBB7EB8AE69ED94ED1D4668E1838722 /* Starscream.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4618,23 +4663,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.modulemap"; - PRODUCT_MODULE_NAME = AWSCognitoIdentityProviderASF; - PRODUCT_NAME = AWSCognitoIdentityProviderASF; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; C6E582B6994795E8216B99BACC75281F /* Debug */ = { isa = XCBuildConfiguration; @@ -4796,39 +4842,9 @@ }; name = Release; }; - D6FF0DADC9B90841054F49B06AA26060 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9204E3D7EA11C02732BB2CCA384EE55E /* AWSCore.debug.xcconfig */; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AWSCore/AWSCore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AWSCore/AWSCore-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AWSCore/AWSCore.modulemap"; - PRODUCT_MODULE_NAME = AWSCore; - PRODUCT_NAME = AWSCore; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; D8032C7ED1F4486B0AF7527EAD840684 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5B79468A83A3BD413A4347094AACE507 /* AppSyncRealTimeClient.release.xcconfig */; + baseConfigurationReference = B1132F5F36FE7B3F22E9460E12FD9A38 /* AppSyncRealTimeClient.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4892,7 +4908,7 @@ }; EADD1F50ABC8096A0D6CB18822BB4EE4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 38E648B3063EA451EFEEF47D333DD564 /* SwiftLint.debug.xcconfig */; + baseConfigurationReference = A85525FEC8B0EFA2806098DF98DD3F61 /* SwiftLint.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -4905,7 +4921,7 @@ }; FAFBE34AF223411CEC13EF85E4DF5271 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 714FE79CAFED1E3FF16BA5FE929B159B /* AWSMobileClient.release.xcconfig */; + baseConfigurationReference = 06689F760F8AF36385F144E6CDEAF9E8 /* AWSMobileClient.release.xcconfig */; buildSettings = { "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4937,20 +4953,20 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1AF24720CC8243FBD0DD7D8E714A4565 /* Build configuration list for PBXNativeTarget "Pods-AWSAppSyncUnitTests" */ = { + 1A97FA9C86EC98DE4402F128720BD1A9 /* Build configuration list for PBXNativeTarget "AWSCognitoIdentityProviderASF" */ = { isa = XCConfigurationList; buildConfigurations = ( - 03ED92CA92AD09E92D05BDBBBC7B192D /* Debug */, - CCC67D0A33D3135812FFBEAAC1999C0A /* Release */, + 01148F6470FC097008C285738578213C /* Debug */, + 69F474586AB2F2089379915B7ED9177F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 268F23A6C82EDABEFCF4073D9E1B70F8 /* Build configuration list for PBXNativeTarget "AWSCognitoIdentityProviderASF" */ = { + 1AF24720CC8243FBD0DD7D8E714A4565 /* Build configuration list for PBXNativeTarget "Pods-AWSAppSyncUnitTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - B04CE13A1A064205C60B195E00ECA67E /* Debug */, - 456AFC02F47239B7D28DFEDBA3BF57E6 /* Release */, + 03ED92CA92AD09E92D05BDBBBC7B192D /* Debug */, + CCC67D0A33D3135812FFBEAAC1999C0A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4982,15 +4998,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 518255CD200EFAD98594321D3591DFAB /* Build configuration list for PBXNativeTarget "AWSS3" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8F16858CDA9461E3DEC5FFD4F928196D /* Debug */, - 0B836E8216C948AA7FD6ADE73D5CFCF5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 5E1D3A8318F603D191D121F70943FF08 /* Build configuration list for PBXNativeTarget "SQLite.swift" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5009,6 +5016,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 6CF5A9AFF81801194F999F5660FDC092 /* Build configuration list for PBXNativeTarget "AWSS3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 02327AF5CE940746904B08A81C1DB0D4 /* Debug */, + 3918147CA71B945FC930C99D30D67ACC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 6DC95C5DB2328243C17702BCA8D34208 /* Build configuration list for PBXNativeTarget "Pods-AWSAppSyncIntegrationTests" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5036,15 +5052,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 872ACBE5E4C6FCF60D89C8FB6CE99439 /* Build configuration list for PBXNativeTarget "Starscream" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3A169BC5417B1D9390D1366505CBAF11 /* Debug */, - 8FE41F670710AACB88CF10A532645D2C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 894C6EECEBF29900627043687CB6E23B /* Build configuration list for PBXNativeTarget "Pods-AWSAppSyncTestApp" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5072,6 +5079,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 9D050B4D643EC369CBB9152C4745D52F /* Build configuration list for PBXNativeTarget "AWSCore" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 51F4B72A8932104E10967C8D0188D0A0 /* Debug */, + 5E11B64AFF49E87C3C39CAF998D70E80 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; A0F3D63A4D218DB1EBB9967B972C9DFF /* Build configuration list for PBXNativeTarget "AppSyncRealTimeClient" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -5090,20 +5106,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CCB2C26CBB903AB92505CB0BBBE8749B /* Build configuration list for PBXNativeTarget "AWSCore" */ = { + E50A4613BA081C4F47DEEC1F9B9176BA /* Build configuration list for PBXNativeTarget "ReachabilitySwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - D6FF0DADC9B90841054F49B06AA26060 /* Debug */, - 78943ED81D6C024D709E4CD7C031F80A /* Release */, + 9F45E8DB3C91C4FC98FABD5624A2F0E5 /* Debug */, + 6F9ABC4ECE4615A315434203338D663A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E50A4613BA081C4F47DEEC1F9B9176BA /* Build configuration list for PBXNativeTarget "ReachabilitySwift" */ = { + FBC91089194907B6999CBDEDC5FB5BC6 /* Build configuration list for PBXNativeTarget "Starscream" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9F45E8DB3C91C4FC98FABD5624A2F0E5 /* Debug */, - 6F9ABC4ECE4615A315434203338D663A /* Release */, + 4B8598B25B4598F9E520C3845AFC185E /* Debug */, + BD048ABC9C60CF468841D5BE3D6E691F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/SwiftLint/swiftlint b/Pods/SwiftLint/swiftlint index 6837f762..4478d9f5 100755 Binary files a/Pods/SwiftLint/swiftlint and b/Pods/SwiftLint/swiftlint differ diff --git a/Pods/Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist b/Pods/Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist +++ b/Pods/Target Support Files/AWSAuthCore/AWSAuthCore-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider-Info.plist b/Pods/Target Support Files/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider-Info.plist +++ b/Pods/Target Support Files/AWSCognitoIdentityProvider/AWSCognitoIdentityProvider-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist b/Pods/Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist +++ b/Pods/Target Support Files/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSCore/AWSCore-Info.plist b/Pods/Target Support Files/AWSCore/AWSCore-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSCore/AWSCore-Info.plist +++ b/Pods/Target Support Files/AWSCore/AWSCore-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSMobileClient/AWSMobileClient-Info.plist b/Pods/Target Support Files/AWSMobileClient/AWSMobileClient-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSMobileClient/AWSMobileClient-Info.plist +++ b/Pods/Target Support Files/AWSMobileClient/AWSMobileClient-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSS3/AWSS3-Info.plist b/Pods/Target Support Files/AWSS3/AWSS3-Info.plist index 15dd8b25..5d901632 100644 --- a/Pods/Target Support Files/AWSS3/AWSS3-Info.plist +++ b/Pods/Target Support Files/AWSS3/AWSS3-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.24.0 + 2.26.0 CFBundleSignature ???? CFBundleVersion diff --git a/Pods/Target Support Files/AWSS3/AWSS3-umbrella.h b/Pods/Target Support Files/AWSS3/AWSS3-umbrella.h index d3f05d31..7c359502 100644 --- a/Pods/Target Support Files/AWSS3/AWSS3-umbrella.h +++ b/Pods/Target Support Files/AWSS3/AWSS3-umbrella.h @@ -17,8 +17,10 @@ #import "AWSS3Resources.h" #import "AWSS3Serializer.h" #import "AWSS3Service.h" +#import "AWSS3TransferUtility+EnumerateBlocks.h" #import "AWSS3TransferUtility+HeaderHelper.h" #import "AWSS3TransferUtility.h" +#import "AWSS3TransferUtilityBlocks.h" #import "AWSS3TransferUtilityDatabaseHelper.h" #import "AWSS3TransferUtilityTasks.h" diff --git a/Pods/Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist b/Pods/Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist index b152246a..a7a6daf3 100644 --- a/Pods/Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist +++ b/Pods/Target Support Files/AppSyncRealTimeClient/AppSyncRealTimeClient-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.4.4 + 1.5.0 CFBundleSignature ???? CFBundleVersion diff --git a/README.md b/README.md index e8285b38..9a14b8ac 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ The AWS AppSync SDK for iOS enables you to access your AWS AppSync backend and p 1. Add the following line to your Podfile: ```ruby - pod 'AWSAppSync', '~> 3.2.1' + pod 'AWSAppSync', '~> 3.4.1' ``` Example: @@ -49,7 +49,7 @@ The AWS AppSync SDK for iOS enables you to access your AWS AppSync backend and p use_frameworks! # Pods for EventsApp - pod 'AWSAppSync', '~> 3.2.1' + pod 'AWSAppSync', '~> 3.4.1' end ``` @@ -193,6 +193,16 @@ You can get the backend setup by following the steps below: - `BucketName` - `BucketRegion` - `AppSyncMultiAuthAPIKey` +1. Create another CloudFormation Stack following step 1-6 above with `API Key` as the Auth type (we'll change that later) + 1. Create a Lambda function using the template provided in this project at `AWSAppSyncIntegrationTests/ConsoleResources/appsync-lambda-authorize +r.js` + 1. Once the stack is complete click on the __Outputs__ tab + 1. Copy the appropriate values to the test configuration file `AppSyncIntegrationTests/appsync_test_credentials.json`: + - `AppSyncEndpointAPIKeyLambda` + - `AppSyncEndpointAPIKeyLambdaRegion` + + 1. Go to the [AWS AppSync console](https://console.aws.amazon.com/appsync/home), select the newly created AppSync instance + 1. In the `Settings` section, change the default authentication type to `AWS Lambda` and select the Lambda function created at the previous step > Note: You must either provide all values in the `AppSyncIntegrationTests/appsync_test_credentials.json` or in code. There is no mechanism to handle partial overrides of one source with the other. All values must be specified before running the integration tests.