Skip to content
Merged
Show file tree
Hide file tree
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 @@ -83,7 +83,7 @@ private ResourceManager resourceClient() {
if (restClient == null) {
resourceClient = ResourceManager
.authenticate(restClient)
.useSubscription(subscriptionId);
.withSubscription(subscriptionId);
}
return resourceClient;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.microsoft.azure.management.resources.implementation.ResourceConnectorBase;
import com.microsoft.rest.RestClient;

public class ComputeResourceConnector extends ResourceConnectorBase<ComputeResourceConnector> {
public class ComputeResourceConnector extends ResourceConnectorBase {
private ComputeManager computeClient;
private AvailabilitySets.InGroup availabilitySets;
private VirtualMachines.InGroup virtualMachines;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.microsoft.azure.management.resources;

import com.microsoft.azure.CloudException;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsGetting;
import com.microsoft.azure.management.resources.fluentcore.collection.SupportsListing;

import java.io.IOException;

public interface Providers extends
SupportsListing<Provider>,
SupportsGetting<Provider> {
Provider unregister(String resourceProviderNamespace) throws CloudException, IOException;
Provider register(String resourceProviderNamespace) throws CloudException, IOException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import com.microsoft.rest.RestClient;

public interface ResourceConnector<T extends ResourceConnector> {
interface Builder<T> {
public interface ResourceConnector {
interface Builder<T extends ResourceConnector> {
T create(RestClient restClient, String subscriptionId, ResourceGroup resourceGroup);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
public class AzureConfigurableImpl<T extends AzureConfigurable<T>>
implements AzureConfigurable<T> {
protected RestClient.Builder restClientBuilder;
protected RestClient restClient;

protected AzureConfigurableImpl() {
this.restClientBuilder = new RestClient.Builder("https://management.azure.com");
Expand All @@ -33,7 +32,7 @@ public T withUserAgent(String userAgent) {
return (T) this;
}

protected void buildRestClient(ServiceClientCredentials credentials) {
restClient = restClientBuilder.withCredentials(credentials).build();
protected RestClient buildRestClient(ServiceClientCredentials credentials) {
return restClientBuilder.withCredentials(credentials).build();
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.microsoft.azure.management.resources.ResourceGroup;
import com.microsoft.rest.RestClient;

public class ARMResourceConnector extends ResourceConnectorBase<ARMResourceConnector> {
public class ARMResourceConnector extends ResourceConnectorBase {
private ResourceManager resourceClient;
private GenericResources.InGroup genericResources;
private Deployments.InGroup deployments;
Expand Down Expand Up @@ -43,7 +43,7 @@ private ResourceManager resourceClient() {
if (resourceClient == null) {
resourceClient = ResourceManager
.authenticate(restClient)
.useSubscription(subscriptionId);
.withSubscription(subscriptionId);
}
return resourceClient;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@

import java.util.List;

public class ProviderImpl extends
class ProviderImpl extends
IndexableWrapperImpl<ProviderInner>
implements
Provider {

public ProviderImpl(ProviderInner provider) {
ProviderImpl(ProviderInner provider) {
super(provider.id(), provider);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.microsoft.azure.management.resources.implementation;

import com.microsoft.azure.CloudException;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.resources.Provider;
import com.microsoft.azure.management.resources.Providers;
import com.microsoft.azure.management.resources.fluentcore.utils.PagedListConverter;
import com.microsoft.azure.management.resources.implementation.api.ProviderInner;
import com.microsoft.azure.management.resources.implementation.api.ProvidersInner;

import java.io.IOException;

final class ProvidersImpl
implements Providers {
private final ProvidersInner client;

ProvidersImpl(final ProvidersInner client) {
this.client = client;
}

@Override
public PagedList<Provider> list() throws CloudException, IOException {
PagedListConverter<ProviderInner, Provider> converter = new PagedListConverter<ProviderInner, Provider>() {
@Override
public Provider typeConvert(ProviderInner providerInner) {
return new ProviderImpl(providerInner);
}
};
return converter.convert(client.list().getBody());
}

@Override
public Provider unregister(String resourceProviderNamespace) throws CloudException, IOException {
return new ProviderImpl(client.unregister(resourceProviderNamespace).getBody());
}

@Override
public Provider register(String resourceProviderNamespace) throws CloudException, IOException {
return new ProviderImpl(client.register(resourceProviderNamespace).getBody());
}

@Override
public Provider get(String resourceProviderNamespace) throws CloudException, IOException {
return new ProviderImpl(client.get(resourceProviderNamespace).getBody());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.microsoft.azure.management.resources.ResourceGroup;
import com.microsoft.rest.RestClient;

public class ResourceConnectorBase<T extends ResourceConnector> implements ResourceConnector<T> {
public class ResourceConnectorBase implements ResourceConnector {
protected final RestClient restClient;
protected final String subscriptionId;
protected final ResourceGroup resourceGroup;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,133 +9,128 @@
import com.microsoft.azure.management.resources.*;
import com.microsoft.azure.management.resources.fluentcore.arm.AzureConfigurable;
import com.microsoft.azure.management.resources.fluentcore.arm.implementation.AzureConfigurableImpl;
import com.microsoft.azure.management.resources.implementation.api.FeatureClientImpl;
import com.microsoft.azure.management.resources.implementation.api.ResourceManagementClientImpl;
import com.microsoft.azure.management.resources.implementation.api.SubscriptionClientImpl;
import com.microsoft.rest.RestClient;
import com.microsoft.rest.credentials.ServiceClientCredentials;

public final class ResourceManager {
private RestClient restClient;
private String subscriptionId;
// The sdk clients
private ResourceManagementClientImpl resourceManagementClient;
private final ResourceManagementClientImpl resourceManagementClient;
private final FeatureClientImpl featureClient;
// The collections
ResourceGroups resourceGroups;
GenericResources genericResources;
Deployments deployments;
Deployments.InGroup deploymentsInGroup;

public static Configure configure() {
return new ResourceManager().new ConfigurableImpl();
}
private ResourceGroups resourceGroups;
private GenericResources genericResources;
private Deployments deployments;
private Features features;
private Providers providers;

public static ResourceManager.Authenticated authenticate(ServiceClientCredentials credentials) {
return (new ResourceManager(credentials)).new AuthenticatedImpl();
return new AuthenticatedImpl(new RestClient
.Builder("https://management.azure.com")
.withCredentials(credentials)
.build());
}

public static ResourceManager.Authenticated authenticate(RestClient restClient) {
return (new ResourceManager(restClient)).new AuthenticatedImpl();
return new AuthenticatedImpl(restClient);
}

public interface Configure extends AzureConfigurable<Configure> {
public static Configurable configure() {
return new ResourceManager.ConfigurableImpl();
}

public interface Configurable extends AzureConfigurable<Configurable> {
ResourceManager.Authenticated authenticate(ServiceClientCredentials credentials);
}

class ConfigurableImpl extends AzureConfigurableImpl<Configure> implements Configure {
private static class ConfigurableImpl extends AzureConfigurableImpl<Configurable> implements Configurable {
public ResourceManager.Authenticated authenticate(ServiceClientCredentials credentials) {
buildRestClient(credentials);
return ResourceManager.authenticate(restClient);
return ResourceManager.authenticate(buildRestClient(credentials));
}
}

public interface Authenticated {
Tenants tenants();
Subscriptions subscriptions();
ResourceManager useSubscription(String subscriptionId);
ResourceManager withSubscription(String subscriptionId);
}

class AuthenticatedImpl implements Authenticated {
private static final class AuthenticatedImpl implements Authenticated {
private RestClient restClient;
private SubscriptionClientImpl subscriptionClient;
// The subscription less collections
private Subscriptions subscriptions;
private Tenants tenants;

public AuthenticatedImpl() {}
AuthenticatedImpl(RestClient restClient) {
this.restClient = restClient;
this.subscriptionClient = new SubscriptionClientImpl(restClient);
}

public Subscriptions subscriptions() {
if (subscriptions == null) {
subscriptions = new SubscriptionsImpl(subscriptionClient().subscriptions());
subscriptions = new SubscriptionsImpl(subscriptionClient.subscriptions());
}
return subscriptions;
}

public Tenants tenants() {
if (tenants == null) {
tenants = new TenantsImpl(subscriptionClient().tenants());
tenants = new TenantsImpl(subscriptionClient.tenants());
}
return tenants;
}

public ResourceManager useSubscription(String subscriptionId) {
ResourceManager.this.subscriptionId = subscriptionId;
return ResourceManager.this;
}

private SubscriptionClientImpl subscriptionClient() {
if (subscriptionClient == null) {
subscriptionClient = new SubscriptionClientImpl(restClient);
}
return subscriptionClient;
@Override
public ResourceManager withSubscription(String subscriptionId) {
return new ResourceManager(restClient, subscriptionId);
}
}

private ResourceManager(ServiceClientCredentials credentials) {
this.restClient = new RestClient
.Builder("https://management.azure.com")
.withCredentials(credentials)
.build();
private ResourceManager(RestClient restClient, String subscriptionId) {
this.resourceManagementClient = new ResourceManagementClientImpl(restClient);
this.resourceManagementClient.setSubscriptionId(subscriptionId);
this.featureClient = new FeatureClientImpl(restClient);
this.featureClient.setSubscriptionId(subscriptionId);
}

private ResourceManager(RestClient restClient) {
this.restClient = restClient;
}

private ResourceManager() {}

public ResourceGroups resourceGroups() {
if (resourceGroups == null) {
resourceGroups = new ResourceGroupsImpl(resourceManagementClient());
resourceGroups = new ResourceGroupsImpl(resourceManagementClient);
}
return resourceGroups;
}

public GenericResources genericResources() {
if (genericResources == null) {
genericResources = new GenericResourcesImpl(resourceManagementClient());
genericResources = new GenericResourcesImpl(resourceManagementClient);
}
return genericResources;
}

public Deployments deployments() {
if (deployments == null) {
ResourceManagementClientImpl client = resourceManagementClient();
deployments = new DeploymentsImpl(client.deployments(), client.deploymentOperations(), resourceGroups());
deployments = new DeploymentsImpl(
resourceManagementClient.deployments(),
resourceManagementClient.deploymentOperations(),
resourceGroups());
}
return deployments;
}

public Deployments.InGroup deployments(ResourceGroup resourceGroup) {
if (deploymentsInGroup == null) {
deploymentsInGroup = new DeploymentsInGroupImpl(deployments(), resourceGroup);
public Features features() {
if (features == null) {
features = new FeaturesImpl(featureClient.features());
}
return deploymentsInGroup;
return features;
}

private ResourceManagementClientImpl resourceManagementClient() {
if (resourceManagementClient == null) {
resourceManagementClient = new ResourceManagementClientImpl(restClient);
resourceManagementClient.setSubscriptionId(subscriptionId);
public Providers providers() {
if (providers == null) {
providers = new ProvidersImpl(resourceManagementClient.providers());
}
return resourceManagementClient;
return providers;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@

import com.microsoft.azure.credentials.ApplicationTokenCredentials;
import com.microsoft.azure.management.resources.implementation.ResourceManager;
import okhttp3.logging.HttpLoggingInterceptor;

public abstract class ResourceManagerTestBase {
protected static ResourceManager resourceClient;

public static void createClient() throws Exception {
resourceClient = ResourceManager.authenticate(
resourceClient = ResourceManager
.configure()
.withLogLevel(HttpLoggingInterceptor.Level.BASIC)
.authenticate(
new ApplicationTokenCredentials(
System.getenv("arm.clientid"),
System.getenv("arm.domain"),
System.getenv("arm.secret"),
null)
).useSubscription(System.getenv("arm.subscriptionid"));
).withSubscription(System.getenv("arm.subscriptionid"));
}
}
Loading