Skip to content
Closed
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
14 changes: 14 additions & 0 deletions sdk/containerservice/arm-containerservice/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Release History

## 19.2.0 (2023-07-27)

**Features**

- Added Interface DelegatedResource
- Added Interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler
- Added Type Alias NodeOSUpgradeChannel
- Interface AgentPoolUpgradeSettings has a new optional parameter drainTimeoutInMinutes
- Interface ManagedClusterAutoUpgradeProfile has a new optional parameter nodeOSUpgradeChannel
- Interface ManagedClusterIdentity has a new optional parameter delegatedResources
- Interface ManagedClusterWorkloadAutoScalerProfile has a new optional parameter verticalPodAutoscaler
- Added Enum KnownNodeOSUpgradeChannel


## 19.1.0 (2023-07-03)

**Features**
Expand Down
8 changes: 4 additions & 4 deletions sdk/containerservice/arm-containerservice/_meta.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"commit": "64efc48302878a07d1d1231eaed0ca9cadfaf037",
"commit": "dc8e57407efc3c2557cf6aaa1e6384df590bf2b3",
"readme": "specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md",
"autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\containerservice\\resource-manager\\Microsoft.ContainerService\\aks\\readme.md --use=@autorest/typescript@6.0.5 --generate-sample=true",
"autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/readme.md --use=@autorest/typescript@^6.0.4",
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
"release_tool": "@azure-tools/js-sdk-release-tools@2.7.0",
"use": "@autorest/typescript@6.0.5"
"release_tool": "@azure-tools/js-sdk-release-tools@2.7.1",
"use": "@autorest/typescript@^6.0.4"
}
14 changes: 3 additions & 11 deletions sdk/containerservice/arm-containerservice/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
"sdk-type": "mgmt",
"author": "Microsoft Corporation",
"description": "A generated SDK for ContainerServiceClient.",
"version": "19.1.0",
"version": "19.2.0",
"engines": {
"node": ">=14.0.0"
},
"dependencies": {
"@azure/core-lro": "^2.5.3",
"@azure/core-lro": "^2.5.4",
"@azure/abort-controller": "^1.0.0",
"@azure/core-paging": "^1.2.0",
"@azure/core-client": "^1.7.0",
Expand Down Expand Up @@ -111,13 +111,5 @@
]
},
"autoPublish": true,
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice",
"//sampleConfiguration": {
"productName": "",
"productSlugs": [
"azure"
],
"disableDocsMs": true,
"apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-containerservice?view=azure-node-preview"
}
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/containerservice/arm-containerservice"
}
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ export interface AgentPoolUpgradeProfilePropertiesUpgradesItem {

// @public
export interface AgentPoolUpgradeSettings {
drainTimeoutInMinutes?: number;
maxSurge?: string;
}

Expand Down Expand Up @@ -340,6 +341,14 @@ export interface DateSpan {
start: Date;
}

// @public
export interface DelegatedResource {
location?: string;
referralResource?: string;
resourceId?: string;
tenantId?: string;
}

// @public
export interface EndpointDependency {
domainName?: string;
Expand Down Expand Up @@ -532,6 +541,13 @@ export enum KnownNetworkPolicy {
Cilium = "cilium"
}

// @public
export enum KnownNodeOSUpgradeChannel {
NodeImage = "NodeImage",
None = "None",
Unmanaged = "Unmanaged"
}

// @public
export enum KnownOSDiskType {
Ephemeral = "Ephemeral",
Expand Down Expand Up @@ -900,6 +916,7 @@ export interface ManagedClusterAPIServerAccessProfile {

// @public
export interface ManagedClusterAutoUpgradeProfile {
nodeOSUpgradeChannel?: NodeOSUpgradeChannel;
upgradeChannel?: UpgradeChannel;
}

Expand Down Expand Up @@ -930,6 +947,9 @@ export interface ManagedClusterHttpProxyConfig {

// @public
export interface ManagedClusterIdentity {
delegatedResources?: {
[propertyName: string]: DelegatedResource;
};
readonly principalId?: string;
readonly tenantId?: string;
type?: ResourceIdentityType;
Expand Down Expand Up @@ -1462,13 +1482,19 @@ export interface ManagedClusterWindowsProfile {
// @public
export interface ManagedClusterWorkloadAutoScalerProfile {
keda?: ManagedClusterWorkloadAutoScalerProfileKeda;
verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler;
}

// @public
export interface ManagedClusterWorkloadAutoScalerProfileKeda {
enabled: boolean;
}

// @public
export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {
enabled: boolean;
}

// @public (undocumented)
export interface ManagedServiceIdentityUserAssignedIdentitiesValue {
readonly clientId?: string;
Expand All @@ -1490,6 +1516,9 @@ export type NetworkPluginMode = string;
// @public
export type NetworkPolicy = string;

// @public
export type NodeOSUpgradeChannel = string;

// @public
export interface OperationListResult {
readonly value?: OperationValue[];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export class ContainerServiceClient extends coreClient.ServiceClient {
credential: credentials
};

const packageDetails = `azsdk-js-arm-containerservice/19.1.0`;
const packageDetails = `azsdk-js-arm-containerservice/19.2.0`;
const userAgentPrefix =
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
Expand Down Expand Up @@ -121,7 +121,7 @@ export class ContainerServiceClient extends coreClient.ServiceClient {

// Assigning values to Constant parameters
this.$host = options.$host || "https://management.azure.com";
this.apiVersion = options.apiVersion || "2023-05-01";
this.apiVersion = options.apiVersion || "2023-06-01";
this.operations = new OperationsImpl(this);
this.managedClusters = new ManagedClustersImpl(this);
this.maintenanceConfigurations = new MaintenanceConfigurationsImpl(this);
Expand Down
51 changes: 49 additions & 2 deletions sdk/containerservice/arm-containerservice/src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,12 +168,26 @@ export interface ManagedClusterIdentity {
readonly tenantId?: string;
/** For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). */
type?: ResourceIdentityType;
/** The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. */
delegatedResources?: { [propertyName: string]: DelegatedResource };
/** The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */
userAssignedIdentities?: {
[propertyName: string]: ManagedServiceIdentityUserAssignedIdentitiesValue;
};
}

/** Delegated resource properties - internal use only. */
export interface DelegatedResource {
/** The ARM resource id of the delegated resource - internal use only. */
resourceId?: string;
/** The tenant id of the delegated resource - internal use only. */
tenantId?: string;
/** The delegation id of the referral delegation (optional) - internal use only. */
referralResource?: string;
/** The source resource location - internal use only. */
location?: string;
}

export interface ManagedServiceIdentityUserAssignedIdentitiesValue {
/**
* The principal id of user assigned identity.
Expand Down Expand Up @@ -292,6 +306,8 @@ export interface ManagedClusterAgentPoolProfileProperties {
export interface AgentPoolUpgradeSettings {
/** This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade */
maxSurge?: string;
/** The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. */
drainTimeoutInMinutes?: number;
}

/** See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. */
Expand Down Expand Up @@ -664,6 +680,8 @@ export interface ManagedClusterAADProfile {
export interface ManagedClusterAutoUpgradeProfile {
/** For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). */
upgradeChannel?: UpgradeChannel;
/** Manner in which the OS on your nodes is updated. The default is NodeImage. */
nodeOSUpgradeChannel?: NodeOSUpgradeChannel;
}

/** Parameters to be applied to the cluster-autoscaler when enabled */
Expand Down Expand Up @@ -841,6 +859,8 @@ export interface ManagedClusterStorageProfileBlobCSIDriver {
export interface ManagedClusterWorkloadAutoScalerProfile {
/** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */
keda?: ManagedClusterWorkloadAutoScalerProfileKeda;
/** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */
verticalPodAutoscaler?: ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler;
}

/** KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. */
Expand All @@ -849,6 +869,12 @@ export interface ManagedClusterWorkloadAutoScalerProfileKeda {
enabled: boolean;
}

/** VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. */
export interface ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler {
/** Whether to enable VPA. Default value is false. */
enabled: boolean;
}

/** Azure Monitor addon profiles for monitoring the managed cluster. */
export interface ManagedClusterAzureMonitorProfile {
/** Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See aka.ms/AzureManagedPrometheus for an overview. */
Expand Down Expand Up @@ -2193,7 +2219,7 @@ export enum KnownUpgradeChannel {
Stable = "stable",
/** Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. */
Patch = "patch",
/** Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available. */
/** Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching */
NodeImage = "node-image",
/** Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. */
None = "none"
Expand All @@ -2207,11 +2233,32 @@ export enum KnownUpgradeChannel {
* **rapid**: Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1. \
* **stable**: Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. \
* **patch**: Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. \
* **node-image**: Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available. \
* **node-image**: Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel instead as that allows you to configure node OS patching separate from Kubernetes version patching \
* **none**: Disables auto-upgrades and keeps the cluster at its current version of Kubernetes.
*/
export type UpgradeChannel = string;

/** Known values of {@link NodeOSUpgradeChannel} that the service accepts. */
export enum KnownNodeOSUpgradeChannel {
/** No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates */
None = "None",
/** OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice */
Unmanaged = "Unmanaged",
/** AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. */
NodeImage = "NodeImage"
}

/**
* Defines values for NodeOSUpgradeChannel. \
* {@link KnownNodeOSUpgradeChannel} can be used interchangeably with NodeOSUpgradeChannel,
* this enum contains the known values that the service supports.
* ### Known values supported by the service
* **None**: No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means you are responsible for your security updates \
* **Unmanaged**: OS updates will be applied automatically through the OS built-in patching infrastructure. Newly scaled in machines will be unpatched initially and will be patched at some point by the OS's infrastructure. Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option is equivalent to None till further notice \
* **NodeImage**: AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images.
*/
export type NodeOSUpgradeChannel = string;

/** Known values of {@link Expander} that the service accepts. */
export enum KnownExpander {
/** Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources. */
Expand Down
Loading