private MarketplaceMeteringClientOptions GetMarketplaceMeteringClientOptions()
        {
            var options = new MarketplaceMeteringClientOptions()
            {
                Diagnostics = { IsLoggingEnabled = true },
                Retry       =
                {
                    Mode           = RetryMode.Exponential,
                    MaxRetries     =                                                                       10,
                    Delay          = TimeSpan.FromSeconds(this.Mode == RecordedTestMode.Playback ? 0.01 : 1),
                    MaxDelay       = TimeSpan.FromSeconds(this.Mode == RecordedTestMode.Playback ? 0.1 : 60),
                    NetworkTimeout = TimeSpan.FromSeconds(this.Mode == RecordedTestMode.Playback ? 100 : 400),
                },
                Transport = new HttpClientTransport(
                    new HttpClient()
                {
                    Timeout = TimeSpan.FromSeconds(1000),
                }),
            };

            if (this.Mode != RecordedTestMode.Live)
            {
                options.AddPolicy(new RecordedClientRequestIdPolicy(this.Recording, false), HttpPipelinePosition.PerCall);
            }

            return(this.InstrumentClientOptions(options));
        }
        public MarketplaceMeteringClient(Uri endpoint, TokenCredential tokenCredential, MarketplaceMeteringClientOptions options = null)
        {
            endpoint ??= new Uri("https://marketplaceapi.microsoft.com/api");

            options ??= new MarketplaceMeteringClientOptions();
            this.clientDiagnostics = new Azure.Core.Pipeline.ClientDiagnostics(options);
            this.pipeline          = HttpPipelineBuilder.Build(options, new BearerTokenAuthenticationPolicy(tokenCredential, $"20e940b3-4c77-4b0b-9a53-9e16a1b010a7/.default"));
            this.endpoint          = endpoint;
        }
 public MarketplaceMeteringClient(TokenCredential tokenCredential, MarketplaceMeteringClientOptions options = null) : this(null, tokenCredential, options)
 {
 }