/// <inheritdoc />
        public Task <ChaosEventsSegment> GetChaosEventsAsync(
            ContinuationToken continuationToken = default(ContinuationToken),
            string startTimeUtc = default(string),
            string endTimeUtc   = default(string),
            long?maxResults     = 0,
            long?serverTimeout  = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "Tools/Chaos/Events";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            startTimeUtc?.AddToQueryParameters(queryParams, $"StartTimeUtc={startTimeUtc}");
            endTimeUtc?.AddToQueryParameters(queryParams, $"EndTimeUtc={endTimeUtc}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.2");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponse(RequestFunc, url, ChaosEventsSegmentConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <ReplicaInfo> > GetReplicaInfoListAsync(
            PartitionId partitionId,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            partitionId.ThrowIfNull(nameof(partitionId));
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId = Guid.NewGuid().ToString();
            var url       = "Partitions/{partitionId}/$/GetReplicas";

            url = url.Replace("{partitionId}", partitionId.ToString());
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.0");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, ReplicaInfoConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <ApplicationTypeInfo> > GetApplicationTypeInfoListAsync(
            int?applicationTypeDefinitionKindFilter = 0,
            bool?excludeApplicationParameters       = false,
            ContinuationToken continuationToken     = default(ContinuationToken),
            long?maxResults    = 0,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "ApplicationTypes";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            applicationTypeDefinitionKindFilter?.AddToQueryParameters(queryParams, $"ApplicationTypeDefinitionKindFilter={applicationTypeDefinitionKindFilter}");
            excludeApplicationParameters?.AddToQueryParameters(queryParams, $"ExcludeApplicationParameters={excludeApplicationParameters}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.0");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, ApplicationTypeInfoConverter.Deserialize, requestId, cancellationToken));
        }
示例#4
0
        /// <inheritdoc />
        public Task <PagedData <ComposeDeploymentStatusInfo> > GetComposeDeploymentStatusListAsync(
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults    = 0,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "ComposeDeployments";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.0-preview");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, ComposeDeploymentStatusInfoConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <BackupConfigurationInfo> > GetServiceBackupConfigurationInfoAsync(
            string serviceId,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults    = 0,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            serviceId.ThrowIfNull(nameof(serviceId));
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId = Guid.NewGuid().ToString();
            var url       = "Services/{serviceId}/$/GetBackupConfigurationInfo";

            url = url.Replace("{serviceId}", serviceId);
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.2-preview");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, BackupConfigurationInfoConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <NodeInfo> > GetNodeInfoListAsync(
            ContinuationToken continuationToken = default(ContinuationToken),
            NodeStatusFilter?nodeStatusFilter   = NodeStatusFilter.Default,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "Nodes";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            nodeStatusFilter?.AddToQueryParameters(queryParams, $"NodeStatusFilter={nodeStatusFilter.ToString()}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.0");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, NodeInfoConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <BackupEntity> > GetAllEntitiesBackedUpByPolicyAsync(
            string backupPolicyName,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults    = 0,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            backupPolicyName.ThrowIfNull(nameof(backupPolicyName));
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId = Guid.NewGuid().ToString();
            var url       = "BackupRestore/BackupPolicies/{backupPolicyName}/$/GetBackupEnabledEntities";

            url = url.Replace("{backupPolicyName}", Uri.EscapeDataString(backupPolicyName));
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.2-preview");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, BackupEntityConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <LoadedPartitionInformationResult> > GetLoadedPartitionInfoListAsync(
            string metricName,
            string serviceName = default(string),
            Ordering?ordering  = Ordering.Desc,
            long?maxResults    = 0,
            ContinuationToken continuationToken = default(ContinuationToken),
            CancellationToken cancellationToken = default(CancellationToken))
        {
            metricName.ThrowIfNull(nameof(metricName));
            maxResults?.ThrowIfLessThan("maxResults", 0);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "$/GetLoadedPartitionInfoList";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            metricName?.AddToQueryParameters(queryParams, $"MetricName={metricName}");
            serviceName?.AddToQueryParameters(queryParams, $"ServiceName={serviceName}");
            ordering?.AddToQueryParameters(queryParams, $"Ordering={ordering.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            queryParams.Add("api-version=8.0");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, LoadedPartitionInformationResultConverter.Deserialize, requestId, cancellationToken));
        }
示例#9
0
        /// <inheritdoc />
        public Task <PagedData <string> > GetSubNameInfoListAsync(
            string nameId,
            bool?recursive = false,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            nameId.ThrowIfNull(nameof(nameId));
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId = Guid.NewGuid().ToString();
            var url       = "Names/{nameId}/$/GetSubNames";

            url = url.Replace("{nameId}", nameId);
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            recursive?.AddToQueryParameters(queryParams, $"Recursive={recursive}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=6.0");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, JsonReaderExtensions.ReadValueAsString, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <UpdatePartitionLoadResult> > UpdatePartitionLoadAsync(
            IEnumerable <PartitionMetricLoadDescription> partitionMetricLoadDescriptionList,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults    = 0,
            long?serverTimeout = 60,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            partitionMetricLoadDescriptionList.ThrowIfNull(nameof(partitionMetricLoadDescriptionList));
            maxResults?.ThrowIfLessThan("maxResults", 0);
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "$/UpdatePartitionLoad";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            queryParams.Add("api-version=7.2");
            url += "?" + string.Join("&", queryParams);

            string content;

            using (var sw = new StringWriter())
            {
                ListTConverter <PartitionMetricLoadDescription> .Serialize(new JsonTextWriter(sw), partitionMetricLoadDescriptionList, PartitionMetricLoadDescriptionConverter.Serialize);

                content = sw.ToString();
            }

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method  = HttpMethod.Post,
                    Content = new StringContent(content, Encoding.UTF8),
                };

                request.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, UpdatePartitionLoadResultConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <BackupInfo> > GetBackupsFromBackupLocationAsync(
            GetBackupByStorageQueryDescription getBackupByStorageQueryDescription,
            long?serverTimeout = 60,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults = 0,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            getBackupByStorageQueryDescription.ThrowIfNull(nameof(getBackupByStorageQueryDescription));
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            maxResults?.ThrowIfLessThan("maxResults", 0);
            var requestId   = Guid.NewGuid().ToString();
            var url         = "BackupRestore/$/GetBackups";
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            queryParams.Add("api-version=6.2-preview");
            url += "?" + string.Join("&", queryParams);

            string content;

            using (var sw = new StringWriter())
            {
                GetBackupByStorageQueryDescriptionConverter.Serialize(new JsonTextWriter(sw), getBackupByStorageQueryDescription);
                content = sw.ToString();
            }

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method  = HttpMethod.Post,
                    Content = new StringContent(content, Encoding.UTF8),
                };

                request.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, BackupInfoConverter.Deserialize, requestId, cancellationToken));
        }
        /// <inheritdoc />
        public Task <PagedData <BackupInfo> > GetApplicationBackupListAsync(
            string applicationId,
            long?serverTimeout                  = 60,
            bool?latest                         = false,
            DateTime?startDateTimeFilter        = default(DateTime?),
            DateTime?endDateTimeFilter          = default(DateTime?),
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults                     = 0,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            applicationId.ThrowIfNull(nameof(applicationId));
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            maxResults?.ThrowIfLessThan("maxResults", 0);
            var requestId = Guid.NewGuid().ToString();
            var url       = "Applications/{applicationId}/$/GetBackups";

            url = url.Replace("{applicationId}", applicationId);
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            latest?.AddToQueryParameters(queryParams, $"Latest={latest}");
            startDateTimeFilter?.AddToQueryParameters(queryParams, $"StartDateTimeFilter={System.Xml.XmlConvert.ToString(startDateTimeFilter.Value, System.Xml.XmlDateTimeSerializationMode.Utc).ToString()}");
            endDateTimeFilter?.AddToQueryParameters(queryParams, $"EndDateTimeFilter={System.Xml.XmlConvert.ToString(endDateTimeFilter.Value, System.Xml.XmlDateTimeSerializationMode.Utc).ToString()}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            queryParams.Add("api-version=6.2-preview");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, BackupInfoConverter.Deserialize, requestId, cancellationToken));
        }
示例#13
0
        /// <inheritdoc />
        public Task <PagedData <DeployedApplicationInfo> > GetDeployedApplicationInfoListAsync(
            NodeName nodeName,
            long?serverTimeout                  = 60,
            bool?includeHealthState             = false,
            ContinuationToken continuationToken = default(ContinuationToken),
            long?maxResults = 0,
            CancellationToken cancellationToken = default(CancellationToken))
        {
            nodeName.ThrowIfNull(nameof(nodeName));
            serverTimeout?.ThrowIfOutOfInclusiveRange("serverTimeout", 1, 4294967295);
            maxResults?.ThrowIfLessThan("maxResults", 0);
            var requestId = Guid.NewGuid().ToString();
            var url       = "Nodes/{nodeName}/$/GetApplications";

            url = url.Replace("{nodeName}", Uri.EscapeDataString(nodeName.ToString()));
            var queryParams = new List <string>();

            // Append to queryParams if not null.
            serverTimeout?.AddToQueryParameters(queryParams, $"timeout={serverTimeout}");
            includeHealthState?.AddToQueryParameters(queryParams, $"IncludeHealthState={includeHealthState}");
            continuationToken?.AddToQueryParameters(queryParams, $"ContinuationToken={continuationToken.ToString()}");
            maxResults?.AddToQueryParameters(queryParams, $"MaxResults={maxResults}");
            queryParams.Add("api-version=6.1");
            url += "?" + string.Join("&", queryParams);

            HttpRequestMessage RequestFunc()
            {
                var request = new HttpRequestMessage()
                {
                    Method = HttpMethod.Get,
                };

                return(request);
            }

            return(this.httpClient.SendAsyncGetResponseAsPagedData(RequestFunc, url, DeployedApplicationInfoConverter.Deserialize, requestId, cancellationToken));
        }