예제 #1
0
        protected override void Execute()
        {
            Name = base.ParseNameForQuota(Name);

            // try to fetch the quota.
            // if the quota doesnt exist, this will throw an exception
            QuotaGetResponse getResponse = Client.Quotas.Get(Location, Name);

            if (ShouldProcess(
                    Resources.SetQuotaDescription.FormatInvariantCulture(Name),
                    Resources.SetQuotaWarning.FormatInvariantCulture(Name),
                    Resources.ShouldProcessCaption))
            {
                QuotaCreateOrUpdateParameters request = new QuotaCreateOrUpdateParameters
                {
                    Properties = new Quota
                    {
                        CapacityInGB            = CapacityInGB,
                        NumberOfStorageAccounts = NumberOfStorageAccounts
                    }
                };

                QuotaGetResponse response = Client.Quotas.CreateOrUpdate(Location, Name, request);

                WriteObject(new QuotaResponse(response.Quota));
            }
        }
예제 #2
0
        protected override void Execute()
        {
            if (!string.IsNullOrEmpty(Name))
            {
                try
                {
                    QuotaGetResponse response = Client.Quotas.Get(Location, Name);
                    if (response != null && response.Quota != null)
                    {
                        throw new AdminException(string.Format(CultureInfo.InvariantCulture, Resources.QuotaAlreadyExistsErrorMessage));
                    }
                }
                catch (Hyak.Common.CloudException)
                {
                    // ignore this exception as the quota may not exist at all
                }
            }
            if (ShouldProcess(string.Format(CultureInfo.InvariantCulture, ShouldProcessTargetFormat, Name)))
            {
                QuotaCreateOrUpdateParameters request = new QuotaCreateOrUpdateParameters
                {
                    Properties = new Quota
                    {
                        CapacityInGB            = CapacityInGB,
                        NumberOfStorageAccounts = NumberOfStorageAccounts
                    }
                };

                QuotaGetResponse response = Client.Quotas.CreateOrUpdate(Location, Name, request);

                WriteObject(new QuotaResponse(response.Quota));
            }
        }
        public void UpdateQuota()
        {
            var response = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(ExpectedResults.QuotaGetResponse)
            };

            var handler = new RecordedDelegatingHandler(response)
            {
                StatusCodeToReturn = HttpStatusCode.OK
            };

            var subscriptionId = Guid.NewGuid().ToString();

            var token  = new TokenCloudCredentials(subscriptionId, Constants.TokenString);
            var client = GetClient(handler, token);

            var quotaReq = new QuotaCreateOrUpdateParameters
            {
                Properties = new Quota
                {
                    CapacityInGB            = 100,
                    NumberOfStorageAccounts = 10
                }
            };

            var result = client.Quotas.CreateOrUpdate(
                Constants.LocationName,
                Constants.QuotaName,
                quotaReq);

            // validate requestor
            Assert.Equal(handler.Method, HttpMethod.Put);

            var expectedUri = string.Format(
                CreateOrUpdateOrDeleteOrGetUriTemplate,
                Constants.BaseUri,
                subscriptionId,
                Constants.LocationName,
                Constants.QuotaName);

            Assert.Equal(handler.Uri.AbsoluteUri, expectedUri);

            CompareExpectedResult(result.Quota, subscriptionId);
        }
예제 #4
0
        public void CreateQuota()
        {
            var response = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(ExpectedResults.QuotaGetResponse)
            };

            var handler = new RecordedDelegatingHandler(response)
            {
                StatusCodeToReturn = HttpStatusCode.OK
            };

            var subscriptionId = Guid.NewGuid().ToString();

            var token = new TokenCloudCredentials(subscriptionId, Constants.TokenString);
            var client = GetClient(handler, token);

            var quotaReq = new QuotaCreateOrUpdateParameters
            {
                Properties = new Quota
                {
                    CapacityInGB = 100,
                    NumberOfStorageAccounts = 10
                }
            };

            var result = client.Quotas.CreateOrUpdate(Constants.LocationName, Constants.QuotaName, quotaReq);

            var expectedUri = string.Format(
                CreateOrUpdateOrDeleteOrGetUriTemplate,
                Constants.BaseUri,
                subscriptionId,
                Constants.LocationName,
                Constants.QuotaName);

            Assert.Equal(expectedUri, handler.Uri.AbsoluteUri);

            Assert.Equal(HttpMethod.Put, handler.Method);

            CompareExpectedResult(result.Quota, subscriptionId);
        }