com.microsoft.azure.management.containerregistry.v2017_10_01.implementation.RegistriesImpl Maven / Gradle / Ivy
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* def
*/
package com.microsoft.azure.management.containerregistry.v2017_10_01.implementation;
import com.microsoft.azure.arm.resources.collection.implementation.GroupableResourcesCoreImpl;
import com.microsoft.azure.management.containerregistry.v2017_10_01.Registries;
import com.microsoft.azure.management.containerregistry.v2017_10_01.Registry;
import rx.Observable;
import rx.Completable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import com.microsoft.azure.arm.resources.ResourceUtilsCore;
import com.microsoft.azure.arm.utils.RXMapper;
import rx.functions.Func1;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.Page;
import com.microsoft.azure.management.containerregistry.v2017_10_01.RegistryListCredentialsResult;
import com.microsoft.azure.management.containerregistry.v2017_10_01.RegistryNameStatus;
import com.microsoft.azure.management.containerregistry.v2017_10_01.ImportImageParameters;
import com.microsoft.azure.management.containerregistry.v2017_10_01.PasswordName;
import com.microsoft.azure.management.containerregistry.v2017_10_01.RegistryUsageListResult;
class RegistriesImpl extends GroupableResourcesCoreImpl implements Registries {
protected RegistriesImpl(ContainerRegistryManager manager) {
super(manager.inner().registries(), manager);
}
@Override
protected Observable getInnerAsync(String resourceGroupName, String name) {
RegistriesInner client = this.inner();
return client.getByResourceGroupAsync(resourceGroupName, name);
}
@Override
protected Completable deleteInnerAsync(String resourceGroupName, String name) {
RegistriesInner client = this.inner();
return client.deleteAsync(resourceGroupName, name).toCompletable();
}
@Override
public Observable deleteByIdsAsync(Collection ids) {
if (ids == null || ids.isEmpty()) {
return Observable.empty();
}
Collection> observables = new ArrayList<>();
for (String id : ids) {
final String resourceGroupName = ResourceUtilsCore.groupFromResourceId(id);
final String name = ResourceUtilsCore.nameFromResourceId(id);
Observable o = RXMapper.map(this.inner().deleteAsync(resourceGroupName, name), id);
observables.add(o);
}
return Observable.mergeDelayError(observables);
}
@Override
public Observable deleteByIdsAsync(String...ids) {
return this.deleteByIdsAsync(new ArrayList(Arrays.asList(ids)));
}
@Override
public void deleteByIds(Collection ids) {
if (ids != null && !ids.isEmpty()) {
this.deleteByIdsAsync(ids).toBlocking().last();
}
}
@Override
public void deleteByIds(String...ids) {
this.deleteByIds(new ArrayList(Arrays.asList(ids)));
}
@Override
public PagedList listByResourceGroup(String resourceGroupName) {
RegistriesInner client = this.inner();
return this.wrapList(client.listByResourceGroup(resourceGroupName));
}
@Override
public Observable listByResourceGroupAsync(String resourceGroupName) {
RegistriesInner client = this.inner();
return client.listByResourceGroupAsync(resourceGroupName)
.flatMapIterable(new Func1, Iterable>() {
@Override
public Iterable call(Page page) {
return page.items();
}
})
.map(new Func1() {
@Override
public Registry call(RegistryInner inner) {
return wrapModel(inner);
}
});
}
@Override
public PagedList list() {
RegistriesInner client = this.inner();
return this.wrapList(client.list());
}
@Override
public Observable listAsync() {
RegistriesInner client = this.inner();
return client.listAsync()
.flatMapIterable(new Func1, Iterable>() {
@Override
public Iterable call(Page page) {
return page.items();
}
})
.map(new Func1() {
@Override
public Registry call(RegistryInner inner) {
return wrapModel(inner);
}
});
}
@Override
public RegistryImpl define(String name) {
return wrapModel(name);
}
@Override
public Completable importImageAsync(String resourceGroupName, String registryName, ImportImageParameters parameters) {
RegistriesInner client = this.inner();
return client.importImageAsync(resourceGroupName, registryName, parameters).toCompletable();
}
@Override
public Observable listCredentialsAsync(String resourceGroupName, String registryName) {
RegistriesInner client = this.inner();
return client.listCredentialsAsync(resourceGroupName, registryName)
.map(new Func1() {
@Override
public RegistryListCredentialsResult call(RegistryListCredentialsResultInner inner) {
return new RegistryListCredentialsResultImpl(inner, manager());
}
});
}
@Override
public Observable regenerateCredentialAsync(String resourceGroupName, String registryName, PasswordName name) {
RegistriesInner client = this.inner();
return client.regenerateCredentialAsync(resourceGroupName, registryName, name)
.map(new Func1() {
@Override
public RegistryListCredentialsResult call(RegistryListCredentialsResultInner inner) {
return new RegistryListCredentialsResultImpl(inner, manager());
}
});
}
@Override
public Observable checkNameAvailabilityAsync(String name) {
RegistriesInner client = this.inner();
return client.checkNameAvailabilityAsync(name)
.map(new Func1() {
@Override
public RegistryNameStatus call(RegistryNameStatusInner inner) {
return new RegistryNameStatusImpl(inner, manager());
}
});
}
@Override
protected RegistryImpl wrapModel(RegistryInner inner) {
return new RegistryImpl(inner.name(), inner, manager());
}
@Override
protected RegistryImpl wrapModel(String name) {
return new RegistryImpl(name, new RegistryInner(), this.manager());
}
@Override
public Observable listUsagesAsync(String resourceGroupName, String registryName) {
RegistriesInner client = this.inner();
return client.listUsagesAsync(resourceGroupName, registryName)
.map(new Func1() {
@Override
public RegistryUsageListResult call(RegistryUsageListResultInner inner) {
return new RegistryUsageListResultImpl(inner, manager());
}
});
}
}