Search in sources :

Example 6 with Registry

use of com.microsoft.azure.management.containerregistry.Registry in project azure-sdk-for-java by Azure.

the class TestContainerRegistry method createResource.

@Override
public Registry createResource(Registries registries) throws Exception {
    final String newName = "registry" + this.testId;
    Registry registry = registries.define(newName).withRegion(Region.US_WEST).withNewResourceGroup().withNewStorageAccount("crsa" + this.testId).withRegistryNameAsAdminUser().create();
    Assert.assertTrue(registry.adminUserEnabled());
    Assert.assertEquals(registry.storageAccountName(), "crsa" + this.testId);
    RegistryListCredentials registryCredentials = registry.listCredentials();
    Assert.assertNotNull(registryCredentials);
    Assert.assertEquals(newName, registryCredentials.username());
    Assert.assertEquals(2, registryCredentials.passwords().size());
    return registry;
}
Also used : RegistryListCredentials(com.microsoft.azure.management.containerregistry.implementation.RegistryListCredentials) Registry(com.microsoft.azure.management.containerregistry.Registry)

Example 7 with Registry

use of com.microsoft.azure.management.containerregistry.Registry in project azure-tools-for-java by Microsoft.

the class ContainerRegistryPropertyViewPresenter method onListRepositories.

/**
 * Called when listing repositories of ACR.
 */
public void onListRepositories(String sid, String id, boolean isNextPage) {
    if (isSubscriptionIdAndResourceIdInValid(sid, id)) {
        return;
    }
    resetTagStack();
    Observable.fromCallable(() -> {
        Registry registry = ContainerRegistryMvpModel.getInstance().getContainerRegistry(sid, id);
        PrivateRegistryImageSetting setting = ContainerRegistryMvpModel.getInstance().createImageSettingWithRegistry(registry);
        Map<String, String> query = buildQueryMap(isNextPage, repoStack, nextRepo);
        Map<String, String> responseMap = ContainerExplorerMvpModel.getInstance().listRepositories(registry.loginServerUrl(), setting.getUsername(), setting.getPassword(), query);
        updatePaginationInfo(isNextPage, Type.REPO, responseMap.get(HEADER_LINK));
        Gson gson = new Gson();
        Catalog catalog = gson.fromJson(responseMap.get(BODY), Catalog.class);
        return catalog.getRepositories();
    }).subscribeOn(getSchedulerProvider().io()).subscribe(repos -> DefaultLoader.getIdeHelper().invokeLater(() -> {
        if (isViewDetached()) {
            return;
        }
        getMvpView().listRepo(repos);
    }), e -> errorHandler(CANNOT_GET_REPOS, (Exception) e));
}
Also used : PrivateRegistryImageSetting(com.microsoft.azuretools.core.mvp.model.webapp.PrivateRegistryImageSetting) Gson(com.google.gson.Gson) Registry(com.microsoft.azure.management.containerregistry.Registry) Catalog(com.microsoft.azuretools.core.mvp.model.container.pojo.Catalog)

Example 8 with Registry

use of com.microsoft.azure.management.containerregistry.Registry in project azure-tools-for-java by Microsoft.

the class ContainerRegistryPropertyView method pullImage.

private void pullImage() {
    final AzureString title = AzureOperationBundle.title("docker|image.pull", currentRepo);
    AzureTaskManager.getInstance().runInBackground(new AzureTask(null, title, false, () -> {
        try {
            if (Utils.isEmptyString(currentRepo) || Utils.isEmptyString(currentTag)) {
                throw new Exception(REPO_TAG_NOT_AVAILABLE);
            }
            final Registry registry = ContainerRegistryMvpModel.getInstance().getContainerRegistry(subscriptionId, registryId);
            final PrivateRegistryImageSetting setting = ContainerRegistryMvpModel.getInstance().createImageSettingWithRegistry(registry);
            final String image = String.format("%s:%s", currentRepo, currentTag);
            final String fullImageTagName = String.format("%s/%s", registry.loginServerUrl(), image);
            DockerClient docker = DefaultDockerClient.fromEnv().build();
            DockerUtil.pullImage(docker, registry.loginServerUrl(), setting.getUsername(), setting.getPassword(), fullImageTagName);
            String message = String.format(IMAGE_PULL_SUCCESS, fullImageTagName);
            UIUtils.showNotification(statusBar, message, MessageType.INFO);
            sendTelemetry(true, subscriptionId, null);
        } catch (Exception e) {
            UIUtils.showNotification(statusBar, e.getMessage(), MessageType.ERROR);
            sendTelemetry(false, subscriptionId, e.getMessage());
        }
    }));
}
Also used : PrivateRegistryImageSetting(com.microsoft.azuretools.core.mvp.model.webapp.PrivateRegistryImageSetting) DockerClient(com.spotify.docker.client.DockerClient) DefaultDockerClient(com.spotify.docker.client.DefaultDockerClient) Registry(com.microsoft.azure.management.containerregistry.Registry) AzureString(com.microsoft.azure.toolkit.lib.common.bundle.AzureString) AzureTask(com.microsoft.azure.toolkit.lib.common.task.AzureTask) AzureString(com.microsoft.azure.toolkit.lib.common.bundle.AzureString)

Example 9 with Registry

use of com.microsoft.azure.management.containerregistry.Registry in project azure-tools-for-java by Microsoft.

the class ContainerSettingPanel method listRegistries.

@Override
public void listRegistries(@NotNull final List<Registry> registries) {
    DefaultComboBoxModel<Object> model = (DefaultComboBoxModel<Object>) cbContainerRegistry.getModel();
    model.removeAllElements();
    model.addElement(SELECT_REGISTRY);
    for (Registry registry : registries) {
        model.addElement(registry);
    }
}
Also used : DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) Registry(com.microsoft.azure.management.containerregistry.Registry)

Example 10 with Registry

use of com.microsoft.azure.management.containerregistry.Registry in project azure-tools-for-java by Microsoft.

the class PushToContainerRegistryAction method runConfiguration.

@SuppressWarnings({ "deprecation", "Duplicates" })
private void runConfiguration(@NotNull Project project) {
    final RunManagerEx manager = RunManagerEx.getInstanceEx(project);
    final ConfigurationFactory factory = configType.getPushImageRunConfigurationFactory();
    RunnerAndConfigurationSettings settings = manager.findConfigurationByName(String.format("%s: %s", factory.getName(), project.getName()));
    Observable.fromCallable(() -> {
        Registry registry = ContainerRegistryMvpModel.getInstance().getContainerRegistry(currentNode.getSubscriptionId(), currentNode.getResourceId());
        return ContainerRegistryMvpModel.getInstance().createImageSettingWithRegistry(registry);
    }).subscribeOn(SchedulerProviderFactory.getInstance().getSchedulerProvider().io()).subscribe(ret -> {
        if (settings != null) {
            PushImageRunConfiguration conf = (PushImageRunConfiguration) settings.getConfiguration();
            PrivateRegistryImageSetting imageSetting = conf.getPrivateRegistryImageSetting();
            imageSetting.setServerUrl(ret.getServerUrl());
            imageSetting.setUsername(ret.getUsername());
            imageSetting.setPassword(ret.getPassword());
            AzureTaskManager.getInstance().runLater(() -> openRunDialog(project, settings));
            return;
        }
        AzureTaskManager.getInstance().runLater(() -> openRunDialog(project, ret));
    }, err -> {
        err.printStackTrace();
        Notification notification = new Notification(NOTIFICATION_GROUP_ID, DIALOG_TITLE, err.getMessage(), NotificationType.ERROR);
        Notifications.Bus.notify(notification);
    });
}
Also used : PrivateRegistryImageSetting(com.microsoft.azuretools.core.mvp.model.webapp.PrivateRegistryImageSetting) RunManagerEx(com.intellij.execution.RunManagerEx) ConfigurationFactory(com.intellij.execution.configurations.ConfigurationFactory) RunnerAndConfigurationSettings(com.intellij.execution.RunnerAndConfigurationSettings) PushImageRunConfiguration(com.microsoft.azure.toolkit.intellij.webapp.docker.pushimage.PushImageRunConfiguration) Registry(com.microsoft.azure.management.containerregistry.Registry) Notification(com.intellij.notification.Notification)

Aggregations

Registry (com.microsoft.azure.management.containerregistry.Registry)14 PrivateRegistryImageSetting (com.microsoft.azuretools.core.mvp.model.webapp.PrivateRegistryImageSetting)5 Azure (com.microsoft.azure.management.Azure)3 Test (org.junit.Test)3 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)3 Gson (com.google.gson.Gson)2 Registries (com.microsoft.azure.management.containerregistry.Registries)2 DefaultDockerClient (com.spotify.docker.client.DefaultDockerClient)2 DockerClient (com.spotify.docker.client.DockerClient)2 ArrayList (java.util.ArrayList)2 RunManagerEx (com.intellij.execution.RunManagerEx)1 RunnerAndConfigurationSettings (com.intellij.execution.RunnerAndConfigurationSettings)1 ConfigurationFactory (com.intellij.execution.configurations.ConfigurationFactory)1 Notification (com.intellij.notification.Notification)1 Page (com.microsoft.azure.Page)1 RegistryInner (com.microsoft.azure.management.containerregistry.implementation.RegistryInner)1 RegistryListCredentials (com.microsoft.azure.management.containerregistry.implementation.RegistryListCredentials)1 PushImageRunConfiguration (com.microsoft.azure.toolkit.intellij.webapp.docker.pushimage.PushImageRunConfiguration)1 AzureString (com.microsoft.azure.toolkit.lib.common.bundle.AzureString)1 Subscription (com.microsoft.azure.toolkit.lib.common.model.Subscription)1