Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* 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.containerregistry.implementation;
import com.microsoft.azure.AzureEnvironment;
import com.microsoft.azure.AzureResponseBuilder;
import com.microsoft.azure.credentials.AzureTokenCredentials;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Beta.SinceVersion;
import com.microsoft.azure.management.containerregistry.Registries;
import com.microsoft.azure.management.containerregistry.RegistryTaskRuns;
import com.microsoft.azure.management.containerregistry.RegistryTasks;
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.fluentcore.arm.implementation.Manager;
import com.microsoft.azure.management.resources.fluentcore.utils.ProviderRegistrationInterceptor;
import com.microsoft.azure.management.resources.fluentcore.utils.ResourceManagerThrottlingInterceptor;
import com.microsoft.azure.management.storage.implementation.StorageManager;
import com.microsoft.azure.serializer.AzureJacksonAdapter;
import com.microsoft.rest.RestClient;
Entry point to Azure container registry management.
/**
* Entry point to Azure container registry management.
*/
@Beta(SinceVersion.V1_1_0)
public final class ContainerRegistryManager extends Manager<ContainerRegistryManager, ContainerRegistryManagementClientImpl> {
// The service managers
private RegistriesImpl registries;
private StorageManager storageManager;
private RegistryTasksImpl tasks;
private RegistryTaskRunsImpl registryTaskRuns;
Get a Configurable instance that can be used to create ContainerRegistryManager with optional configuration.
Returns: Configurable
/**
* Get a Configurable instance that can be used to create ContainerRegistryManager with optional configuration.
*
* @return Configurable
*/
public static Configurable configure() {
return new ContainerRegistryManager.ConfigurableImpl();
}
Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
Params: - credentials – the credentials to use
- subscriptionId – the subscription
Returns: the ContainerRegistryManager
/**
* Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
*
* @param credentials the credentials to use
* @param subscriptionId the subscription
* @return the ContainerRegistryManager
*/
public static ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
return new ContainerRegistryManager(new RestClient.Builder()
.withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER)
.withCredentials(credentials)
.withSerializerAdapter(new AzureJacksonAdapter())
.withResponseBuilderFactory(new AzureResponseBuilder.Factory())
.withInterceptor(new ProviderRegistrationInterceptor(credentials))
.withInterceptor(new ResourceManagerThrottlingInterceptor())
.build(), subscriptionId);
}
Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
Params: - restClient – the RestClient to be used for API calls.
- subscriptionId – the subscription
Returns: the ContainerRegistryManager
/**
* Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
*
* @param restClient the RestClient to be used for API calls.
* @param subscriptionId the subscription
* @return the ContainerRegistryManager
*/
public static ContainerRegistryManager authenticate(RestClient restClient, String subscriptionId) {
return new ContainerRegistryManager(restClient, subscriptionId);
}
The interface allowing configurations to be set.
/**
* The interface allowing configurations to be set.
*/
public interface Configurable extends AzureConfigurable<Configurable> {
Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
Params: - credentials – the credentials to use
- subscriptionId – the subscription
Returns: the ContainerRegistryManager
/**
* Creates an instance of ContainerRegistryManager that exposes Registry resource management API entry points.
*
* @param credentials the credentials to use
* @param subscriptionId the subscription
* @return the ContainerRegistryManager
*/
ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
}
The implementation for Configurable interface.
/**
* The implementation for Configurable interface.
*/
private static final class ConfigurableImpl extends AzureConfigurableImpl<Configurable> implements Configurable {
@Override
public ContainerRegistryManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
return ContainerRegistryManager.authenticate(buildRestClient(credentials), subscriptionId);
}
}
Creates a ContainerRegistryManager.
Params: - restClient – the RestClient used to authenticate through StorageManager.
- subscriptionId – the subscription id used in authentication through StorageManager.
/**
* Creates a ContainerRegistryManager.
*
* @param restClient the RestClient used to authenticate through StorageManager.
* @param subscriptionId the subscription id used in authentication through StorageManager.
*/
private ContainerRegistryManager(RestClient restClient, String subscriptionId) {
super(
restClient,
subscriptionId,
new ContainerRegistryManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
this.storageManager = StorageManager.authenticate(restClient, subscriptionId);
}
Returns: the availability set resource management API entry point
/**
* @return the availability set resource management API entry point
*/
public Registries containerRegistries() {
if (this.registries == null) {
this.registries = new RegistriesImpl(this, this.storageManager);
}
return this.registries;
}
Gets the current instance of ContainerRegistryManager's tasks.
Returns: the tasks of the current instance of ContainerRegistryManager.
/**
* Gets the current instance of ContainerRegistryManager's tasks.
*
* @return the tasks of the current instance of ContainerRegistryManager.
*/
@Beta
public RegistryTasks containerRegistryTasks() {
if (this.tasks == null) {
this.tasks = new RegistryTasksImpl(this);
}
return this.tasks;
}
Gets the current instance of ContainerRegistryManager's registry task runs.
Returns: the registry task runs of the current instance of ContainerRegistryManager.
/**
* Gets the current instance of ContainerRegistryManager's registry task runs.
*
* @return the registry task runs of the current instance of ContainerRegistryManager.
*/
@Beta
public RegistryTaskRuns registryTaskRuns() {
if (this.registryTaskRuns == null) {
this.registryTaskRuns = new RegistryTaskRunsImpl(this);
}
return this.registryTaskRuns;
}
}