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)); } }
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); }
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); }