static Option <BrokerConfig> ParseBrokerConfig(BrokerProperties configuration) { if (configuration != null) { throw new NotImplementedException(); } return(Option.None <BrokerConfig>()); }
Option <BrokerConfig> ParseBrokerConfig(BrokerProperties properties) { if (properties != null) { return(Option.Some( new BrokerConfig( this.ParseBridgeConfig(properties), this.ParseAuthorizationConfig(properties)))); } return(Option.None <BrokerConfig>()); }
public EdgeHubDesiredProperties_1_2( string schemaVersion, IDictionary <string, RouteSpec> routes, StoreAndForwardConfiguration storeAndForwardConfiguration, BrokerProperties brokerConfiguration) { this.SchemaVersion = Preconditions.CheckNonWhiteSpace(schemaVersion, nameof(schemaVersion)); this.Routes = Preconditions.CheckNotNull(routes, nameof(routes)); this.StoreAndForwardConfiguration = Preconditions.CheckNotNull(storeAndForwardConfiguration, nameof(storeAndForwardConfiguration)); // can be null for old versions. this.BrokerConfiguration = brokerConfiguration; }
Option <BridgeConfig> ParseBridgeConfig(BrokerProperties properties) { if (properties.Bridges.Count == 0) { return(Option.None <BridgeConfig>()); } IList <string> errors = this.validator.ValidateBridgeConfig(properties.Bridges); if (errors.Count > 0) { string message = string.Join("; ", errors); throw new InvalidOperationException($"Error validating bridge configuration: {message}"); } return(Option.Some(properties.Bridges)); }
/// <summary> /// EH Twin and policy definition in the Broker have different json schemas. /// This method converts twin schema (BrokerProperties) into broker policy schema (AuthorizationConfig), /// and validates it. /// </summary> Option <AuthorizationConfig> ParseAuthorizationConfig(BrokerProperties properties) { if (properties.Authorizations.Count == 0) { return(Option.None <AuthorizationConfig>()); } IList <string> errors = this.validator.ValidateAuthorizationConfig(properties.Authorizations); if (errors.Count > 0) { string message = string.Join("; ", errors); throw new InvalidOperationException($"Error validating authorization policy: {message}"); } var result = new List <Statement>(properties.Authorizations?.Count ?? 0); foreach (var statement in properties.Authorizations) { // parse deny rules first, since we agreed that they take precedence // in case of conflicting rules. foreach (var rule in statement.Deny) { result.Add(new Statement( Effect.Deny, statement.Identities, rule.Operations, rule.Resources)); } foreach (var rule in statement.Allow) { result.Add(new Statement( Effect.Allow, statement.Identities, rule.Operations, rule.Resources)); } } return(Option.Some(new AuthorizationConfig(result))); }
Option <BridgeConfig> ParseBridgeConfig(BrokerProperties properties) { return(Option.None <BridgeConfig>()); }