DiscoveryServiceConfigurationProvider
open class DiscoveryServiceConfigurationProvider : ConfigurationProviding
Built-in configuration provider that obtains data from the SAP Discovery Service.
Examples
Example for obtaining configuration from the global Discovery Service with an email address when using domain-based configuration.
let provider = DiscoveryServiceConfigurationProvider(applicationID: "")
let (providerSuccess, configuration, _) = provider.provideConfiguration(input: [ConfigurationProviderInputKeys.emailAddress.rawValue : "example@sap.com"])
if providerSuccess {
// use configuration
}
Example for obtaining configuration from the global Discovery Service with an onboarding code when using onboardingCode-based configuration.
let provider = DiscoveryServiceConfigurationProvider(applicationID: "")
let (providerSuccess, configuration, _) = provider.provideConfiguration(input: [ConfigurationProviderInputKeys.onboardingCode.rawValue : "12345678"])
if providerSuccess {
// use configuration
}
Further Documentation
See Enabling Applications to Discover Configurations and Using the Configuration Discovery Service for domain-based configuration.
See Discovery Service - Onboarding Codes for onboarding-code-based configuration.
-
Default class initializer.
Declaration
Swift
public convenience init() -
Overloaded class initializer. Creates a
DiscoveryServiceConfigurationProviderobject with the specified app identifier.Declaration
Swift
public init(applicationID: String? = nil, discoveryServiceHost: String? = nil)Parameters
applicationIDApp identifier to use for web requests to the Discovery Service. If no value is supplied, the calling app’s CFBundleIdentifier value will be obtained at runtime. This parameter allows for obtaining configuration data for a different app than the caller.
discoveryServiceHostDiscovery Service Host parameter used for storing custom discoveryServiceHost url. This url is used to obtain data from SAP Discovery Service. If no value is supplied, default Discovery Service Host is obtained from function discoveryServiceHostnameFor(_:).
-
A read-only property. The value for this class is
com.sap.configuration.provider.discoveryservice.Declaration
Swift
public var providerIdentifier: String { get } -
Reports what input(s) are required for
DiscoveryServiceConfigurationProvider.provideConfiguration(input:).Alternatively, you can provide a
Dictionarycontaining the keyConfigurationProviderInputKeys.onboardingCodeand a corresponding value.Declaration
Swift
public var expectedInput: [String : Any] { get }Return Value
a
Dictionarycontaining the keyConfigurationProviderInputKeys.emailAddressfor which you need to set a value.
-
Attempts to obtain data if required input has been supplied.
Declaration
Swift
public func provideConfiguration(input: [String : Any] = [:]) -> (providerSuccess: Bool, configuration: NSDictionary, returnError: Error?)Parameters
inputData supplied by app in response to
expectedInputdictionary.Return Value
A tuple consisting of
providerSuccess(success/fail result),configurationif available, andreturnErrorif applicable.