-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
MetricsClientBuilderExtensions.cs
31 lines (28 loc) · 1.58 KB
/
MetricsClientBuilderExtensions.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
using System;
using Azure.Core.Extensions;
using Azure.Monitor.Query;
namespace Microsoft.Extensions.Azure
{
/// <summary> Extension methods to add <see cref="MetricsClient"/> to client builder. </summary>
public static class MetricsClientBuilderExtensions
{
/// <summary> Registers a <see cref="MetricsClient"/> instance. </summary>
/// <param name="builder"> The builder to register with. </param>
/// <param name="endpoint"> The data plane service endpoint to use. </param>
public static IAzureClientBuilder<MetricsClient, MetricsClientOptions> AddMetricsClient<TBuilder>(this TBuilder builder, Uri endpoint)
where TBuilder : IAzureClientFactoryBuilderWithCredential
{
return builder.RegisterClientFactory<MetricsClient, MetricsClientOptions>((options, cred) => new MetricsClient(endpoint, cred, options));
}
/// <summary> Registers a <see cref="MetricsClient"/> instance. </summary>
/// <param name="builder"> The builder to register with. </param>
/// <param name="configuration"> The configuration values. </param>
public static IAzureClientBuilder<MetricsClient, MetricsClientOptions> AddMetricsClient<TBuilder, TConfiguration>(this TBuilder builder, TConfiguration configuration)
where TBuilder : IAzureClientFactoryBuilderWithConfiguration<TConfiguration>
{
return builder.RegisterClientFactory<MetricsClient, MetricsClientOptions>(configuration);
}
}
}