/// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     Operations      = new Operations(this);
     ResourceChanges = new ResourceChangesOperations(this);
     Changes         = new ChangesOperations(this);
     BaseUri         = new System.Uri("https://management.azure.com");
     ApiVersion      = "2021-04-01";
     AcceptLanguage  = "en-US";
     LongRunningOperationRetryTimeout = 30;
     GenerateClientRequestId          = true;
     SerializationSettings            = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
     DeserializationSettings.Converters.Add(new CloudErrorJsonConverter());
 }
 /// <summary>
 /// List the changes of a subscription within the specified time range.
 /// Customer data will always be masked.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='nextPageLink'>
 /// The NextLink from the previous successful call to List operation.
 /// </param>
 public static IPage <Change> ListChangesBySubscriptionNext(this IChangesOperations operations, string nextPageLink)
 {
     return(operations.ListChangesBySubscriptionNextAsync(nextPageLink).GetAwaiter().GetResult());
 }
 /// <summary>
 /// List the changes of a subscription within the specified time range.
 /// Customer data will always be masked.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='startTime'>
 /// Specifies the start time of the changes request.
 /// </param>
 /// <param name='endTime'>
 /// Specifies the end time of the changes request.
 /// </param>
 /// <param name='skipToken'>
 /// A skip token is used to continue retrieving items after an operation
 /// returns a partial result. If a previous response contains a nextLink
 /// element, the value of the nextLink element will include a skipToken
 /// parameter that specifies a starting point to use for subsequent calls.
 /// </param>
 public static IPage <Change> ListChangesBySubscription(this IChangesOperations operations, System.DateTime startTime, System.DateTime endTime, string skipToken = default(string))
 {
     return(operations.ListChangesBySubscriptionAsync(startTime, endTime, skipToken).GetAwaiter().GetResult());
 }