All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.azure.management.powerbi.implementation.PowerBIManager Maven / Gradle / Ivy

There is a newer version: 1.10.0-beta
Show newest version
/**
 * 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.powerbi.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.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.serializer.AzureJacksonAdapter;
import com.microsoft.rest.RestClient;

/**
 * Entry point to Azure PowerBI resource management.
 */
@Beta(SinceVersion.V1_2_0)
public final class PowerBIManager extends Manager {
    /**
    * Get a Configurable instance that can be used to create PowerBIManager with optional configuration.
    *
    * @return the instance allowing configurations
    */
    public static Configurable configure() {
        return new PowerBIManager.ConfigurableImpl();
    }
    /**
    * Creates an instance of PowerBIManager that exposes PowerBI resource management API entry points.
    *
    * @param credentials the credentials to use
    * @param subscriptionId the subscription UUID
    * @return the PowerBIManager
    */
    public static PowerBIManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
        return new PowerBIManager(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 PowerBIManager that exposes PowerBI resource management API entry points.
    *
    * @param restClient the RestClient to be used for API calls.
    * @param subscriptionId the subscription UUID
    * @return the PowerBIManager
    */
    public static PowerBIManager authenticate(RestClient restClient, String subscriptionId) {
        return new PowerBIManager(restClient, subscriptionId);
    }
    /**
    * The interface allowing configurations to be set.
    */
    public interface Configurable extends AzureConfigurable {
        /**
        * Creates an instance of PowerBIManager that exposes PowerBI management API entry points.
        *
        * @param credentials the credentials to use
        * @param subscriptionId the subscription UUID
        * @return the interface exposing PowerBI management API entry points that work across subscriptions
        */
        PowerBIManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
    }
    /**
    * The implementation for Configurable interface.
    */
    private static final class ConfigurableImpl extends AzureConfigurableImpl implements Configurable {
        public PowerBIManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
           return PowerBIManager.authenticate(buildRestClient(credentials), subscriptionId);
        }
     }
    private PowerBIManager(RestClient restClient, String subscriptionId) {
        super(
            restClient,
            subscriptionId,
            new PowerBIEmbeddedManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy