![JAR search and dependency download from the Maven repository](/logo.png)
com.microsoft.azure.management.monitor.implementation.DiagnosticSettingsImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-mgmt-monitor Show documentation
Show all versions of azure-mgmt-monitor Show documentation
This package contains Microsoft Azure Monitor SDK.
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*/
package com.microsoft.azure.management.monitor.implementation;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.apigeneration.LangDefinition;
import com.microsoft.azure.management.monitor.DiagnosticSetting;
import com.microsoft.azure.management.monitor.DiagnosticSettings;
import com.microsoft.azure.management.monitor.DiagnosticSettingsCategory;
import com.microsoft.azure.management.resources.fluentcore.arm.collection.implementation.CreatableResourcesImpl;
import com.microsoft.azure.management.resources.fluentcore.utils.RXMapper;
import com.microsoft.rest.ServiceCallback;
import com.microsoft.rest.ServiceFuture;
import rx.Completable;
import rx.Observable;
import rx.functions.Func1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
/**
* Implementation for DiagnosticSettings.
*/
@LangDefinition
class DiagnosticSettingsImpl
extends CreatableResourcesImpl
implements DiagnosticSettings {
private final MonitorManager manager;
DiagnosticSettingsImpl(final MonitorManager manager) {
this.manager = manager;
}
@Override
public DiagnosticSettingImpl define(String name) {
return wrapModel(name);
}
// Fluent model create helpers
@Override
protected DiagnosticSettingImpl wrapModel(String name) {
DiagnosticSettingsResourceInner inner = new DiagnosticSettingsResourceInner();
return new DiagnosticSettingImpl(name, inner, this.manager());
}
@Override
protected DiagnosticSettingImpl wrapModel(DiagnosticSettingsResourceInner inner) {
if (inner == null) {
return null;
}
return new DiagnosticSettingImpl(inner.name(), inner, this.manager());
}
@Override
public MonitorManager manager() {
return this.manager;
}
@Override
public DiagnosticSettingsInner inner() {
return this.manager().inner().diagnosticSettings();
}
@Override
public List listCategoriesByResource(String resourceId) {
List categories = new ArrayList<>();
DiagnosticSettingsCategoryResourceCollectionInner collection = this.manager().inner().diagnosticSettingsCategorys().list(resourceId);
if (collection != null) {
for (DiagnosticSettingsCategoryResourceInner category : collection.value()) {
categories.add(new DiagnosticSettingsCategoryImpl(category));
}
}
return categories;
}
@Override
public Observable listCategoriesByResourceAsync(String resourceId) {
return this.manager().inner().diagnosticSettingsCategorys().listAsync(resourceId)
.flatMap(new Func1>() {
@Override
public Observable call(DiagnosticSettingsCategoryResourceCollectionInner diagnosticSettingsCategoryResourceCollectionInner) {
return Observable.from(diagnosticSettingsCategoryResourceCollectionInner.value());
}
}).map(new Func1() {
@Override
public DiagnosticSettingsCategory call(DiagnosticSettingsCategoryResourceInner diagnosticSettingsCategoryInner) {
return new DiagnosticSettingsCategoryImpl(diagnosticSettingsCategoryInner);
}
});
}
@Override
public DiagnosticSettingsCategory getCategory(String resourceId, String name) {
return new DiagnosticSettingsCategoryImpl(this.manager().inner().diagnosticSettingsCategorys().get(resourceId, name));
}
@Override
public Observable getCategoryAsync(String resourceId, String name) {
return this.manager().inner().diagnosticSettingsCategorys().getAsync(resourceId, name)
.map(new Func1() {
@Override
public DiagnosticSettingsCategory call(DiagnosticSettingsCategoryResourceInner diagnosticSettingsCategoryResourceInner) {
return new DiagnosticSettingsCategoryImpl(diagnosticSettingsCategoryResourceInner);
}
});
}
@Override
public PagedList listByResource(String resourceId) {
DiagnosticSettingsResourceCollectionInner result = this.manager().inner().diagnosticSettings().list(resourceId);
if (result == null) {
return null;
}
return wrapList(result.value());
}
@Override
public Observable listByResourceAsync(String resourceId) {
final DiagnosticSettingsImpl self = this;
return this.manager().inner().diagnosticSettings().listAsync(resourceId)
.flatMap(new Func1>() {
@Override
public Observable call(DiagnosticSettingsResourceCollectionInner diagnosticSettingsResourceCollectionInner) {
return Observable.from(diagnosticSettingsResourceCollectionInner.value());
}
}).map(new Func1() {
@Override
public DiagnosticSetting call(DiagnosticSettingsResourceInner diagnosticSettingInner) {
return new DiagnosticSettingImpl(diagnosticSettingInner.name(), diagnosticSettingInner, self.manager());
}
});
}
@Override
public void delete(String resourceId, String name) {
this.manager().inner().diagnosticSettings().delete(resourceId, name);
}
@Override
public ServiceFuture deleteAsync(String resourceId, String name, ServiceCallback callback) {
return this.manager().inner().diagnosticSettings().deleteAsync(resourceId, name, callback);
}
@Override
public Completable deleteAsync(String resourceId, String name) {
return this.manager().inner().diagnosticSettings().deleteAsync(resourceId, name).toCompletable();
}
@Override
public DiagnosticSetting get(String resourceId, String name) {
return wrapModel(this.manager().inner().diagnosticSettings().get(resourceId, name));
}
@Override
public Observable getAsync(String resourceId, String name) {
return this.manager().inner().diagnosticSettings().getAsync(resourceId, name)
.map(new Func1() {
@Override
public DiagnosticSetting call(DiagnosticSettingsResourceInner diagnosticSettingsResourceInner) {
return wrapModel(diagnosticSettingsResourceInner);
}
});
}
@Override
public Completable deleteByIdAsync(String id) {
return this.manager().inner().diagnosticSettings().deleteAsync(getResourceIdFromSettingsId(id), getNameFromSettingsId(id)).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 = getResourceIdFromSettingsId(id);
final String name = getNameFromSettingsId(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 DiagnosticSetting getById(String id) {
return wrapModel(this.inner().get(getResourceIdFromSettingsId(id), getNameFromSettingsId(id)));
}
@Override
public Observable getByIdAsync(String id) {
return this.inner().getAsync(getResourceIdFromSettingsId(id), getNameFromSettingsId(id))
.map(new Func1() {
@Override
public DiagnosticSetting call(DiagnosticSettingsResourceInner diagnosticSettingsResourceInner) {
return wrapModel(diagnosticSettingsResourceInner);
}
});
}
@Override
public ServiceFuture getByIdAsync(String id, ServiceCallback callback) {
return ServiceFuture.fromBody(getByIdAsync(id), callback);
}
private String getResourceIdFromSettingsId(String diagnosticSettingId) {
if (diagnosticSettingId == null) {
throw new IllegalArgumentException("Parameter 'resourceId' is required and cannot be null.");
}
int dsIdx = diagnosticSettingId.lastIndexOf(DiagnosticSettingImpl.DIAGNOSTIC_SETTINGS_URI);
if (dsIdx == -1) {
throw new IllegalArgumentException("Parameter 'resourceId' does not represent a valid Diagnostic Settings resource Id [" + diagnosticSettingId + "].");
}
return diagnosticSettingId.substring(0, dsIdx);
}
private String getNameFromSettingsId(String diagnosticSettingId) {
String resourceId = getResourceIdFromSettingsId(diagnosticSettingId);
return diagnosticSettingId.substring(resourceId.length() + DiagnosticSettingImpl.DIAGNOSTIC_SETTINGS_URI.length());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy