Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ interface UsagesService {
@GET("subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages")
Observable<Response<ResponseBody>> list(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);

@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.storage.Usages listByLocation" })
@GET("subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages")
Observable<Response<ResponseBody>> listByLocation(@Path("subscriptionId") String subscriptionId, @Path("location") String location, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);

}

/**
Expand Down Expand Up @@ -137,4 +141,84 @@ private ServiceResponse<PageImpl<UsageInner>> listDelegate(Response<ResponseBody
.build(response);
}

/**
* Gets the current usage count and the limit for the resources of the location under the subscription.
*
* @param location The location of the Azure Storage resource.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @throws CloudException thrown if the request is rejected by server
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
* @return the List&lt;UsageInner&gt; object if successful.
*/
public List<UsageInner> listByLocation(String location) {
return listByLocationWithServiceResponseAsync(location).toBlocking().single().body();
}

/**
* Gets the current usage count and the limit for the resources of the location under the subscription.
*
* @param location The location of the Azure Storage resource.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
*/
public ServiceFuture<List<UsageInner>> listByLocationAsync(String location, final ServiceCallback<List<UsageInner>> serviceCallback) {
return ServiceFuture.fromResponse(listByLocationWithServiceResponseAsync(location), serviceCallback);
}

/**
* Gets the current usage count and the limit for the resources of the location under the subscription.
*
* @param location The location of the Azure Storage resource.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the List&lt;UsageInner&gt; object
*/
public Observable<List<UsageInner>> listByLocationAsync(String location) {
return listByLocationWithServiceResponseAsync(location).map(new Func1<ServiceResponse<List<UsageInner>>, List<UsageInner>>() {
@Override
public List<UsageInner> call(ServiceResponse<List<UsageInner>> response) {
return response.body();
}
});
}

/**
* Gets the current usage count and the limit for the resources of the location under the subscription.
*
* @param location The location of the Azure Storage resource.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the List&lt;UsageInner&gt; object
*/
public Observable<ServiceResponse<List<UsageInner>>> listByLocationWithServiceResponseAsync(String location) {
if (this.client.subscriptionId() == null) {
throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
}
if (location == null) {
throw new IllegalArgumentException("Parameter location is required and cannot be null.");
}
if (this.client.apiVersion() == null) {
throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
}
return service.listByLocation(this.client.subscriptionId(), location, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<List<UsageInner>>>>() {
@Override
public Observable<ServiceResponse<List<UsageInner>>> call(Response<ResponseBody> response) {
try {
ServiceResponse<PageImpl<UsageInner>> result = listByLocationDelegate(response);
ServiceResponse<List<UsageInner>> clientResponse = new ServiceResponse<List<UsageInner>>(result.body().items(), result.response());
return Observable.just(clientResponse);
} catch (Throwable t) {
return Observable.error(t);
}
}
});
}

private ServiceResponse<PageImpl<UsageInner>> listByLocationDelegate(Response<ResponseBody> response) throws CloudException, IOException, IllegalArgumentException {
return this.client.restClient().responseBuilderFactory().<PageImpl<UsageInner>, CloudException>newInstance(this.client.serializerAdapter())
.register(200, new TypeToken<PageImpl<UsageInner>>() { }.getType())
.registerError(CloudException.class)
.build(response);
}

}