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 @@ -5,6 +5,7 @@
### Features Added

- Supported `start` and `stop` for `KubernetesCluster`.
- Supported `listOrchestrators` for `KubernetesCluster`.

## 2.6.0 (2021-06-18)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@

import com.azure.core.http.rest.PagedFlux;
import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.PagedResponseBase;
import com.azure.core.util.CoreUtils;
import com.azure.resourcemanager.containerservice.ContainerServiceManager;
import com.azure.resourcemanager.containerservice.fluent.ManagedClustersClient;
import com.azure.resourcemanager.containerservice.fluent.models.CredentialResultsInner;
import com.azure.resourcemanager.containerservice.fluent.models.ManagedClusterInner;
import com.azure.resourcemanager.containerservice.fluent.models.OrchestratorVersionProfileListResultInner;
import com.azure.resourcemanager.containerservice.models.ContainerServiceResourceTypes;
import com.azure.resourcemanager.containerservice.models.CredentialResult;
import com.azure.resourcemanager.containerservice.models.KubernetesCluster;
import com.azure.resourcemanager.containerservice.models.KubernetesClusters;
Expand Down Expand Up @@ -129,6 +131,29 @@ public Mono<Set<String>> listKubernetesVersionsAsync(Region region) {
});
}

@Override
public PagedIterable<OrchestratorVersionProfile> listOrchestrators(Region region,
ContainerServiceResourceTypes resourceTypes) {
return new PagedIterable<>(this.listOrchestratorsAsync(region, resourceTypes));
}

@Override
public PagedFlux<OrchestratorVersionProfile> listOrchestratorsAsync(Region region,
ContainerServiceResourceTypes resourceTypes) {
return new PagedFlux<>(() -> this.manager().serviceClient().getContainerServices()
.listOrchestratorsWithResponseAsync(region.name(), resourceTypes.toString())
.map(response -> new PagedResponseBase<Void, OrchestratorVersionProfile>(
response.getRequest(),
response.getStatusCode(),
response.getHeaders(),
(response.getValue() == null || response.getValue().orchestrators() == null)
? Collections.emptyList()
: response.getValue().orchestrators(),
null,
null
)));
}

@Override
public List<CredentialResult> listAdminKubeConfigContent(String resourceGroupName, String kubernetesClusterName) {
return listAdminKubeConfigContentAsync(resourceGroupName, kubernetesClusterName).block();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.resourcemanager.containerservice.models;

import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;

import java.util.Collection;

/** Defines values for resource types from container service. */
public class ContainerServiceResourceTypes extends ExpandableStringEnum<ContainerServiceResourceTypes> {

/** Static value managedClusters for ContainerServiceResourceTypes. */
public static final ContainerServiceResourceTypes MANAGED_CLUSTERS = fromString("managedClusters");

/**
* Creates or finds a ContainerServiceResourceTypes from its string representation.
*
* @param name a name to look for.
* @return the corresponding ContainerServiceResourceTypes.
*/
@JsonCreator
public static ContainerServiceResourceTypes fromString(String name) {
return fromString(name, ContainerServiceResourceTypes.class);
}

/** @return known ExtendedLocationTypes values. */
public static Collection<ContainerServiceResourceTypes> values() {
return values(ContainerServiceResourceTypes.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
package com.azure.resourcemanager.containerservice.models;

import com.azure.core.annotation.Fluent;
import com.azure.core.http.rest.PagedFlux;
import com.azure.core.http.rest.PagedIterable;
import com.azure.resourcemanager.containerservice.ContainerServiceManager;
import com.azure.core.management.Region;
import com.azure.resourcemanager.resources.fluentcore.arm.collection.SupportsDeletingByResourceGroup;
Expand Down Expand Up @@ -49,6 +51,26 @@ public interface KubernetesClusters
*/
Mono<Set<String>> listKubernetesVersionsAsync(Region region);

/**
* Returns the list of available orchestrators for the given Azure region.
*
* @param region the Azure region to query into
* @param resourceTypes the resource type of container service
* @return a list of orchestrators which can be used when creating a service in this region
*/
PagedIterable<OrchestratorVersionProfile> listOrchestrators(Region region,
ContainerServiceResourceTypes resourceTypes);

/**
* Returns the list of available orchestrators for the given Azure region.
*
* @param region the Azure region to query into
* @param resourceTypes the resource type of container service
* @return a list of orchestrators which can be used when creating a service in this region
*/
PagedFlux<OrchestratorVersionProfile> listOrchestratorsAsync(Region region,
ContainerServiceResourceTypes resourceTypes);

/**
* Returns the admin Kube.config content which can be used with a Kubernetes client.
*
Expand Down