com.microsoft.azure.management.containerregistry.v2017_10_01.implementation.WebhooksImpl 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.
*
*/
package com.microsoft.azure.management.containerregistry.v2017_10_01.implementation;
import com.microsoft.azure.arm.model.implementation.WrapperImpl;
import com.microsoft.azure.management.containerregistry.v2017_10_01.Webhooks;
import rx.Completable;
import rx.Observable;
import rx.functions.Func1;
import com.microsoft.azure.Page;
import com.microsoft.azure.management.containerregistry.v2017_10_01.EventInfo;
import com.microsoft.azure.management.containerregistry.v2017_10_01.CallbackConfig;
import com.microsoft.azure.management.containerregistry.v2017_10_01.Event;
import com.microsoft.azure.management.containerregistry.v2017_10_01.Webhook;
class WebhooksImpl extends WrapperImpl implements Webhooks {
private final ContainerRegistryManager manager;
WebhooksImpl(ContainerRegistryManager manager) {
super(manager.inner().webhooks());
this.manager = manager;
}
public ContainerRegistryManager manager() {
return this.manager;
}
@Override
public WebhookImpl define(String name) {
return wrapModel(name);
}
private WebhookImpl wrapModel(WebhookInner inner) {
return new WebhookImpl(inner, manager());
}
private WebhookImpl wrapModel(String name) {
return new WebhookImpl(name, this.manager());
}
@Override
public Observable pingAsync(String resourceGroupName, String registryName, String webhookName) {
WebhooksInner client = this.inner();
return client.pingAsync(resourceGroupName, registryName, webhookName)
.map(new Func1() {
@Override
public EventInfo call(EventInfoInner inner) {
return new EventInfoImpl(inner, manager());
}
});
}
@Override
public Observable getCallbackConfigAsync(String resourceGroupName, String registryName, String webhookName) {
WebhooksInner client = this.inner();
return client.getCallbackConfigAsync(resourceGroupName, registryName, webhookName)
.map(new Func1() {
@Override
public CallbackConfig call(CallbackConfigInner inner) {
return new CallbackConfigImpl(inner, manager());
}
});
}
@Override
public Observable listEventsAsync(final String resourceGroupName, final String registryName, final String webhookName) {
WebhooksInner client = this.inner();
return client.listEventsAsync(resourceGroupName, registryName, webhookName)
.flatMapIterable(new Func1, Iterable>() {
@Override
public Iterable call(Page page) {
return page.items();
}
})
.map(new Func1() {
@Override
public Event call(EventInner inner) {
return new EventImpl(inner, manager());
}
});
}
@Override
public Observable listAsync(final String resourceGroupName, final String registryName) {
WebhooksInner client = this.inner();
return client.listAsync(resourceGroupName, registryName)
.flatMapIterable(new Func1, Iterable>() {
@Override
public Iterable call(Page page) {
return page.items();
}
})
.map(new Func1() {
@Override
public Webhook call(WebhookInner inner) {
return wrapModel(inner);
}
});
}
@Override
public Observable getAsync(String resourceGroupName, String registryName, String webhookName) {
WebhooksInner client = this.inner();
return client.getAsync(resourceGroupName, registryName, webhookName)
.map(new Func1() {
@Override
public Webhook call(WebhookInner inner) {
return wrapModel(inner);
}
});
}
@Override
public Completable deleteAsync(String resourceGroupName, String registryName, String webhookName) {
WebhooksInner client = this.inner();
return client.deleteAsync(resourceGroupName, registryName, webhookName).toCompletable();
}
}