Exemplo n.º 1
0
 public static IAzureClientBuilder <TClient, TOptions> WithVersion <TClient, TOptions, TVersion>(this IAzureClientBuilder <TClient, TOptions> builder, TVersion version) where TOptions : class
 {
     builder.ToBuilder().Registration.Version = version;
     return(builder);
 }
Exemplo n.º 2
0
 private static AzureClientBuilder <TClient, TOptions> ToBuilder <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder) where TOptions : class
 {
     return((AzureClientBuilder <TClient, TOptions>)builder);
 }
Exemplo n.º 3
0
 public static IAzureClientBuilder <TClient, TOptions> ConfigureOptions <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, IConfiguration configuration) where TOptions : class
 {
     return(builder.ConfigureOptions(options => configuration.Bind(options)));
 }
Exemplo n.º 4
0
        public static IAzureClientBuilder <TClient, TOptions> ConfigureOptions <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, Action <TOptions, IServiceProvider> configureOptions) where TOptions : class
        {
            var impl = builder.ToBuilder();

            impl.ServiceCollection.AddSingleton <IConfigureOptions <TOptions> >(provider => new ConfigureClientOptions <TClient, TOptions>(provider, impl.Registration, configureOptions));;
            return(builder);
        }
Exemplo n.º 5
0
 public static IAzureClientBuilder <TClient, TOptions> ConfigureOptions <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, Action <TOptions> configureOptions) where TOptions : class
 {
     return(builder.ConfigureOptions((options, _) => configureOptions(options)));
 }
Exemplo n.º 6
0
        public static IAzureClientBuilder <TClient, TOptions> WithCredential <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, Func <IServiceProvider, TokenCredential> credentialFactory) where TOptions : class
        {
            var impl = builder.ToBuilder();

            impl.ServiceCollection.AddSingleton <IConfigureOptions <AzureClientCredentialOptions <TClient> > >(new ConfigureClientCredentials <TClient, TOptions>(impl.Registration, credentialFactory));
            return(builder);
        }
Exemplo n.º 7
0
 public static IAzureClientBuilder <TClient, TOptions> WithCredential <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, TokenCredential credential) where TOptions : class
 {
     return(builder.WithCredential(_ => credential));
 }
Exemplo n.º 8
0
 public static IAzureClientBuilder <TClient, TOptions> WithName <TClient, TOptions>(this IAzureClientBuilder <TClient, TOptions> builder, string name) where TOptions : class
 {
     builder.ToBuilder().Registration.Name = name;
     return(builder);
 }
Exemplo n.º 9
0
 /// <summary>
 /// Sets the service version to use for this client registration.
 /// </summary>
 /// <typeparam name="TClient">The type of the client.</typeparam>
 /// <typeparam name="TOptions">The options type the client uses.</typeparam>
 /// <typeparam name="TVersion">The service version enum type.</typeparam>
 /// <param name="builder">The client builder instance.</param>
 /// <param name="version">The delegate to use to configure options.</param>
 /// <returns>The client builder instance.</returns>
 public static IAzureClientBuilder <TClient, TOptions> WithVersion <TClient, TOptions, TVersion>(this IAzureClientBuilder <TClient, TOptions> builder, TVersion version) where TOptions : class
 {
     if (typeof(TVersion).DeclaringType != typeof(TOptions))
     {
         throw new ArgumentException($"Version should be of type {typeof(TOptions)}.ServiceVersion");
     }
     builder.ToBuilder().Registration.Version = version;
     return(builder);
 }