diff --git a/common/smoke-tests/pom.xml b/common/smoke-tests/pom.xml
index 65f1f9fba298..b0d4e43f23c7 100644
--- a/common/smoke-tests/pom.xml
+++ b/common/smoke-tests/pom.xml
@@ -130,7 +130,7 @@
com.azure
azure-security-keyvault-secrets
- 4.2.8
+ 4.3.0
diff --git a/eng/common/README.md b/eng/common/README.md
index b9867f0705e2..732688daadc0 100644
--- a/eng/common/README.md
+++ b/eng/common/README.md
@@ -1,3 +1,3 @@
# Common Engineering System
-Updates under this directory should only be made in the `azure-sdk-tools` repo as any changes under this directory outside of that repo will end up getting overwritten with future updates. For information about making updates see [common engineering system docs](https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md)
+Updates under this directory should only be made in the `azure-sdk-tools` repo as any changes under this directory outside of that repo will end up getting overwritten with future updates. For information about making updates see [common engineering system docs](https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md)
diff --git a/eng/common/docgeneration/Generate-DocIndex.ps1 b/eng/common/docgeneration/Generate-DocIndex.ps1
index 82b3a75e4e53..cf9b5f06ff95 100644
--- a/eng/common/docgeneration/Generate-DocIndex.ps1
+++ b/eng/common/docgeneration/Generate-DocIndex.ps1
@@ -177,5 +177,5 @@ else
{
LogWarning "The function for 'GetGithubIoDocIndexFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
}
diff --git a/eng/common/pipelines/templates/steps/check-spelling.yml b/eng/common/pipelines/templates/steps/check-spelling.yml
index 3865a3f26ece..986d729fc30c 100644
--- a/eng/common/pipelines/templates/steps/check-spelling.yml
+++ b/eng/common/pipelines/templates/steps/check-spelling.yml
@@ -2,7 +2,7 @@
# and some ref (branch, tag, etc.) or commit hash. Only runs on PRs.
# ContinueOnError - true: Pipeline warns on spelling error
# false: Pipeline fails on spelling error
-# TargetBranch - Target ref (e.g. master) to compare to create file change
+# TargetBranch - Target ref (e.g. main) to compare to create file change
# list.
# CspellConfigPath - Path to cspell.json config location
diff --git a/eng/common/pipelines/templates/steps/docs-metadata-release.yml b/eng/common/pipelines/templates/steps/docs-metadata-release.yml
index b3c844422585..2f58b90d4d10 100644
--- a/eng/common/pipelines/templates/steps/docs-metadata-release.yml
+++ b/eng/common/pipelines/templates/steps/docs-metadata-release.yml
@@ -26,7 +26,7 @@ parameters:
default: ''
- name: PRBranchName
type: string
- default: 'master-rdme'
+ default: 'main-rdme'
- name: PRLabels
type: string
default: 'auto-merge'
diff --git a/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml b/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml
index 0125e6cbacee..b68e1cd0c27a 100644
--- a/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml
+++ b/eng/common/pipelines/templates/steps/eng-common-workflow-enforcer.yml
@@ -16,7 +16,7 @@ steps:
if (($LASTEXITCODE -eq 0) -and ($filesInCommonDir.Count -gt 0))
{
Write-Host "##vso[task.LogIssue type=error;]Changes to files under 'eng/common' directory should not be made in this Repo`n${filesInCommonDir}"
- Write-Host "##vso[task.LogIssue type=error;]Please follow workflow at https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md"
+ Write-Host "##vso[task.LogIssue type=error;]Please follow workflow at https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md"
exit 1
}
}
diff --git a/eng/common/pipelines/templates/steps/install-pipeline-generation.yml b/eng/common/pipelines/templates/steps/install-pipeline-generation.yml
index d0da703285f3..d368d52595b3 100644
--- a/eng/common/pipelines/templates/steps/install-pipeline-generation.yml
+++ b/eng/common/pipelines/templates/steps/install-pipeline-generation.yml
@@ -9,7 +9,7 @@ steps:
- script: >
dotnet tool install
Azure.Sdk.Tools.PipelineGenerator
- --version 1.0.2-dev.20210309.1
+ --version 1.0.2-dev.20210621.4
--add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk/nuget/v3/index.json
--tool-path ${{parameters.ToolPath}}
workingDirectory: $(Pipeline.Workspace)/pipeline-generator
diff --git a/eng/common/pipelines/templates/steps/set-default-branch.yml b/eng/common/pipelines/templates/steps/set-default-branch.yml
index e3eed4512d97..491edaa8b68d 100644
--- a/eng/common/pipelines/templates/steps/set-default-branch.yml
+++ b/eng/common/pipelines/templates/steps/set-default-branch.yml
@@ -5,8 +5,8 @@ steps:
- pwsh: |
$setDefaultBranch = (git remote show ${{ parameters.RemoteRepo }} | Out-String) -replace "(?ms).*HEAD branch: (\w+).*", '$1'
if ($LASTEXITCODE -ne 0) {
- Write-Host "Not able to fetch the default branch from git command. Set to master."
- $setDefaultBranch = 'master'
+ Write-Host "Not able to fetch the default branch from git command. Set to main."
+ $setDefaultBranch = 'main'
}
Write-Host "Setting DefaultBranch=$setDefaultBranch"
Write-Host "##vso[task.setvariable variable=DefaultBranch]$setDefaultBranch"
diff --git a/eng/common/scripts/Create-APIReview.ps1 b/eng/common/scripts/Create-APIReview.ps1
index 8b9007253274..0ef5e0ba6818 100644
--- a/eng/common/scripts/Create-APIReview.ps1
+++ b/eng/common/scripts/Create-APIReview.ps1
@@ -71,7 +71,7 @@ else
{
Write-Host "The function for 'FindArtifactForApiReviewFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
exit(1)
}
@@ -104,7 +104,7 @@ if ($packages)
Write-Host "Version: $($version)"
Write-Host "SDK Type: $($pkgInfo.SdkType)"
- # Run create review step only if build is triggered from master branch or if version is GA.
+ # Run create review step only if build is triggered from main branch or if version is GA.
# This is to avoid invalidating review status by a build triggered from feature branch
if ( ($SourceBranch -eq $DefaultBranch) -or (-not $version.IsPrerelease))
{
diff --git a/eng/common/scripts/Package-Properties.ps1 b/eng/common/scripts/Package-Properties.ps1
index 3aadc8d58064..64698a181b7e 100644
--- a/eng/common/scripts/Package-Properties.ps1
+++ b/eng/common/scripts/Package-Properties.ps1
@@ -126,7 +126,7 @@ function Get-AllPkgProperties ([string]$ServiceDirectory = $null)
return $pkgPropsResult
}
-# Given the metadata url under https://github.com/Azure/azure-sdk/tree/master/_data/releases/latest,
+# Given the metadata url under https://github.com/Azure/azure-sdk/tree/main/_data/releases/latest,
# the function will return the csv metadata back as part of response.
function Get-CSVMetadata ([string]$MetadataUri=$MetadataUri)
{
@@ -143,7 +143,7 @@ function Get-PkgPropsForEntireService ($serviceDirectoryPath)
{
LogError "The function for '$GetPackageInfoFromRepoFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
}
foreach ($directory in (Get-ChildItem $serviceDirectoryPath -Directory))
diff --git a/eng/common/scripts/Prepare-Release.ps1 b/eng/common/scripts/Prepare-Release.ps1
index eed113299a2e..95f175d3fdaf 100644
--- a/eng/common/scripts/Prepare-Release.ps1
+++ b/eng/common/scripts/Prepare-Release.ps1
@@ -180,7 +180,7 @@ else
{
LogError "The function 'SetPackageVersion' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
exit 1
}
diff --git a/eng/common/scripts/Update-DocsMsPackages.ps1 b/eng/common/scripts/Update-DocsMsPackages.ps1
index 2d43127b2b14..4292200f3b6f 100644
--- a/eng/common/scripts/Update-DocsMsPackages.ps1
+++ b/eng/common/scripts/Update-DocsMsPackages.ps1
@@ -31,6 +31,6 @@ if ($UpdateDocsMsPackagesFn -and (Test-Path "Function:$UpdateDocsMsPackagesFn"))
} else {
LogError "The function for '$UpdateFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
exit 1
}
diff --git a/eng/common/scripts/artifact-metadata-parsing.ps1 b/eng/common/scripts/artifact-metadata-parsing.ps1
index 2339155b359d..dc96ee917288 100644
--- a/eng/common/scripts/artifact-metadata-parsing.ps1
+++ b/eng/common/scripts/artifact-metadata-parsing.ps1
@@ -101,7 +101,7 @@ function RetrievePackages($artifactLocation) {
{
LogError "The function for '$GetPackageInfoFromPackageFileFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
}
}
diff --git a/eng/common/scripts/copy-docs-to-blobstorage.ps1 b/eng/common/scripts/copy-docs-to-blobstorage.ps1
index 7864e9680f1f..f037dcf51e4f 100644
--- a/eng/common/scripts/copy-docs-to-blobstorage.ps1
+++ b/eng/common/scripts/copy-docs-to-blobstorage.ps1
@@ -240,6 +240,6 @@ else
{
LogWarning "The function for '$PublishGithubIODocsFn' was not found.`
Make sure it is present in eng/scripts/Language-Settings.ps1 and referenced in eng/common/scripts/common.ps1.`
- See https://github.com/Azure/azure-sdk-tools/blob/master/doc/common/common_engsys.md#code-structure"
+ See https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md#code-structure"
}
diff --git a/eng/common/scripts/update-docs-metadata.ps1 b/eng/common/scripts/update-docs-metadata.ps1
index fc16fea9e552..6154afd51591 100644
--- a/eng/common/scripts/update-docs-metadata.ps1
+++ b/eng/common/scripts/update-docs-metadata.ps1
@@ -24,7 +24,7 @@ param (
. (Join-Path $PSScriptRoot common.ps1)
-$releaseReplaceRegex = "(https://github.com/$RepoId/(?:blob|tree)/)master"
+$releaseReplaceRegex = "(https://github.com/$RepoId/(?:blob|tree)/)main"
function GetMetaData {
if (Test-Path Variable:MetadataUri) {
diff --git a/eng/jacoco-test-coverage/pom.xml b/eng/jacoco-test-coverage/pom.xml
index 0d7daceca24d..23149807912d 100644
--- a/eng/jacoco-test-coverage/pom.xml
+++ b/eng/jacoco-test-coverage/pom.xml
@@ -224,7 +224,7 @@
com.azure
azure-messaging-servicebus
- 7.2.3
+ 7.3.0-beta.3
com.azure
@@ -249,22 +249,22 @@
com.azure
azure-security-keyvault-administration
- 4.0.0
+ 4.1.0-beta.1
com.azure
azure-security-keyvault-certificates
- 4.2.0
+ 4.3.0-beta.1
com.azure
azure-security-keyvault-keys
- 4.3.0
+ 4.4.0-beta.1
com.azure
azure-security-keyvault-secrets
- 4.3.0
+ 4.4.0-beta.1
com.azure
diff --git a/eng/mgmt/pull-request.py b/eng/mgmt/pull-request.py
index 96ed368ccc7f..b92c3b2c7ceb 100644
--- a/eng/mgmt/pull-request.py
+++ b/eng/mgmt/pull-request.py
@@ -12,7 +12,7 @@ def create_pull_request(owner, repo, title, head, auth = os.environ.get("GITHUB_
auth = (auth, ""),
json = {
"title": title,
- "base": "master",
+ "base": "main",
"head": head,
}
)
diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index f03bf031f4d8..fd3bfd0a0e33 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -94,7 +94,7 @@ com.azure:azure-messaging-eventhubs;5.8.0;5.9.0-beta.1
com.azure:azure-messaging-eventhubs-checkpointstore-blob;1.8.0;1.9.0-beta.1
com.azure:azure-messaging-eventhubs-track1-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-messaging-eventhubs-track2-perf;1.0.0-beta.1;1.0.0-beta.1
-com.azure:azure-messaging-servicebus;7.2.2;7.2.3
+com.azure:azure-messaging-servicebus;7.2.3;7.3.0-beta.3
com.azure:azure-messaging-servicebus-track1-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-messaging-servicebus-track2-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-messaging-webpubsub;1.0.0-beta.2;1.0.0-beta.3
@@ -107,12 +107,12 @@ com.azure:azure-search-documents;11.4.0;11.5.0-beta.1
com.azure:azure-search-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-security-attestation;1.0.0-beta.1;1.0.0-beta.2
com.azure:azure-security-confidentialledger;1.0.0-beta.2;1.0.0-beta.3
-com.azure:azure-security-keyvault-administration;4.0.0-beta.7;4.0.0
-com.azure:azure-security-keyvault-certificates;4.1.8;4.2.0
+com.azure:azure-security-keyvault-administration;4.0.0;4.1.0-beta.1
+com.azure:azure-security-keyvault-certificates;4.2.0;4.3.0-beta.1
com.azure:azure-security-keyvault-jca;1.0.0-beta.7;1.0.0-beta.8
com.azure:azure-security-test-keyvault-jca;1.0.0;1.0.0
-com.azure:azure-security-keyvault-keys;4.2.8;4.3.0
-com.azure:azure-security-keyvault-secrets;4.2.8;4.3.0
+com.azure:azure-security-keyvault-keys;4.3.0;4.4.0-beta.1
+com.azure:azure-security-keyvault-secrets;4.3.0;4.4.0-beta.1
com.azure:azure-security-keyvault-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-sdk-template;1.2.1-beta.2;1.2.1-beta.16
com.azure:azure-spring-data-cosmos;3.8.0;3.9.0-beta.1
@@ -139,8 +139,8 @@ com.microsoft.azure:spring-cloud-azure-feature-management;1.3.0;1.4.0-beta.1
com.microsoft.azure:spring-cloud-starter-azure-appconfiguration-config;1.3.0;1.4.0-beta.1
com.azure.spring:azure-spring-cloud-appconfiguration-config-web;2.0.0-beta.1;2.0.0-beta.2
com.azure.spring:azure-spring-cloud-appconfiguration-config;2.0.0-beta.1;2.0.0-beta.2
-com.azure.spring:azure-spring-cloud-feature-management-web;2.0.0-beta.1;2.0.0-beta.2
-com.azure.spring:azure-spring-cloud-feature-management;2.0.0-beta.1;2.0.0-beta.2
+com.azure.spring:azure-spring-cloud-feature-management-web;2.0.0-beta.1;2.0.0
+com.azure.spring:azure-spring-cloud-feature-management;2.0.0-beta.1;2.0.0
com.azure.spring:azure-spring-cloud-starter-appconfiguration-config;2.0.0-beta.1;2.0.0-beta.2
com.azure.spring:azure-identity-spring;1.5.0;1.6.0-beta.1
com.azure.spring:azure-spring-boot-starter-active-directory-b2c;3.5.0;3.6.0-beta.1
@@ -224,7 +224,7 @@ com.azure.resourcemanager:azure-resourcemanager-costmanagement;1.0.0-beta.2;1.0.
com.azure.resourcemanager:azure-resourcemanager-recoveryservices;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-kusto;1.0.0-beta.2;1.0.0-beta.3
com.azure.resourcemanager:azure-resourcemanager-loganalytics;1.0.0-beta.2;1.0.0-beta.3
-com.azure.resourcemanager:azure-resourcemanager-eventgrid;1.0.0;1.1.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-eventgrid;1.0.0;1.1.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-healthbot;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-confluent;1.0.0-beta.2;1.0.0-beta.3
com.azure.resourcemanager:azure-resourcemanager-digitaltwins;1.0.0-beta.1;1.0.0-beta.2
@@ -242,7 +242,7 @@ com.azure.resourcemanager:azure-resourcemanager-changeanalysis;1.0.0;1.1.0-beta.
com.azure.resourcemanager:azure-resourcemanager-delegatednetwork;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-synapse;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-resourcehealth;1.0.0-beta.1;1.0.0-beta.2
-com.azure.resourcemanager:azure-resourcemanager-databricks;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-databricks;1.0.0-beta.2;1.0.0-beta.3
com.azure.resourcemanager:azure-resourcemanager-databoxedge;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-frontdoor;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-mixedreality;1.0.0-beta.1;1.0.0-beta.2
@@ -300,6 +300,7 @@ com.azure.resourcemanager:azure-resourcemanager-maps;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-botservice;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-recoveryservicesbackup;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-deviceprovisioningservices;1.0.0;1.1.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-containerservice-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index ecd225518374..a4dc0bfe6695 100644
--- a/pom.xml
+++ b/pom.xml
@@ -730,6 +730,7 @@
sdk/confluent
sdk/consumption
sdk/containerregistry
+ sdk/containerservice
sdk/core
sdk/cosmos
sdk/costmanagement
diff --git a/sdk/appconfiguration/azure-data-appconfiguration-perf/src/main/java/com/azure/data/appconfiguration/perf/ListConfigurationSettingsTest.java b/sdk/appconfiguration/azure-data-appconfiguration-perf/src/main/java/com/azure/data/appconfiguration/perf/ListConfigurationSettingsTest.java
index 166bfa12a425..03ae9c519dbf 100644
--- a/sdk/appconfiguration/azure-data-appconfiguration-perf/src/main/java/com/azure/data/appconfiguration/perf/ListConfigurationSettingsTest.java
+++ b/sdk/appconfiguration/azure-data-appconfiguration-perf/src/main/java/com/azure/data/appconfiguration/perf/ListConfigurationSettingsTest.java
@@ -20,9 +20,9 @@ public class ListConfigurationSettingsTest extends ServiceTest
com.azure
azure-security-keyvault-secrets
- 4.2.8
+ 4.3.0
com.azure
diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md
index 4a8e2bc1640e..4b48f2deb03f 100644
--- a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md
+++ b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/CHANGELOG.md
@@ -1,7 +1,10 @@
# Release History
-## 2.0.0-beta.2 (Unreleased)
+## 2.0.0 (2021-06-21)
+### Breaking Change
+
+- Changed package path to `com.azure.spring.cloud.feature.manager`
## 2.0.0-beta.1 (2021-05-04)
### Breaking Changes
diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml
index 9a126c2be3f1..55e3a2b6058d 100644
--- a/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml
+++ b/sdk/appconfiguration/azure-spring-cloud-feature-management-web/pom.xml
@@ -11,7 +11,7 @@
com.azure.spring
azure-spring-cloud-feature-management-web
- 2.0.0-beta.2
+ 2.0.0
Azure Spring Cloud Feature Management Web
Adds Feature Management into Spring Web
@@ -41,7 +41,7 @@
com.azure.spring
azure-spring-cloud-feature-management
- 2.0.0-beta.2
+ 2.0.0
+ com.azure.spring:azure-spring-cloud-feature-management:[2.0.0]
javax.servlet:javax.servlet-api:[4.0.1]
org.springframework:spring-web:[5.3.7]
org.springframework:spring-webmvc:[5.3.7]
diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md
index e0531bbdc3b9..1f897a80114b 100644
--- a/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md
+++ b/sdk/appconfiguration/azure-spring-cloud-feature-management/CHANGELOG.md
@@ -1,7 +1,12 @@
# Release History
-## 2.0.0-beta.2 (Unreleased)
+## 2.0.0 (2021-06-21)
+- Updated TimeWindowFilter to support ISO-8601
+
+### Breaking Change
+
+- Changed package path to `com.azure.spring.cloud.feature.manager`
## 2.0.0-beta.1 (2021-05-04)
### Breaking Changes
diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml b/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml
index 1b07cd1d0e46..24c8d3a5daa2 100644
--- a/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml
+++ b/sdk/appconfiguration/azure-spring-cloud-feature-management/pom.xml
@@ -11,7 +11,7 @@
com.azure.spring
azure-spring-cloud-feature-management
- 2.0.0-beta.2
+ 2.0.0
Azure Spring Cloud Feature Management
Adds Feature Management into Spring
diff --git a/sdk/appconfiguration/azure-spring-cloud-feature-management/src/main/java/com/azure/spring/cloud/feature/manager/feature/filters/TimeWindowFilter.java b/sdk/appconfiguration/azure-spring-cloud-feature-management/src/main/java/com/azure/spring/cloud/feature/manager/feature/filters/TimeWindowFilter.java
index b2eb15d4fc03..f312f94a6917 100644
--- a/sdk/appconfiguration/azure-spring-cloud-feature-management/src/main/java/com/azure/spring/cloud/feature/manager/feature/filters/TimeWindowFilter.java
+++ b/sdk/appconfiguration/azure-spring-cloud-feature-management/src/main/java/com/azure/spring/cloud/feature/manager/feature/filters/TimeWindowFilter.java
@@ -7,6 +7,8 @@
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -42,14 +44,25 @@ public boolean evaluate(FeatureFilterEvaluationContext context) {
TIME_WINDOW_FILTER_SETTING_END);
return false;
}
+
+ ZonedDateTime startTime = null;
+ ZonedDateTime endTime = null;
- ZonedDateTime startTime = StringUtils.hasText(start)
- ? ZonedDateTime.parse(start, DateTimeFormatter.RFC_1123_DATE_TIME)
- : null;
- ZonedDateTime endTime = StringUtils.hasText(end)
- ? ZonedDateTime.parse(end, DateTimeFormatter.RFC_1123_DATE_TIME)
- : null;
-
+ try {
+ startTime = StringUtils.hasText(start)
+ ? ZonedDateTime.parse(start, DateTimeFormatter.ISO_DATE_TIME)
+ : null;
+ endTime = StringUtils.hasText(end)
+ ? ZonedDateTime.parse(end, DateTimeFormatter.ISO_DATE_TIME)
+ : null;
+ } catch (DateTimeParseException e) {
+ startTime = StringUtils.hasText(start)
+ ? ZonedDateTime.parse(start, DateTimeFormatter.RFC_1123_DATE_TIME)
+ : null;
+ endTime = StringUtils.hasText(end)
+ ? ZonedDateTime.parse(end, DateTimeFormatter.RFC_1123_DATE_TIME)
+ : null;
+ }
return (!StringUtils.hasText(start) || now.isAfter(startTime))
&& (!StringUtils.hasText(end) || now.isBefore(endTime));
}
diff --git a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md
index e183ace373c5..44262acabe46 100644
--- a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md
+++ b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/CHANGELOG.md
@@ -1,6 +1,8 @@
# Release History
-## 2.0.0-beta.2 (Unreleased)
+## 2.0.0-beta.2 (2021-06-21)
+### Breaking Changes
+- Changed package path to `com.azure.spring.cloud.config` and `com.azure.spring.cloud.feature.manager`
## 2.0.0-beta.1 (2021-05-04)
diff --git a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/README.md b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/README.md
index fbdb0a8b2327..8b87447ee76c 100644
--- a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/README.md
+++ b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/README.md
@@ -21,7 +21,7 @@ There are two libraries that can be used azure-spring-cloud-appconfiguration-con
com.azure.spring
azure-spring-cloud-appconfiguration-config
- 1.2.8-beta.1
+ 2.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -33,7 +33,7 @@ or
com.azure.spring
azure-spring-cloud-appconfiguration-config-web
- 1.2.8-beta.1
+ 2.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -76,6 +76,7 @@ Name | Description | Required | Default
---|---|---|---
spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled | Whether the configurations and feature flags will be re-loaded if a change is detected. | No | false
spring.cloud.azure.appconfiguration.stores[0].monitoring.watch-interval | Amount of time, of type Duration, configurations are stored before a check can occur. | No | 30s
+spring.cloud.azure.appconfiguration.stores[0].monitoring.feature-flags.watch-interval | Amount of time, of type Duration, feature flags are stored before a check can occur. | No | 30s
spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key | A key that is watched for change via etag. If a change is detected on the key then a refresh of all configurations will be triggered. | Yes (If monitoring enabled) | null
spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].label | The label of the key that is being watched for etag changes. | No | \0
spring.cloud.azure.appconfiguration.stores[0].monitoring.push-notification.primary-token.name | The name of a token used with Event Hub to trigger push based refresh. | No | null
@@ -89,7 +90,6 @@ Name | Description | Required | Default
---|---|---|---
spring.cloud.azure.appconfiguration.stores[0].feature-flags.enable | Whether feature flags are loaded from the config store. | No | false
spring.cloud.azure.appconfiguration.stores[0].feature-flags.label-filter | The label used to indicate which feature flags will be loaded. | No | \0
-spring.cloud.azure.appconfiguration.stores[0].feature-flags.watch-interval | Amount of time, of type Duration, feature flags are stored before a check can occur. | No | 30s
### Advanced usage
diff --git a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml
index af9868fe6d0c..6cdadd4df4af 100644
--- a/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml
+++ b/sdk/appconfiguration/azure-spring-cloud-starter-appconfiguration-config/pom.xml
@@ -23,7 +23,7 @@
com.azure.spring
azure-spring-cloud-feature-management-web
- 2.0.0-beta.2
+ 2.0.0
diff --git a/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml b/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml
index 879c78794235..a954d1d79641 100644
--- a/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml
+++ b/sdk/appconfiguration/spring-cloud-azure-appconfiguration-config/pom.xml
@@ -77,7 +77,7 @@
com.azure
azure-security-keyvault-secrets
- 4.2.8
+ 4.3.0
com.azure
diff --git a/sdk/boms/azure-spring-boot-bom/pom.xml b/sdk/boms/azure-spring-boot-bom/pom.xml
index eb714cf87573..3b7aeaa41bb4 100644
--- a/sdk/boms/azure-spring-boot-bom/pom.xml
+++ b/sdk/boms/azure-spring-boot-bom/pom.xml
@@ -41,7 +41,7 @@
${project.version}
1.17.0
1.3.1
- 4.2.8
+ 4.3.0
1.9.1
0.0.7
3.8.0
diff --git a/sdk/communication/azure-communication-callingserver/README.md b/sdk/communication/azure-communication-callingserver/README.md
index 8b5d665635f2..761a89dee5cc 100644
--- a/sdk/communication/azure-communication-callingserver/README.md
+++ b/sdk/communication/azure-communication-callingserver/README.md
@@ -46,7 +46,7 @@ Based on if the Contoso app join a call or not, APIs can be divided into two cat
You can provide the connection string using the connectionString() function of `CallingServerClientBuilder`. Once you initialized a `CallingServerClient` class, you can do the different server calling operations.
-
+
```java
// Your connectionString retrieved from your Azure Communication Service
String connectionString = "endpoint=https://.communication.azure.com/;accesskey=";
@@ -60,22 +60,21 @@ CallingServerClient callingServerClient = builder.buildClient();
### Create call, Add participant and Hangup a call
#### Create a Call:
-
+
```java
CommunicationIdentifier source = new CommunicationUserIdentifier("");
CommunicationIdentifier firstCallee = new CommunicationUserIdentifier("");
CommunicationIdentifier secondCallee = new CommunicationUserIdentifier("");
-CommunicationIdentifier[] targets = new CommunicationIdentifier[] { firstCallee, secondCallee };
+List targets = Arrays.asList(firstCallee, secondCallee);
String callbackUri = "";
-MediaType[] requestedMediaTypes = new MediaType[] { MediaType.AUDIO, MediaType.VIDEO };
+List requestedMediaTypes = Arrays.asList(MediaType.AUDIO, MediaType.VIDEO);
-EventSubscriptionType[] requestedCallEvents = new EventSubscriptionType[] {
+List requestedCallEvents = Arrays.asList(
EventSubscriptionType.DTMF_RECEIVED,
- EventSubscriptionType.PARTICIPANTS_UPDATED
-};
+ EventSubscriptionType.PARTICIPANTS_UPDATED);
CreateCallOptions createCallOptions = new CreateCallOptions(
callbackUri,
@@ -86,14 +85,14 @@ CallConnection callConnection = callingServerClient.createCallConnection(source,
```
#### Add a participant to a Call:
-
+
```java
CommunicationIdentifier thirdCallee = new CommunicationUserIdentifier("");
callConnection.addParticipant(thirdCallee, "ACS User 3", "");
```
#### Hangup a Call:
-
+
```java
callConnection.hangup();
```
@@ -134,6 +133,16 @@ serverCall.stopRecording(recordingId);
CallRecordingStateResult callRecordingStateResult = serverCall.getRecordingState(recordingId);
```
+#### Download a Recording into a file:
+
+```java
+callingServerClient.downloadTo(
+ recordingUrl,
+ Paths.get(filePath),
+ null,
+ true
+ );
+```
### Play Audio in Call
#### Play Audio:
diff --git a/sdk/communication/azure-communication-callingserver/pom.xml b/sdk/communication/azure-communication-callingserver/pom.xml
index e452b3940a8e..5c2b24f2638e 100644
--- a/sdk/communication/azure-communication-callingserver/pom.xml
+++ b/sdk/communication/azure-communication-callingserver/pom.xml
@@ -124,7 +124,7 @@
-
+
org.jacoco
jacoco-maven-plugin
@@ -134,6 +134,15 @@
com/azure/communication/callingserver/*.class
+
+
+ coverage-report
+ verify
+
+ report
+
+
+
org.apache.maven.plugins
@@ -149,6 +158,22 @@
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.added
+ com.azure.core.util.HttpClientOptions
+ Transitive from Core. Not our problem
+
+
+
+
+
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnection.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnection.java
index add9b7e100c1..99c140ad16fa 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnection.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnection.java
@@ -4,6 +4,7 @@
package com.azure.communication.callingserver;
import com.azure.communication.callingserver.models.AddParticipantResult;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.CancelAllMediaOperationsResult;
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
@@ -45,6 +46,8 @@ public String getCallConnectionId() {
* @param callbackUri call back uri to receive notifications.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -65,6 +68,8 @@ public PlayAudioResult playAudio(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -72,39 +77,6 @@ public PlayAudioResult playAudio(String audioFileUri, PlayAudioOptions playAudio
return callConnectionAsync.playAudioInternal(audioFileUri, playAudioOptions).block();
}
- /**
- * Play audio in a call.
- *
- * @param audioFileUri The media resource uri of the play audio request. Currently only Wave file (.wav) format
- * audio prompts are supported. More specifically, the audio content in the wave file must
- * be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
- * @param loop The flag indicating whether audio file needs to be played in loop or not.
- * @param audioFileId An id for the media in the AudioFileUri, using which we cache the media.
- * @param callbackUri call back uri to receive notifications.
- * @param operationContext The value to identify context of the operation. This is used to co-relate other
- * communications related to this operation
- * @param context A {@link Context} representing the request context.
- * @return the response payload for play audio operation.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response playAudioWithResponse(
- String audioFileUri,
- boolean loop,
- String audioFileId,
- String callbackUri,
- String operationContext,
- final Context context) {
- return callConnectionAsync
- .playAudioWithResponseInternal(
- audioFileUri,
- loop,
- audioFileId,
- callbackUri,
- operationContext,
- context)
- .block();
- }
-
/**
* Play audio in a call.
*
@@ -113,6 +85,8 @@ public Response playAudioWithResponse(
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -127,6 +101,9 @@ public Response playAudioWithResponse(
/**
* Disconnect the current caller in a group-call or end a p2p-call.
+ *
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public void hangup() {
@@ -137,6 +114,8 @@ public void hangup() {
* Disconnect the current caller in a group-call or end a p2p-call.
*
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful hangup request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -149,6 +128,8 @@ public Response hangupWithResponse(final Context context) {
*
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful cancel all media operations request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -162,6 +143,8 @@ public CancelAllMediaOperationsResult cancelAllMediaOperations(String operationC
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful cancel all media operations request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -178,6 +161,8 @@ public Response cancelAllMediaOperationsWithResp
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -196,6 +181,8 @@ public AddParticipantResult addParticipant(
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -212,6 +199,8 @@ public Response addParticipantWithResponse(
* Remove a participant from the call.
*
* @param participantId Participant id.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public void removeParticipant(String participantId) {
@@ -223,6 +212,8 @@ public void removeParticipant(String participantId) {
*
* @param participantId Participant id.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnectionAsync.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnectionAsync.java
index 9aa425bbfdc4..5638660cf0df 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnectionAsync.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallConnectionAsync.java
@@ -13,6 +13,7 @@
import com.azure.communication.callingserver.implementation.models.CommunicationErrorResponseException;
import com.azure.communication.callingserver.implementation.models.PlayAudioRequest;
import com.azure.communication.callingserver.models.AddParticipantResult;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.CancelAllMediaOperationsResult;
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
@@ -64,6 +65,8 @@ public String getCallConnectionId() {
* @param callbackUri call back uri to receive notifications.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -83,6 +86,8 @@ public Mono playAudio(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -139,35 +144,6 @@ Mono playAudioInternal(PlayAudioRequest playAudioRequest) {
}
}
- /**
- * Play audio in a call.
- *
- * @param audioFileUri The media resource uri of the play audio request. Currently only Wave file (.wav) format
- * audio prompts are supported. More specifically, the audio content in the wave file must
- * be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
- * @param loop The flag indicating whether audio file needs to be played in loop or not.
- * @param audioFileId An id for the media in the AudioFileUri, using which we cache the media.
- * @param callbackUri call back uri to receive notifications.
- * @param operationContext The value to identify context of the operation. This is used to co-relate other
- * communications related to this operation
- * @return the response payload for play audio operation.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> playAudioWithResponse(
- String audioFileUri,
- boolean loop,
- String audioFileId,
- String callbackUri,
- String operationContext) {
- return playAudioWithResponseInternal(
- audioFileUri,
- loop,
- audioFileId,
- callbackUri,
- operationContext,
- null);
- }
-
/**
* Play audio in a call.
*
@@ -175,6 +151,8 @@ public Mono> playAudioWithResponse(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -248,6 +226,8 @@ Mono> playAudioWithResponseInternal(
/**
* Hangup a call.
*
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful hangup request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -264,6 +244,8 @@ public Mono hangup() {
/**
* Hangup a call.
*
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful hangup request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -288,6 +270,8 @@ Mono> hangupWithResponse(Context context) {
*
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload of the cancel all media operations.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -308,6 +292,8 @@ public Mono cancelAllMediaOperations(String oper
*
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload of the cancel all media operations.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -341,6 +327,8 @@ Mono> cancelAllMediaOperationsWithRespo
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -369,6 +357,8 @@ public Mono addParticipant(
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -406,6 +396,8 @@ Mono> addParticipantWithResponse(
* Remove a participant from the call.
*
* @param participantId Participant id.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -423,6 +415,8 @@ public Mono removeParticipant(String participantId) {
* Remove a participant from the call.
*
* @param participantId Participant id.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerAsyncClient.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerAsyncClient.java
index d82f0c541b0a..e9c0d3b9815c 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerAsyncClient.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerAsyncClient.java
@@ -11,6 +11,7 @@
import com.azure.communication.callingserver.implementation.converters.JoinCallRequestConverter;
import com.azure.communication.callingserver.implementation.models.CommunicationErrorResponseException;
import com.azure.communication.callingserver.implementation.models.CreateCallRequest;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.CreateCallOptions;
import com.azure.communication.callingserver.models.JoinCallOptions;
import com.azure.communication.callingserver.models.ParallelDownloadOptions;
@@ -34,6 +35,7 @@
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.HashSet;
+import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -75,6 +77,8 @@ public final class CallingServerAsyncClient {
* @param source The source of the call.
* @param targets The targets of the call.
* @param createCallOptions The call Options.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful CreateCallConnection request.
*
* {@codesnippet com.azure.communication.callingserver.CallingServerAsyncClient.create.call.connection.async}
@@ -82,7 +86,7 @@ public final class CallingServerAsyncClient {
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono createCallConnection(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions) {
try {
Objects.requireNonNull(source, "'source' cannot be null.");
@@ -103,12 +107,14 @@ public Mono createCallConnection(
* @param source The source of the call.
* @param targets The targets of the call.
* @param createCallOptions The call Options.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful CreateCallConnection request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Mono> createCallConnectionWithResponse(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions) {
try {
Objects.requireNonNull(source, "'source' cannot be null.");
@@ -125,7 +131,7 @@ public Mono> createCallConnectionWithResponse(
Mono createCallConnectionInternal(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions) {
try {
Objects.requireNonNull(source, "'source' cannot be null.");
@@ -142,7 +148,7 @@ Mono createCallConnectionInternal(
Mono> createCallConnectionWithResponseInternal(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions,
Context context) {
try {
@@ -168,10 +174,12 @@ Mono> createCallConnectionWithResponseInternal(
* @param serverCallId The server call id.
* @param source to Join Call.
* @param joinCallOptions join call options.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful join request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono join(
+ public Mono joinCall(
String serverCallId,
CommunicationIdentifier source,
JoinCallOptions joinCallOptions) {
@@ -193,10 +201,12 @@ public Mono join(
* @param serverCallId The server call id.
* @param source to Join Call.
* @param joinCallOptions join call options.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful join request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono>joinWithResponse(
+ public Mono> joinCallWithResponse(
String serverCallId,
CommunicationIdentifier source,
JoinCallOptions joinCallOptions) {
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClient.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClient.java
index 1ab8665d967e..723ee3949c9f 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClient.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClient.java
@@ -3,6 +3,7 @@
package com.azure.communication.callingserver;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.CreateCallOptions;
import com.azure.communication.callingserver.models.JoinCallOptions;
import com.azure.communication.callingserver.models.ParallelDownloadOptions;
@@ -16,6 +17,7 @@
import java.io.OutputStream;
import java.nio.file.Path;
+import java.util.List;
import java.util.Objects;
@@ -44,6 +46,8 @@ public final class CallingServerClient {
* @param source The source of the call.
* @param targets The targets of the call.
* @param createCallOptions The call Options.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful CreateCallConnection request.
*
* {@codesnippet com.azure.communication.callingserver.CallingServerClient.create.call.connection}
@@ -51,7 +55,7 @@ public final class CallingServerClient {
@ServiceMethod(returns = ReturnType.SINGLE)
public CallConnection createCallConnection(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions) {
return callingServerAsyncClient.createCallConnectionInternal(source, targets, createCallOptions).block();
}
@@ -63,12 +67,14 @@ public CallConnection createCallConnection(
* @param targets The targets of the call.
* @param createCallOptions The call Options.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful CreateCallConnection request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public Response createCallConnectionWithResponse(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions,
final Context context) {
return callingServerAsyncClient
@@ -81,10 +87,12 @@ public Response createCallConnectionWithResponse(
* @param serverCallId The server call id.
* @param source of Join Call request.
* @param joinCallOptions to Join Call.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return CallConnection for a successful Join request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public CallConnection join(
+ public CallConnection joinCall(
String serverCallId,
CommunicationIdentifier source,
JoinCallOptions joinCallOptions) {
@@ -97,11 +105,13 @@ public CallConnection join(
* @param serverCallId The server call id.
* @param source of Join Call request.
* @param joinCallOptions to Join Call.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @param context A {@link Context} representing the request context.
* @return response for a successful Join request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response joinWithResponse(
+ public Response joinCallWithResponse(
String serverCallId,
CommunicationIdentifier source,
JoinCallOptions joinCallOptions,
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java
index 5c36aeefc8b6..a4e369fbdf5e 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerClientBuilder.java
@@ -90,7 +90,7 @@ public CallingServerClientBuilder pipeline(HttpPipeline pipeline) {
* @return The updated {@link CallingServerClientBuilder} object.
* @throws NullPointerException If {@code tokenCredential} is null.
*/
- public CallingServerClientBuilder credential(TokenCredential tokenCredential) {
+ CallingServerClientBuilder credential(TokenCredential tokenCredential) {
this.tokenCredential = Objects.requireNonNull(tokenCredential, "'tokenCredential' cannot be null.");
return this;
}
@@ -103,7 +103,7 @@ public CallingServerClientBuilder credential(TokenCredential tokenCredential) {
* @return The updated {@link CallingServerClientBuilder} object.
* @throws NullPointerException If {@code keyCredential} is null.
*/
- public CallingServerClientBuilder credential(AzureKeyCredential keyCredential) {
+ CallingServerClientBuilder credential(AzureKeyCredential keyCredential) {
this.azureKeyCredential = Objects.requireNonNull(keyCredential, "'keyCredential' cannot be null.");
return this;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerServiceVersion.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerServiceVersion.java
index bfa102b34da9..8398f77f9eea 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerServiceVersion.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/CallingServerServiceVersion.java
@@ -9,8 +9,7 @@
* The versions of CallingServer Service supported by this client library.
*/
public enum CallingServerServiceVersion implements ServiceVersion {
- V2021_06_015("2021-06-15"),
- V2021_06_15_preview("2021-06-15-preview");
+ V2021_06_15_PREVIEW("2021-06-15-preview");
private final String version;
@@ -32,6 +31,6 @@ public String getVersion() {
* @return the latest {@link CallingServerServiceVersion}
*/
public static CallingServerServiceVersion getLatest() {
- return V2021_06_15_preview;
+ return V2021_06_15_PREVIEW;
}
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ContentDownloader.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ContentDownloader.java
index 6ee8317fe7f1..c243906e7b25 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ContentDownloader.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ContentDownloader.java
@@ -5,7 +5,6 @@
import com.azure.communication.callingserver.implementation.Constants;
import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.ParallelDownloadOptions;
-import com.azure.communication.callingserver.models.ProgressReporter;
import com.azure.core.http.HttpMethod;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpRange;
@@ -92,7 +91,7 @@ Mono> downloadToFileWithResponse(
return downloadFirstChunk(parallelDownloadOptions, downloadFunc)
.flatMap(setupTuple2 -> {
long newCount = setupTuple2.getT1();
- int numChunks = calculateNumBlocks(newCount, parallelDownloadOptions.getBlockSizeLong());
+ int numChunks = calculateNumBlocks(newCount, parallelDownloadOptions.getBlockSize());
// In case it is an empty blob, this ensures we still actually perform a download operation.
numChunks = numChunks == 0 ? 1 : numChunks;
@@ -205,7 +204,7 @@ private HttpRequest getHttpRequest(String sourceEndpoint, HttpRange httpRange) {
private Mono>>> downloadFirstChunk(
ParallelDownloadOptions parallelDownloadOptions,
Function>>> downloader) {
- return downloader.apply(new HttpRange(0, parallelDownloadOptions.getBlockSizeLong()))
+ return downloader.apply(new HttpRange(0, parallelDownloadOptions.getBlockSize()))
.subscribeOn(Schedulers.boundedElastic())
.flatMap(response -> {
// Extract the total length of the blob from the contentRange header. e.g. "bytes 1-6/7"
@@ -243,8 +242,8 @@ private Flux downloadChunk(
}
// Calculate whether we need a full chunk or something smaller because we are at the end.
- long modifier = chunkNum.longValue() * parallelDownloadOptions.getBlockSizeLong();
- long chunkSizeActual = Math.min(parallelDownloadOptions.getBlockSizeLong(),
+ long modifier = chunkNum.longValue() * parallelDownloadOptions.getBlockSize();
+ long chunkSizeActual = Math.min(parallelDownloadOptions.getBlockSize(),
newCount - modifier);
HttpRange chunkRange = new HttpRange(modifier, chunkSizeActual);
@@ -269,7 +268,7 @@ private static Mono writeBodyToFile(
parallelDownloadOptions.getProgressReceiver(), progressLock, totalProgress);
// Write to the file.
- return FluxUtil.writeFile(data, file, chunkNum * parallelDownloadOptions.getBlockSizeLong());
+ return FluxUtil.writeFile(data, file, chunkNum * parallelDownloadOptions.getBlockSize());
}
void downloadToFileCleanup(AsynchronousFileChannel channel, Path filePath, SignalType signalType) {
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReporter.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ProgressReporter.java
similarity index 98%
rename from sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReporter.java
rename to sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ProgressReporter.java
index 79a5e62f2e13..de8eac668554 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReporter.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ProgressReporter.java
@@ -1,8 +1,9 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
-package com.azure.communication.callingserver.models;
+package com.azure.communication.callingserver;
+import com.azure.communication.callingserver.models.ProgressReceiver;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -13,7 +14,7 @@
/**
* {@code ProgressReporter} offers a convenient way to add progress tracking to a given Flux.
*/
-public final class ProgressReporter {
+final class ProgressReporter {
private abstract static class ProgressReporterImpl implements ProgressReceiver {
long blockProgress;
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCall.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCall.java
index a572ded3d9b9..35df8e237058 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCall.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCall.java
@@ -5,6 +5,7 @@
import com.azure.communication.callingserver.models.AddParticipantResult;
import com.azure.communication.callingserver.models.CallRecordingProperties;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
import com.azure.communication.callingserver.models.StartCallRecordingResult;
@@ -41,6 +42,8 @@ public String getServerCallId() {
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -61,6 +64,8 @@ public AddParticipantResult addParticipant(
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -93,6 +98,8 @@ public void removeParticipant(String participantId) {
*
* @param participantId Participant id.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -104,6 +111,8 @@ public Response removeParticipantWithResponse(String participantId, final
* Start recording
*
* @param recordingStateCallbackUri The uri to send state change callbacks.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return result for a successful start recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -116,6 +125,8 @@ public StartCallRecordingResult startRecording(String recordingStateCallbackUri)
*
* @param recordingStateCallbackUri The uri to send state change callbacks.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return result for a successful start recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -129,6 +140,8 @@ public Response startRecordingWithResponse(
* Stop recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public void stopRecording(String recordingId) {
@@ -140,6 +153,8 @@ public void stopRecording(String recordingId) {
*
* @param recordingId The recording id to stop.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful stop recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -151,6 +166,8 @@ public Response stopRecordingWithResponse(String recordingId, final Contex
* Pause recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public void pauseRecording(String recordingId) {
@@ -162,6 +179,8 @@ public void pauseRecording(String recordingId) {
*
* @param recordingId The recording id to stop.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful pause recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -173,6 +192,8 @@ public Response pauseRecordingWithResponse(String recordingId, final Conte
* Resume recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
public void resumeRecording(String recordingId) {
@@ -184,6 +205,8 @@ public void resumeRecording(String recordingId) {
*
* @param recordingId The recording id to stop.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful resume recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -195,6 +218,8 @@ public Response resumeRecordingWithResponse(String recordingId, final Cont
* Get recording state
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful get recording state request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -207,6 +232,8 @@ public CallRecordingProperties getRecordingState(String recordingId) {
*
* @param recordingId The recording id to stop.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful get recording state request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -224,6 +251,8 @@ public Response getRecordingStateWithResponse(String re
* @param callbackUri The callback Uri to receive PlayAudio status notifications.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -242,6 +271,8 @@ public PlayAudioResult playAudio(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -249,35 +280,6 @@ public PlayAudioResult playAudio(String audioFileUri, PlayAudioOptions playAudio
return serverCallAsync.playAudioInternal(audioFileUri, playAudioOptions).block();
}
- /**
- * Play audio in a call.
- *
- * @param audioFileUri The media resource uri of the play audio request. Currently only Wave file (.wav) format
- * audio prompts are supported. More specifically, the audio content in the wave file must
- * be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
- * @param audioFileId An id for the media in the AudioFileUri, using which we cache the media.
- * @param callbackUri The callback Uri to receive PlayAudio status notifications.
- * @param operationContext The value to identify context of the operation. This is used to co-relate other
- * communications related to this operation
- * @param context A {@link Context} representing the request context.
- * @return the response payload for play audio operation.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response playAudioWithResponse(
- String audioFileUri,
- String audioFileId,
- String callbackUri,
- String operationContext,
- final Context context) {
- return serverCallAsync
- .playAudioWithResponseInternal(
- audioFileUri,
- audioFileId,
- callbackUri,
- operationContext,
- context).block();
- }
-
/**
* Play audio in a call.
*
@@ -286,6 +288,8 @@ public Response playAudioWithResponse(
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
* @param context A {@link Context} representing the request context.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java
index 43e6af1eabea..d28cdafea76b 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/ServerCallAsync.java
@@ -13,6 +13,7 @@
import com.azure.communication.callingserver.implementation.models.StartCallRecordingRequest;
import com.azure.communication.callingserver.models.AddParticipantResult;
import com.azure.communication.callingserver.models.CallRecordingProperties;
+import com.azure.communication.callingserver.models.CallingServerErrorException;
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
import com.azure.communication.callingserver.models.StartCallRecordingResult;
@@ -63,6 +64,8 @@ public String getServerCallId() {
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -94,6 +97,8 @@ public Mono addParticipant(
* @param alternateCallerId The phone number to use when adding a phone number participant.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful add participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -139,6 +144,8 @@ Mono> addParticipantWithResponse(
* Remove a participant from the call.
*
* @param participantId Participant id.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -156,6 +163,8 @@ public Mono removeParticipant(String participantId) {
* Remove a participant from the call.
*
* @param participantId Participant id.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful remove participant request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -181,6 +190,8 @@ Mono> removeParticipantWithResponse(String participantId, Context
*
* @param recordingStateCallbackUri The uri to send state change callbacks.
* @throws InvalidParameterException is recordingStateCallbackUri is absolute uri.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful start recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -207,6 +218,8 @@ public Mono startRecording(String recordingStateCallba
*
* @param recordingStateCallbackUri The uri to send state change callbacks.
* @throws InvalidParameterException is recordingStateCallbackUri is absolute uri.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful start recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -243,6 +256,8 @@ Mono> startRecordingWithResponse(
* Stop recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful stop recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -260,6 +275,8 @@ public Mono stopRecording(String recordingId) {
* Stop recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful stop recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -284,6 +301,8 @@ Mono> stopRecordingWithResponse(String recordingId, Context conte
* Pause recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful pause recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -301,6 +320,8 @@ public Mono pauseRecording(String recordingId) {
* Pause recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful pause recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -325,6 +346,8 @@ Mono> pauseRecordingWithResponse(String recordingId, Context cont
* Resume recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful resume recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -342,6 +365,8 @@ public Mono resumeRecording(String recordingId) {
* Resume recording
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful resume recording request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -366,6 +391,8 @@ Mono> resumeRecordingWithResponse(String recordingId, Context con
* Get recording state
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful get recording state request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -383,6 +410,8 @@ public Mono getRecordingState(String recordingId) {
* Get recording state
*
* @param recordingId The recording id to stop.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return response for a successful get recording state request.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -415,6 +444,8 @@ Mono> getRecordingStateWithResponse(String rec
* @param callbackUri The callback Uri to receive PlayAudio status notifications.
* @param operationContext The value to identify context of the operation. This is used to co-relate other
* communications related to this operation
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -433,6 +464,8 @@ public Mono playAudio(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -492,27 +525,6 @@ Mono playAudioInternal(PlayAudioRequest playAudioRequest) {
}
}
- /**
- * Play audio in a call.
- *
- * @param audioFileUri The media resource uri of the play audio request. Currently only Wave file (.wav) format
- * audio prompts are supported. More specifically, the audio content in the wave file must
- * be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
- * @param audioFileId Tne id for the media in the AudioFileUri, using which we cache the media resource.
- * @param callbackUri The callback Uri to receive PlayAudio status notifications.
- * @param operationContext The value to identify context of the operation. This is used to co-relate other
- * communications related to this operation
- * @return the response payload for play audio operation.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> playAudioWithResponse(
- String audioFileUri,
- String audioFileId,
- String callbackUri,
- String operationContext) {
- return playAudioWithResponseInternal(audioFileUri, audioFileId, callbackUri, operationContext, null);
- }
-
/**
* Play audio in a call.
*
@@ -520,6 +532,8 @@ public Mono> playAudioWithResponse(
* audio prompts are supported. More specifically, the audio content in the wave file must
* be mono (single-channel), 16-bit samples with a 16,000 (16KHz) sampling rate.
* @param playAudioOptions Options for play audio.
+ * @throws CallingServerErrorException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return the response payload for play audio operation.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/CallConnectionRequestConverter.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/CallConnectionRequestConverter.java
index 02b870911de1..b3ec70ff82d9 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/CallConnectionRequestConverter.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/CallConnectionRequestConverter.java
@@ -10,8 +10,6 @@
import com.azure.communication.callingserver.models.MediaType;
import com.azure.communication.common.CommunicationIdentifier;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
@@ -26,16 +24,16 @@ public final class CallConnectionRequestConverter {
*/
public static CreateCallRequest convert(
CommunicationIdentifier source,
- CommunicationIdentifier[] targets,
+ List targets,
CreateCallOptions createCallOptions) {
- if (source == null || targets == null || targets.length == 0) {
+ if (source == null || targets == null || targets.size() == 0) {
return null;
}
CreateCallRequest createCallRequest =
new CreateCallRequest()
.setSource(CommunicationIdentifierConverter.convert(source))
- .setTargets(new ArrayList<>(Arrays.asList(targets))
+ .setTargets(targets
.stream()
.map(CommunicationIdentifierConverter::convert)
.collect(Collectors.toList()));
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/JoinCallRequestConverter.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/JoinCallRequestConverter.java
index 22f8a1f30602..4ee6108841ec 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/JoinCallRequestConverter.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/converters/JoinCallRequestConverter.java
@@ -4,14 +4,10 @@
package com.azure.communication.callingserver.implementation.converters;
import com.azure.communication.callingserver.implementation.models.JoinCallRequest;
-import com.azure.communication.callingserver.models.EventSubscriptionType;
import com.azure.communication.callingserver.models.JoinCallOptions;
-import com.azure.communication.callingserver.models.MediaType;
import com.azure.communication.common.CommunicationIdentifier;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
/**
* A converter for {@link JoinCallRequest}
@@ -35,15 +31,8 @@ public static JoinCallRequest convert(CommunicationIdentifier source, JoinCallOp
joinCallRequest.setSubject(joinCallOptions.getSubject());
joinCallRequest.setCallbackUri(joinCallOptions.getCallbackUri());
-
- List requestedModalities = new ArrayList<>();
- Collections.addAll(requestedModalities, joinCallOptions.getRequestedMediaTypes());
- joinCallRequest.setRequestedMediaTypes(requestedModalities);
-
- List requestedCallEvents = new ArrayList<>();
- Collections.addAll(requestedCallEvents, joinCallOptions.getRequestedCallEvents());
- joinCallRequest.setRequestedCallEvents(requestedCallEvents);
-
+ joinCallRequest.setRequestedMediaTypes(new ArrayList<>(joinCallOptions.getRequestedMediaTypes()));
+ joinCallRequest.setRequestedCallEvents(new ArrayList<>(joinCallOptions.getRequestedCallEvents()));
return joinCallRequest;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/AddParticipantResultEventInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/AddParticipantResultEventInternal.java
index b4e95f3ea95d..db5b23f241c5 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/AddParticipantResultEventInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/AddParticipantResultEventInternal.java
@@ -26,7 +26,7 @@ public final class AddParticipantResultEventInternal {
/*
* The status of the operation
*/
- @JsonProperty(value = "status")
+ @JsonProperty(value = "status", required = true)
private OperationStatus status;
/**
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallConnectionStateChangedEventInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallConnectionStateChangedEventInternal.java
index 3e29101ece8f..a9fc9dde843b 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallConnectionStateChangedEventInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallConnectionStateChangedEventInternal.java
@@ -26,7 +26,7 @@ public final class CallConnectionStateChangedEventInternal {
/*
* The call connection state.
*/
- @JsonProperty(value = "callConnectionState")
+ @JsonProperty(value = "callConnectionState", required = true)
private CallConnectionState callConnectionState;
/**
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallParticipantInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallParticipantInternal.java
index 77f6cf0adbc7..f6bc1a7fa0ee 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallParticipantInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallParticipantInternal.java
@@ -25,8 +25,8 @@ public final class CallParticipantInternal {
/*
* Is participant muted
*/
- @JsonProperty(value = "isMuted")
- private Boolean isMuted;
+ @JsonProperty(value = "isMuted", required = true)
+ private boolean isMuted;
/**
* Get the identifier property: Communication identifier of the participant.
@@ -73,7 +73,7 @@ public CallParticipantInternal setParticipantId(String participantId) {
*
* @return the isMuted value.
*/
- public Boolean isMuted() {
+ public boolean isMuted() {
return this.isMuted;
}
@@ -83,7 +83,7 @@ public Boolean isMuted() {
* @param isMuted the isMuted value to set.
* @return the CallParticipantInternal object itself.
*/
- public CallParticipantInternal setIsMuted(Boolean isMuted) {
+ public CallParticipantInternal setIsMuted(boolean isMuted) {
this.isMuted = isMuted;
return this;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingPropertiesInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingPropertiesInternal.java
index be47d9b17f41..d84362e0a54a 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingPropertiesInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingPropertiesInternal.java
@@ -14,7 +14,7 @@ public final class CallRecordingPropertiesInternal {
/*
* The state of the recording
*/
- @JsonProperty(value = "recordingState")
+ @JsonProperty(value = "recordingState", required = true)
private CallRecordingState recordingState;
/**
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingStateChangeEventInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingStateChangeEventInternal.java
index 8501c53e647b..3c0d36fc080e 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingStateChangeEventInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CallRecordingStateChangeEventInternal.java
@@ -21,13 +21,13 @@ public final class CallRecordingStateChangeEventInternal {
/*
* The state of the recording
*/
- @JsonProperty(value = "state")
+ @JsonProperty(value = "state", required = true)
private CallRecordingState state;
/*
* The time of the recording started
*/
- @JsonProperty(value = "startDateTime")
+ @JsonProperty(value = "startDateTime", required = true)
private OffsetDateTime startDateTime;
/*
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CancelAllMediaOperationsResultInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CancelAllMediaOperationsResultInternal.java
index 5b2abaceebda..316a9f1ed1dc 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CancelAllMediaOperationsResultInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/CancelAllMediaOperationsResultInternal.java
@@ -20,7 +20,7 @@ public final class CancelAllMediaOperationsResultInternal {
/*
* The status of the operation
*/
- @JsonProperty(value = "status")
+ @JsonProperty(value = "status", required = true)
private OperationStatus status;
/*
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultEventInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultEventInternal.java
index 9a93fe0027d6..4b5ff93656fb 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultEventInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultEventInternal.java
@@ -26,7 +26,7 @@ public final class PlayAudioResultEventInternal {
/*
* The status of the operation
*/
- @JsonProperty(value = "status")
+ @JsonProperty(value = "status", required = true)
private OperationStatus status;
/**
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultInternal.java
index 186ef3c6dbc6..47e2a20ccccd 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/PlayAudioResultInternal.java
@@ -20,7 +20,7 @@ public final class PlayAudioResultInternal {
/*
* The status of the operation
*/
- @JsonProperty(value = "status")
+ @JsonProperty(value = "status", required = true)
private OperationStatus status;
/*
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ResultInfoInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ResultInfoInternal.java
index d44a25479867..b6a69a059951 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ResultInfoInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ResultInfoInternal.java
@@ -11,71 +11,65 @@
@Fluent
public final class ResultInfoInternal {
/*
- * Gets or sets the result code
- * For synchronous failures, this maps one-to-one with HTTP responses. For
- * asynchronous failures or messages, it is contextual.
+ * The result code associated with the operation.
*/
- @JsonProperty(value = "code")
- private Integer code;
+ @JsonProperty(value = "code", required = true)
+ private int code;
/*
- * Gets or sets the result subcode.
- * The subcode further classifies a failure. For example.
+ * The subcode that further classifies the result.
*/
- @JsonProperty(value = "subcode")
- private Integer subcode;
+ @JsonProperty(value = "subcode", required = true)
+ private int subcode;
/*
- * Gets or sets the message
* The message is a detail explanation of subcode.
*/
@JsonProperty(value = "message")
private String message;
/**
- * Get the code property: Gets or sets the result code For synchronous failures, this maps one-to-one with HTTP
- * responses. For asynchronous failures or messages, it is contextual.
+ * Get the code property: The result code associated with the operation.
*
* @return the code value.
*/
- public Integer getCode() {
+ public int getCode() {
return this.code;
}
/**
- * Set the code property: Gets or sets the result code For synchronous failures, this maps one-to-one with HTTP
- * responses. For asynchronous failures or messages, it is contextual.
+ * Set the code property: The result code associated with the operation.
*
* @param code the code value to set.
* @return the ResultInfoInternal object itself.
*/
- public ResultInfoInternal setCode(Integer code) {
+ public ResultInfoInternal setCode(int code) {
this.code = code;
return this;
}
/**
- * Get the subcode property: Gets or sets the result subcode. The subcode further classifies a failure. For example.
+ * Get the subcode property: The subcode that further classifies the result.
*
* @return the subcode value.
*/
- public Integer getSubcode() {
+ public int getSubcode() {
return this.subcode;
}
/**
- * Set the subcode property: Gets or sets the result subcode. The subcode further classifies a failure. For example.
+ * Set the subcode property: The subcode that further classifies the result.
*
* @param subcode the subcode value to set.
* @return the ResultInfoInternal object itself.
*/
- public ResultInfoInternal setSubcode(Integer subcode) {
+ public ResultInfoInternal setSubcode(int subcode) {
this.subcode = subcode;
return this;
}
/**
- * Get the message property: Gets or sets the message The message is a detail explanation of subcode.
+ * Get the message property: The message is a detail explanation of subcode.
*
* @return the message value.
*/
@@ -84,7 +78,7 @@ public String getMessage() {
}
/**
- * Set the message property: Gets or sets the message The message is a detail explanation of subcode.
+ * Set the message property: The message is a detail explanation of subcode.
*
* @param message the message value to set.
* @return the ResultInfoInternal object itself.
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneInfoInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneInfoInternal.java
index a3d17cd58efc..95f9daec5334 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneInfoInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneInfoInternal.java
@@ -8,47 +8,46 @@
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
-/** Gets or sets the tone info. */
+/** The information about the tone. */
@Fluent
public final class ToneInfoInternal {
/*
- * Gets or sets the sequence id. This id can be used to determine if the
- * same tone
- * was played multiple times or if any tones were missed.
+ * The sequence id which can be used to determine if the same tone was
+ * played multiple times or if any tones were missed.
*/
- @JsonProperty(value = "sequenceId")
- private Integer sequenceId;
+ @JsonProperty(value = "sequenceId", required = true)
+ private int sequenceId;
/*
- * Gets or sets the tone detected.
+ * The tone value.
*/
- @JsonProperty(value = "tone")
+ @JsonProperty(value = "tone", required = true)
private ToneValue tone;
/**
- * Get the sequenceId property: Gets or sets the sequence id. This id can be used to determine if the same tone was
- * played multiple times or if any tones were missed.
+ * Get the sequenceId property: The sequence id which can be used to determine if the same tone was played multiple
+ * times or if any tones were missed.
*
* @return the sequenceId value.
*/
- public Integer getSequenceId() {
+ public int getSequenceId() {
return this.sequenceId;
}
/**
- * Set the sequenceId property: Gets or sets the sequence id. This id can be used to determine if the same tone was
- * played multiple times or if any tones were missed.
+ * Set the sequenceId property: The sequence id which can be used to determine if the same tone was played multiple
+ * times or if any tones were missed.
*
* @param sequenceId the sequenceId value to set.
* @return the ToneInfoInternal object itself.
*/
- public ToneInfoInternal setSequenceId(Integer sequenceId) {
+ public ToneInfoInternal setSequenceId(int sequenceId) {
this.sequenceId = sequenceId;
return this;
}
/**
- * Get the tone property: Gets or sets the tone detected.
+ * Get the tone property: The tone value.
*
* @return the tone value.
*/
@@ -57,7 +56,7 @@ public ToneValue getTone() {
}
/**
- * Set the tone property: Gets or sets the tone detected.
+ * Set the tone property: The tone value.
*
* @param tone the tone value to set.
* @return the ToneInfoInternal object itself.
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneReceivedEventInternal.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneReceivedEventInternal.java
index cc0f5897123a..ebb63e9288b5 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneReceivedEventInternal.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/implementation/models/ToneReceivedEventInternal.java
@@ -13,7 +13,7 @@ public final class ToneReceivedEventInternal {
/*
* The tone info.
*/
- @JsonProperty(value = "toneInfo")
+ @JsonProperty(value = "toneInfo", required = true)
private ToneInfoInternal toneInfo;
/*
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CallParticipant.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CallParticipant.java
index 8d67860d7681..9b8f852222fd 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CallParticipant.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CallParticipant.java
@@ -50,7 +50,7 @@ public String getParticipantId() {
*
* @return the communication identity of the participant object itself
*/
- public boolean getIsMuted() {
+ public boolean isMuted() {
return isMuted;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CreateCallOptions.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CreateCallOptions.java
index 60447786dfec..6e0742597ed2 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CreateCallOptions.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/CreateCallOptions.java
@@ -6,6 +6,8 @@
import com.azure.communication.common.PhoneNumberIdentifier;
import com.azure.core.annotation.Fluent;
+import java.util.List;
+
/**
* The options for creating a call.
*/
@@ -30,12 +32,12 @@ public final class CreateCallOptions {
/**
* The requested media types.
*/
- private final MediaType[] requestedMediaTypes;
+ private final List requestedMediaTypes;
/**
* The requested call events to subscribe to.
*/
- private final EventSubscriptionType[] requestedCallEvents;
+ private final List requestedCallEvents;
/**
* Get the alternate caller id of the source.
@@ -91,8 +93,8 @@ public String getCallbackUri() {
*
* @return the requested modalities object itself.
*/
- public MediaType[] getRequestedMediaTypes() {
- return this.requestedMediaTypes == null ? new MediaType[0] : this.requestedMediaTypes.clone();
+ public List getRequestedMediaTypes() {
+ return requestedMediaTypes;
}
/**
@@ -100,8 +102,8 @@ public MediaType[] getRequestedMediaTypes() {
*
* @return the requested call events to subscribe to object itself.
*/
- public EventSubscriptionType[] getRequestedCallEvents() {
- return requestedCallEvents.clone();
+ public List getRequestedCallEvents() {
+ return requestedCallEvents;
}
/**
@@ -114,22 +116,19 @@ public EventSubscriptionType[] getRequestedCallEvents() {
*/
public CreateCallOptions(
String callbackUri,
- MediaType[] requestedMediaTypes,
- EventSubscriptionType[] requestedCallEvents) {
+ List requestedMediaTypes,
+ List requestedCallEvents) {
if (callbackUri == null) {
throw new IllegalArgumentException("object callbackUri cannot be null");
}
-
if (requestedMediaTypes == null) {
throw new IllegalArgumentException("object requestedMediaTypes cannot be null");
}
if (requestedCallEvents == null) {
throw new IllegalArgumentException("object requestedCallEvents cannot be null");
}
-
this.callbackUri = callbackUri;
-
- this.requestedMediaTypes = requestedMediaTypes.clone();
- this.requestedCallEvents = requestedCallEvents.clone();
+ this.requestedMediaTypes = requestedMediaTypes;
+ this.requestedCallEvents = requestedCallEvents;
}
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallOptions.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallOptions.java
index 7a2fa269c4c0..dfc2621c0ddc 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallOptions.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallOptions.java
@@ -6,6 +6,8 @@
import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
/** The options for join call. */
@Fluent
public final class JoinCallOptions {
@@ -25,13 +27,13 @@ public final class JoinCallOptions {
* The requested MediaTypes.
*/
@JsonProperty(value = "requestedMediaTypes", required = true)
- private MediaType[] requestedMediaTypes;
+ private List requestedMediaTypes;
/*
* The requested call events to subscribe to.
*/
@JsonProperty(value = "requestedCallEvents", required = true)
- private EventSubscriptionType[] requestedCallEvents;
+ private List requestedCallEvents;
/**
* Get the subject property: The subject.
@@ -78,8 +80,8 @@ public JoinCallOptions setCallbackUri(String callbackUri) {
*
* @return the requestedMediaTypes value.
*/
- public MediaType[] getRequestedMediaTypes() {
- return requestedMediaTypes == null ? new MediaType[0] : requestedMediaTypes.clone();
+ public List getRequestedMediaTypes() {
+ return requestedMediaTypes;
}
/**
@@ -88,8 +90,8 @@ public MediaType[] getRequestedMediaTypes() {
* @param requestedMediaTypes the requestedModalities value to set.
* @return the JoinCallOptions object itself.
*/
- public JoinCallOptions setRequestedMediaTypes(MediaType[] requestedMediaTypes) {
- this.requestedMediaTypes = requestedMediaTypes == null ? new MediaType[0] : requestedMediaTypes.clone();
+ public JoinCallOptions setRequestedMediaTypes(List requestedMediaTypes) {
+ this.requestedMediaTypes = requestedMediaTypes;
return this;
}
@@ -99,8 +101,8 @@ public JoinCallOptions setRequestedMediaTypes(MediaType[] requestedMediaTypes) {
*
* @return the requestedCallEvents value.
*/
- public EventSubscriptionType[] getRequestedCallEvents() {
- return requestedCallEvents == null ? new EventSubscriptionType[0] : requestedCallEvents.clone();
+ public List getRequestedCallEvents() {
+ return requestedCallEvents;
}
/**
@@ -110,8 +112,8 @@ public EventSubscriptionType[] getRequestedCallEvents() {
* @param requestedCallEvents the requestedCallEvents value to set.
* @return the JoinCallOptions object itself.
*/
- public JoinCallOptions setRequestedCallEvents(EventSubscriptionType[] requestedCallEvents) {
- this.requestedCallEvents = requestedCallEvents == null ? new EventSubscriptionType[0] : requestedCallEvents.clone();
+ public JoinCallOptions setRequestedCallEvents(List requestedCallEvents) {
+ this.requestedCallEvents = requestedCallEvents;
return this;
}
@@ -125,22 +127,19 @@ public JoinCallOptions setRequestedCallEvents(EventSubscriptionType[] requestedC
*/
public JoinCallOptions(
String callbackUri,
- MediaType[] requestedMediaTypes,
- EventSubscriptionType[] requestedCallEvents) {
+ List requestedMediaTypes,
+ List requestedCallEvents) {
if (callbackUri == null) {
throw new IllegalArgumentException("object callbackUri cannot be null");
}
-
if (requestedMediaTypes == null) {
throw new IllegalArgumentException("object requestedMediaTypes cannot be null");
}
if (requestedCallEvents == null) {
throw new IllegalArgumentException("object requestedCallEvents cannot be null");
}
-
this.callbackUri = callbackUri;
-
- this.requestedMediaTypes = requestedMediaTypes.clone();
- this.requestedCallEvents = requestedCallEvents.clone();
+ this.requestedMediaTypes = requestedMediaTypes;
+ this.requestedCallEvents = requestedCallEvents;
}
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallResult.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallResult.java
deleted file mode 100644
index 2e57e3b3c898..000000000000
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/JoinCallResult.java
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-
-package com.azure.communication.callingserver.models;
-
-import com.azure.core.annotation.Immutable;
-
-/** The response payload of the join call operation. */
-@Immutable
-public final class JoinCallResult {
- /*
- * The call connection id.
- */
- private final String callConnectionId;
-
- /**
- * Get the callConnectionId property: The call connection id.
- *
- * @return the callConnectionId value.
- */
- public String getCallConnectionId() {
- return callConnectionId;
- }
-
- /**
- * Initializes a new instance of JoinCallResult.
- *
- * @param callConnectionId the callConnectionId value to set.
- */
- public JoinCallResult(String callConnectionId) {
- this.callConnectionId = callConnectionId;
- }
-}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ParallelDownloadOptions.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ParallelDownloadOptions.java
index 66519aad53ac..741c887385ad 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ParallelDownloadOptions.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ParallelDownloadOptions.java
@@ -30,7 +30,7 @@ public ParallelDownloadOptions() {
* Gets the block size (chunk size) to transfer at a time.
* @return The block size.
*/
- public long getBlockSizeLong() {
+ public long getBlockSize() {
return blockSize == null ? ContentDownloader.DEFAULT_BUFFER_SIZE : blockSize;
}
@@ -47,7 +47,7 @@ public long getBlockSizeLong() {
* @param blockSize The block size.
* @return The ParallelDownloadOptions object itself.
*/
- public ParallelDownloadOptions setBlockSizeLong(Long blockSize) {
+ public ParallelDownloadOptions setBlockSize(Long blockSize) {
if (blockSize != null) {
assertInBounds("blockSize", blockSize, 1, Long.MAX_VALUE);
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReceiver.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReceiver.java
index 6e300e663bcc..6e2b54a8c936 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReceiver.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/ProgressReceiver.java
@@ -3,17 +3,15 @@
package com.azure.communication.callingserver.models;
-import reactor.core.publisher.Flux;
-
/**
* A {@code ProgressReceiver} is an object that can be used to report progress on network transfers. When specified on
* transfer operations, the {@code reportProgress} method will be called periodically with the total number of bytes
- * transferred. The user may configure this method to report progress in whatever format desired. It is recommended
- * that this type be used in conjunction with {@link ProgressReporter#addProgressReporting(Flux, ProgressReceiver)} to
- * enable reporting on sequential transfers. Note that any method accepting a {@link ParallelDownloadOptions} will use
+ * transferred. The user may configure this method to report progress in whatever format desired.
+ * Note that any method accepting a {@link ParallelDownloadOptions} will use
* the {@code ProgressReceiver} specified there and will handle the logic to coordinate the reporting between parallel
* operations.
*/
+@FunctionalInterface
public interface ProgressReceiver {
/**
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/AddParticipantResultEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/AddParticipantResultEvent.java
index f3e2758ba268..cca79cedacb1 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/AddParticipantResultEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/AddParticipantResultEvent.java
@@ -63,7 +63,7 @@ public OperationStatus getStatus() {
* communications related to this operation
* @param status the status value.
*/
- public AddParticipantResultEvent(ResultInfo resultInfo, String operationContext, OperationStatus status) {
+ AddParticipantResultEvent(ResultInfo resultInfo, String operationContext, OperationStatus status) {
this.resultInfo = resultInfo;
this.operationContext = operationContext;
this.status = status;
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallConnectionStateChangedEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallConnectionStateChangedEvent.java
index 16c0658e2900..58567398f598 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallConnectionStateChangedEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallConnectionStateChangedEvent.java
@@ -60,7 +60,7 @@ public CallConnectionState getCallConnectionState() {
* @param callConnectionId the callConnectionId value.
* @param callConnectionState the callConnectionState value.
*/
- public CallConnectionStateChangedEvent(
+ CallConnectionStateChangedEvent(
String serverCallId,
String callConnectionId,
CallConnectionState callConnectionState) {
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallRecordingStateChangeEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallRecordingStateChangeEvent.java
index 317b7db464b3..dc541cac5d5d 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallRecordingStateChangeEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/CallRecordingStateChangeEvent.java
@@ -77,7 +77,7 @@ public String getServerCallId() {
* @param startDateTime the startDateTime value.
* @param serverCallId the serverCallId value.
*/
- public CallRecordingStateChangeEvent(
+ CallRecordingStateChangeEvent(
String recordingId,
CallRecordingState state,
OffsetDateTime startDateTime,
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ParticipantsUpdatedEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ParticipantsUpdatedEvent.java
index 30e81b39c9fb..0e1a2003f6d5 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ParticipantsUpdatedEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ParticipantsUpdatedEvent.java
@@ -26,7 +26,7 @@ public final class ParticipantsUpdatedEvent extends CallingServerEventBase {
/**
* The participants.
*/
- private final CallParticipant[] participants;
+ private final List participants;
/**
* Get the callConnectionId property: The call connection id.
@@ -43,8 +43,8 @@ public String getCallConnectionId() {
*
* @return the list of participants value.
*/
- public CallParticipant[] getParticipants() {
- return participants == null ? new CallParticipant[0] : participants.clone();
+ public List getParticipants() {
+ return participants;
}
/**
@@ -54,7 +54,7 @@ public CallParticipant[] getParticipants() {
* @param participants The participants
* @throws IllegalArgumentException if any parameter is null or empty.
*/
- public ParticipantsUpdatedEvent(String callConnectionId, CallParticipant[] participants) {
+ ParticipantsUpdatedEvent(String callConnectionId, List participants) {
if (callConnectionId == null || callConnectionId.isEmpty()) {
throw new IllegalArgumentException("object callConnectionId cannot be null or empty");
}
@@ -62,7 +62,7 @@ public ParticipantsUpdatedEvent(String callConnectionId, CallParticipant[] parti
throw new IllegalArgumentException("object participants cannot be null");
}
this.callConnectionId = callConnectionId;
- this.participants = participants.clone();
+ this.participants = participants;
}
/**
@@ -85,7 +85,6 @@ public static ParticipantsUpdatedEvent deserialize(BinaryData eventData) {
callParticipantInternal.isMuted()));
}
- return new ParticipantsUpdatedEvent(internalEvent.getCallConnectionId(),
- participants.toArray(new CallParticipant[0]));
+ return new ParticipantsUpdatedEvent(internalEvent.getCallConnectionId(), participants);
}
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/PlayAudioResultEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/PlayAudioResultEvent.java
index 7f4149dc5409..02041c8dad6c 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/PlayAudioResultEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/PlayAudioResultEvent.java
@@ -63,7 +63,7 @@ public OperationStatus getStatus() {
* communications related to this operation
* @param status the status value.
*/
- public PlayAudioResultEvent(ResultInfo resultInfo, String operationContext, OperationStatus status) {
+ PlayAudioResultEvent(ResultInfo resultInfo, String operationContext, OperationStatus status) {
this.resultInfo = resultInfo;
this.operationContext = operationContext;
this.status = status;
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ToneReceivedEvent.java b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ToneReceivedEvent.java
index 866fbcc4e0ae..c5075b016fe5 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ToneReceivedEvent.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/com/azure/communication/callingserver/models/events/ToneReceivedEvent.java
@@ -45,7 +45,7 @@ public String getCallConnectionId() {
* @param toneInfo the toneInfo value.
* @param callConnectionId the callConnectionId value.
*/
- public ToneReceivedEvent(ToneInfo toneInfo, String callConnectionId) {
+ ToneReceivedEvent(ToneInfo toneInfo, String callConnectionId) {
this.toneInfo = toneInfo;
this.callConnectionId = callConnectionId;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/main/java/module-info.java b/sdk/communication/azure-communication-callingserver/src/main/java/module-info.java
index b3ead38e94a3..5d9b0f10d9ff 100644
--- a/sdk/communication/azure-communication-callingserver/src/main/java/module-info.java
+++ b/sdk/communication/azure-communication-callingserver/src/main/java/module-info.java
@@ -13,4 +13,5 @@
// exporting some packages specifically for Jackson
opens com.azure.communication.callingserver.models to com.fasterxml.jackson.databind;
opens com.azure.communication.callingserver.implementation.models to com.fasterxml.jackson.databind, com.azure.core;
+ opens com.azure.communication.callingserver to com.fasterxml.jackson.databind;
}
diff --git a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerAsyncClientJavaDocCodeSnippets.java b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerAsyncClientJavaDocCodeSnippets.java
index 7e672afa8a34..798a78e2f6c9 100644
--- a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerAsyncClientJavaDocCodeSnippets.java
+++ b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerAsyncClientJavaDocCodeSnippets.java
@@ -11,6 +11,9 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
+import java.util.Arrays;
+import java.util.List;
+
public class CallingServerAsyncClientJavaDocCodeSnippets {
public CallingServerAsyncClient createCallingServerAsyncClientWithPipeline() {
@@ -44,12 +47,11 @@ public void createCallConnectionAsync() {
String callbackUri = "";
// BEGIN: com.azure.communication.callingserver.CallingServerAsyncClient.create.call.connection.async
- CommunicationIdentifier[] targets = new CommunicationIdentifier[] { firstCallee, secondCallee };
- MediaType[] requestedMediaTypes = new MediaType[] { MediaType.AUDIO, MediaType.VIDEO };
- EventSubscriptionType[] requestedCallEvents = new EventSubscriptionType[] {
+ List targets = Arrays.asList(firstCallee, secondCallee);
+ List requestedMediaTypes = Arrays.asList(MediaType.AUDIO, MediaType.VIDEO);
+ List requestedCallEvents = Arrays.asList(
EventSubscriptionType.DTMF_RECEIVED,
- EventSubscriptionType.PARTICIPANTS_UPDATED
- };
+ EventSubscriptionType.PARTICIPANTS_UPDATED);
CreateCallOptions createCallOptions = new CreateCallOptions(
callbackUri,
requestedMediaTypes,
diff --git a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerClientJavaDocCodeSnippets.java b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerClientJavaDocCodeSnippets.java
index edd91a97c388..c42cb9ec5617 100644
--- a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerClientJavaDocCodeSnippets.java
+++ b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/CallingServerClientJavaDocCodeSnippets.java
@@ -11,6 +11,9 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
+import java.util.Arrays;
+import java.util.List;
+
public class CallingServerClientJavaDocCodeSnippets {
public CallingServerClient createCallingServerClientWithPipeline() {
@@ -44,12 +47,11 @@ public void createCallConnection() {
String callbackUri = "";
// BEGIN: com.azure.communication.callingserver.CallingServerClient.create.call.connection
- CommunicationIdentifier[] targets = new CommunicationIdentifier[] { firstCallee, secondCallee };
- MediaType[] requestedMediaTypes = new MediaType[] { MediaType.AUDIO, MediaType.VIDEO };
- EventSubscriptionType[] requestedCallEvents = new EventSubscriptionType[] {
+ List targets = Arrays.asList(firstCallee, secondCallee);
+ List requestedMediaTypes = Arrays.asList(MediaType.AUDIO, MediaType.VIDEO);
+ List requestedCallEvents = Arrays.asList(
EventSubscriptionType.DTMF_RECEIVED,
- EventSubscriptionType.PARTICIPANTS_UPDATED
- };
+ EventSubscriptionType.PARTICIPANTS_UPDATED);
CreateCallOptions createCallOptions = new CreateCallOptions(
callbackUri,
requestedMediaTypes,
diff --git a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/ReadmeSamples.java b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/ReadmeSamples.java
index 71f3cbd6554a..4bba2b0d43c2 100644
--- a/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/ReadmeSamples.java
+++ b/sdk/communication/azure-communication-callingserver/src/samples/java/com/azure/communication/callingserver/ReadmeSamples.java
@@ -3,12 +3,16 @@
package com.azure.communication.callingserver;
-import com.azure.communication.callingserver.models.EventSubscriptionType;
import com.azure.communication.callingserver.models.CreateCallOptions;
+import com.azure.communication.callingserver.models.EventSubscriptionType;
import com.azure.communication.callingserver.models.MediaType;
import com.azure.communication.common.CommunicationIdentifier;
import com.azure.communication.common.CommunicationUserIdentifier;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.List;
+
/**
* WARNING: MODIFYING THIS FILE WILL REQUIRE CORRESPONDING UPDATES TO README.md FILE. LINE NUMBERS
* ARE USED TO EXTRACT APPROPRIATE CODE SEGMENTS FROM THIS FILE. ADD NEW CODE AT THE BOTTOM TO AVOID CHANGING
@@ -47,16 +51,15 @@ public void createCallConnection() {
CommunicationIdentifier firstCallee = new CommunicationUserIdentifier("");
CommunicationIdentifier secondCallee = new CommunicationUserIdentifier("");
- CommunicationIdentifier[] targets = new CommunicationIdentifier[] { firstCallee, secondCallee };
+ List targets = Arrays.asList(firstCallee, secondCallee);
String callbackUri = "";
- MediaType[] requestedMediaTypes = new MediaType[] { MediaType.AUDIO, MediaType.VIDEO };
+ List requestedMediaTypes = Arrays.asList(MediaType.AUDIO, MediaType.VIDEO);
- EventSubscriptionType[] requestedCallEvents = new EventSubscriptionType[] {
+ List requestedCallEvents = Arrays.asList(
EventSubscriptionType.DTMF_RECEIVED,
- EventSubscriptionType.PARTICIPANTS_UPDATED
- };
+ EventSubscriptionType.PARTICIPANTS_UPDATED);
CreateCallOptions createCallOptions = new CreateCallOptions(
callbackUri,
@@ -86,4 +89,19 @@ public void addParticipant() {
CommunicationIdentifier thirdCallee = new CommunicationUserIdentifier("");
callConnection.addParticipant(thirdCallee, "ACS User 3", "");
}
+
+ /**
+ * Sample code for downloading a recording into a file.
+ */
+ public void getRecordingStream() {
+ String recordingUrl = "https://ams.skype.com/objects/v1/document_id/video";
+ String filePath = "filePath.mp4";
+ CallingServerClient callingServerClient = createCallingServerClient();
+ callingServerClient.downloadTo(
+ recordingUrl,
+ Paths.get(filePath),
+ null,
+ true
+ );
+ }
}
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionAsyncLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionAsyncLiveTests.java
index f2f56f02a726..df0ded5848d0 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionAsyncLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionAsyncLiveTests.java
@@ -1,5 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
+
package com.azure.communication.callingserver;
import com.azure.communication.callingserver.models.AddParticipantResult;
@@ -8,8 +9,8 @@
import com.azure.communication.callingserver.models.EventSubscriptionType;
import com.azure.communication.callingserver.models.JoinCallOptions;
import com.azure.communication.callingserver.models.MediaType;
+import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
-import com.azure.communication.common.CommunicationIdentifier;
import com.azure.communication.common.CommunicationUserIdentifier;
import com.azure.communication.common.PhoneNumberIdentifier;
import com.azure.core.http.HttpClient;
@@ -18,6 +19,7 @@
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
+import java.util.Collections;
import java.util.UUID;
public class CallConnectionAsyncLiveTests extends CallingServerTestBase {
@@ -28,7 +30,7 @@ public class CallConnectionAsyncLiveTests extends CallingServerTestBase {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreatePlayCancelHangupScenarioAsync(HttpClient httpClient) {
@@ -40,14 +42,14 @@ public void runCreatePlayCancelHangupScenarioAsync(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnectionAsync callConnectionAsync = callingServerAsyncClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsync(callConnectionAsync);
@@ -80,7 +82,7 @@ public void runCreatePlayCancelHangupScenarioAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreatePlayCancelHangupScenarioWithResponseAsync(HttpClient httpClient) {
@@ -92,15 +94,15 @@ public void runCreatePlayCancelHangupScenarioWithResponseAsync(HttpClient httpCl
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionAsyncResponse =
callingServerAsyncClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsyncResponse(callConnectionAsyncResponse);
@@ -109,13 +111,14 @@ public void runCreatePlayCancelHangupScenarioWithResponseAsync(HttpClient httpCl
// Play Audio
String operationContext = UUID.randomUUID().toString();
+ PlayAudioOptions playAudioOptions =
+ new PlayAudioOptions()
+ .setLoop(false)
+ .setAudioFileId(UUID.randomUUID().toString())
+ .setCallbackUri(null)
+ .setOperationContext(operationContext);
Response playAudioResponse =
- callConnectionAsync.playAudioWithResponse(
- AUDIO_FILE_URI,
- false,
- UUID.randomUUID().toString(),
- null,
- operationContext).block();
+ callConnectionAsync.playAudioWithResponse(AUDIO_FILE_URI, playAudioOptions).block();
CallingServerTestUtils.validatePlayAudioResponse(playAudioResponse);
// Cancel All Media Operations
@@ -136,7 +139,7 @@ public void runCreatePlayCancelHangupScenarioWithResponseAsync(HttpClient httpCl
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateAddRemoveHangupScenarioAsync(HttpClient httpClient) {
@@ -148,14 +151,14 @@ public void runCreateAddRemoveHangupScenarioAsync(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnectionAsync callConnectionAsync = callingServerAsyncClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsync(callConnectionAsync);
@@ -183,7 +186,7 @@ public void runCreateAddRemoveHangupScenarioAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateAddRemoveHangupScenarioWithResponseAsync(HttpClient httpClient) {
@@ -195,15 +198,15 @@ public void runCreateAddRemoveHangupScenarioWithResponseAsync(HttpClient httpCli
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionAsyncResponse =
callingServerAsyncClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsyncResponse(callConnectionAsyncResponse);
@@ -237,7 +240,7 @@ public void runCreateAddRemoveHangupScenarioWithResponseAsync(HttpClient httpCli
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateJoinHangupScenarioAsync(HttpClient httpClient) {
@@ -249,14 +252,14 @@ public void runCreateJoinHangupScenarioAsync(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnectionAsync callConnectionAsync = callingServerAsyncClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsync(callConnectionAsync);
@@ -269,10 +272,10 @@ public void runCreateJoinHangupScenarioAsync(HttpClient httpClient) {
String serverCallId = "aHR0cHM6Ly94LWNvbnYtdXN3ZS0wMS5jb252LnNreXBlLmNvbS9jb252L3VodHNzZEZ3NFVHX1J4d1lHYWlLRmc_aT0yJmU9NjM3NTg0Mzk2NDM5NzQ5NzY4";
JoinCallOptions joinCallOptions = new JoinCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
CallConnectionAsync joinedCallConnectionAsync =
- callingServerAsyncClient.join(
+ callingServerAsyncClient.joinCall(
serverCallId,
new CommunicationUserIdentifier(toUser),
joinCallOptions).block();
@@ -292,7 +295,7 @@ public void runCreateJoinHangupScenarioAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateJoinHangupScenarioWithResponseAsync(HttpClient httpClient) {
@@ -304,15 +307,15 @@ public void runCreateJoinHangupScenarioWithResponseAsync(HttpClient httpClient)
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionAsyncResponse =
callingServerAsyncClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsyncResponse(callConnectionAsyncResponse);
@@ -327,10 +330,10 @@ public void runCreateJoinHangupScenarioWithResponseAsync(HttpClient httpClient)
String serverCallId = "aHR0cHM6Ly94LWNvbnYtdXN3ZS0wMS5jb252LnNreXBlLmNvbS9jb252L3lKQXY0TnVlOEV5bUpYVm1IYklIeUE_aT0wJmU9NjM3NTg0MzkwMjcxMzg0MTc3";
JoinCallOptions joinCallOptions = new JoinCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
Response joinedCallConnectionAsyncResponse =
- callingServerAsyncClient.joinWithResponse(
+ callingServerAsyncClient.joinCallWithResponse(
serverCallId,
new CommunicationUserIdentifier(toUser),
joinCallOptions).block();
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionLiveTests.java
index 4f3b5003bc76..479b46f9ea98 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallConnectionLiveTests.java
@@ -8,8 +8,8 @@
import com.azure.communication.callingserver.models.EventSubscriptionType;
import com.azure.communication.callingserver.models.JoinCallOptions;
import com.azure.communication.callingserver.models.MediaType;
+import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
-import com.azure.communication.common.CommunicationIdentifier;
import com.azure.communication.common.CommunicationUserIdentifier;
import com.azure.communication.common.PhoneNumberIdentifier;
import com.azure.core.http.HttpClient;
@@ -18,6 +18,7 @@
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
+import java.util.Collections;
import java.util.UUID;
public class CallConnectionLiveTests extends CallingServerTestBase {
@@ -28,7 +29,7 @@ public class CallConnectionLiveTests extends CallingServerTestBase {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreatePlayCancelHangupScenario(HttpClient httpClient) {
@@ -39,14 +40,14 @@ public void runCreatePlayCancelHangupScenario(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnection callConnection = callingServerClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options);
CallingServerTestUtils.validateCallConnection(callConnection);
@@ -78,7 +79,7 @@ public void runCreatePlayCancelHangupScenario(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreatePlayCancelHangupScenarioWithResponse(HttpClient httpClient) {
@@ -90,15 +91,15 @@ public void runCreatePlayCancelHangupScenarioWithResponse(HttpClient httpClient)
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionResponse =
callingServerClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options,
null);
@@ -107,14 +108,14 @@ public void runCreatePlayCancelHangupScenarioWithResponse(HttpClient httpClient)
// Play Audio
String operationContext = UUID.randomUUID().toString();
+ PlayAudioOptions playAudioOptions =
+ new PlayAudioOptions()
+ .setLoop(false)
+ .setAudioFileId(UUID.randomUUID().toString())
+ .setCallbackUri(null)
+ .setOperationContext(operationContext);
Response playAudioResult =
- callConnection.playAudioWithResponse(
- AUDIO_FILE_URI,
- false,
- UUID.randomUUID().toString(),
- null,
- operationContext,
- null);
+ callConnection.playAudioWithResponse(AUDIO_FILE_URI, playAudioOptions, null);
CallingServerTestUtils.validatePlayAudioResponse(playAudioResult);
// Cancel All Media Operations
@@ -135,7 +136,7 @@ public void runCreatePlayCancelHangupScenarioWithResponse(HttpClient httpClient)
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateAddRemoveHangupScenario(HttpClient httpClient) {
@@ -146,14 +147,14 @@ public void runCreateAddRemoveHangupScenario(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnection callConnection = callingServerClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options);
CallingServerTestUtils.validateCallConnection(callConnection);
@@ -176,7 +177,7 @@ public void runCreateAddRemoveHangupScenario(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateAddRemoveHangupScenarioWithResponse(HttpClient httpClient) {
@@ -188,15 +189,15 @@ public void runCreateAddRemoveHangupScenarioWithResponse(HttpClient httpClient)
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionResponse =
callingServerClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options,
null);
@@ -230,7 +231,7 @@ public void runCreateAddRemoveHangupScenarioWithResponse(HttpClient httpClient)
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateJoinHangupScenario(HttpClient httpClient) {
@@ -241,14 +242,14 @@ public void runCreateJoinHangupScenario(HttpClient httpClient) {
// Establish a call
CreateCallOptions createCallOptions = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
createCallOptions.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnection callConnection = callingServerClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
createCallOptions);
CallingServerTestUtils.validateCallConnection(callConnection);
@@ -261,10 +262,10 @@ public void runCreateJoinHangupScenario(HttpClient httpClient) {
String serverCallId = "aHR0cHM6Ly94LWNvbnYtdXN3ZS0wMS5jb252LnNreXBlLmNvbS9jb252L2RUUjRPVGFxVzAyZ3cxVGpNSUNBdEE_aT0wJmU9NjM3NTg0MzkwMjcxMzg0MTc3";
JoinCallOptions joinCallOptions = new JoinCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
CallConnection joinedCallConnection =
- callingServerClient.join(serverCallId, new CommunicationUserIdentifier(toUser), joinCallOptions);
+ callingServerClient.joinCall(serverCallId, new CommunicationUserIdentifier(toUser), joinCallOptions);
CallingServerTestUtils.validateCallConnection(joinedCallConnection);
//Hangup
@@ -279,7 +280,7 @@ public void runCreateJoinHangupScenario(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runCreateJoinHangupScenarioWithResponse(HttpClient httpClient) {
@@ -291,14 +292,14 @@ public void runCreateJoinHangupScenarioWithResponse(HttpClient httpClient) {
// Establish a call
CreateCallOptions createCallOptions = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
createCallOptions.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
Response callConnectionResponse = callingServerClient.createCallConnectionWithResponse(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
createCallOptions,
null);
@@ -309,10 +310,10 @@ public void runCreateJoinHangupScenarioWithResponse(HttpClient httpClient) {
String serverCallId = "aHR0cHM6Ly94LWNvbnYtdXN3ZS0wMS5jb252LnNreXBlLmNvbS9jb252L3dXZW9hNjAweGtPZ0d6eHE2eG1tQVE_aT0yJmU9NjM3NTg0Mzk2NDM5NzQ5NzY4";
JoinCallOptions joinCallOptions = new JoinCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
Response joinedCallConnectionResponse =
- callingServerClient.joinWithResponse(
+ callingServerClient.joinCallWithResponse(
serverCallId,
new CommunicationUserIdentifier(toUser),
joinCallOptions,
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallingServerTestBase.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallingServerTestBase.java
index 7307e021cff6..f1ea73fdb1a6 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallingServerTestBase.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/CallingServerTestBase.java
@@ -23,6 +23,7 @@
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.StringJoiner;
@@ -41,7 +42,7 @@ public class CallingServerTestBase extends TestBase {
.get("COMMUNICATION_LIVETEST_STATIC_CONNECTION_STRING",
"endpoint=https://REDACTED.communication.azure.com/;accesskey=QWNjZXNzS2V5");
- protected static final String RESOURCE_IDENTIFIER = Configuration.getGlobalConfiguration()
+ protected static final String AZURE_TENANT_ID = Configuration.getGlobalConfiguration()
.get("COMMUNICATION_LIVETEST_STATIC_RESOURCE_IDENTIFIER",
"016a7064-0581-40b9-be73-6dde64d69d72");
@@ -98,8 +99,8 @@ protected String getNewUserId() {
return getRandomUserId();
}
- private String getRandomUserId() {
- return "8:acs:" + RESOURCE_IDENTIFIER + "_" + UUID.randomUUID();
+ protected String getRandomUserId() {
+ return "8:acs:" + AZURE_TENANT_ID + "_" + UUID.randomUUID();
}
protected String getGroupId(String testName) {
@@ -176,18 +177,18 @@ protected List createCall(CallingServerClient callingServerClien
JoinCallOptions fromCallOptions = new JoinCallOptions(
callBackUri,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
- fromCallConnection = callingServerClient.join(groupId, fromParticipant, fromCallOptions);
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
+ fromCallConnection = callingServerClient.joinCall(groupId, fromParticipant, fromCallOptions);
sleepIfRunningAgainstService(1000);
CallingServerTestUtils.validateCallConnection(fromCallConnection);
JoinCallOptions joinCallOptions = new JoinCallOptions(
callBackUri,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
- toCallConnection = callingServerClient.join(groupId, toParticipant, joinCallOptions);
+ toCallConnection = callingServerClient.joinCall(groupId, toParticipant, joinCallOptions);
sleepIfRunningAgainstService(1000);
CallingServerTestUtils.validateCallConnection(toCallConnection);
@@ -221,18 +222,18 @@ protected List createAsyncCall(CallingServerAsyncClient cal
JoinCallOptions fromCallOptions = new JoinCallOptions(
callBackUri,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
- fromCallConnection = callingServerClient.join(groupId, fromParticipant, fromCallOptions).block();
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
+ fromCallConnection = callingServerClient.joinCall(groupId, fromParticipant, fromCallOptions).block();
sleepIfRunningAgainstService(1000);
CallingServerTestUtils.validateCallConnectionAsync(fromCallConnection);
JoinCallOptions joinCallOptions = new JoinCallOptions(
callBackUri,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
- toCallConnection = callingServerClient.join(groupId, toParticipant, joinCallOptions).block();
+ toCallConnection = callingServerClient.joinCall(groupId, toParticipant, joinCallOptions).block();
sleepIfRunningAgainstService(1000);
CallingServerTestUtils.validateCallConnectionAsync(toCallConnection);
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentAsyncLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentAsyncLiveTests.java
index 899ffe2d8f77..66c78edcb63d 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentAsyncLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentAsyncLiveTests.java
@@ -36,7 +36,7 @@ public class DownloadContentAsyncLiveTests extends CallingServerTestBase {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadMetadataAsync(HttpClient httpClient) {
@@ -58,12 +58,12 @@ public void downloadMetadataAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadMetadataRetryingAsync(HttpClient httpClient) {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
- CallingServerAsyncClient conversationAsyncClient = setupAsyncClient(builder, "downloadMetadataAsync");
+ CallingServerAsyncClient conversationAsyncClient = setupAsyncClient(builder, "downloadMetadataRetryingAsync");
try {
Flux content = conversationAsyncClient.downloadStream(METADATA_URL);
@@ -80,7 +80,7 @@ public void downloadMetadataRetryingAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadVideoAsync(HttpClient httpClient) {
@@ -102,7 +102,7 @@ public void downloadVideoAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadToFileAsync(HttpClient httpClient) {
@@ -127,7 +127,7 @@ public void downloadToFileAsync(HttpClient httpClient) {
.downloadToWithResponse(METADATA_URL,
Paths.get("dummyPath"),
channel,
- new ParallelDownloadOptions().setBlockSizeLong(479L),
+ new ParallelDownloadOptions().setBlockSize(479L),
null).block();
Mockito.verify(channel, times(2)).write(any(ByteBuffer.class), anyLong(),
@@ -137,12 +137,12 @@ public void downloadToFileAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadToFileRetryingAsync(HttpClient httpClient) {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
- CallingServerAsyncClient conversationAsyncClient = setupAsyncClient(builder, "downloadToFileAsync");
+ CallingServerAsyncClient conversationAsyncClient = setupAsyncClient(builder, "downloadToFileRetryingAsync");
AsynchronousFileChannel channel = Mockito.mock(AsynchronousFileChannel.class);
doAnswer(invocation -> {
@@ -171,6 +171,10 @@ public void downloadToFileRetryingAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
+ @DisabledIfEnvironmentVariable(
+ named = "SKIP_LIVE_TEST",
+ matches = "(?i)(true)",
+ disabledReason = "Requires human intervention")
public void downloadContent404Async(HttpClient httpClient) {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
CallingServerAsyncClient conversationAsyncClient = setupAsyncClient(builder, "downloadContent404Async");
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentLiveTests.java
index 24433330c069..d1b508bac18a 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/DownloadContentLiveTests.java
@@ -29,7 +29,7 @@ public class DownloadContentLiveTests extends CallingServerTestBase {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadMetadata(HttpClient httpClient) throws UnsupportedEncodingException {
@@ -50,7 +50,7 @@ public void downloadMetadata(HttpClient httpClient) throws UnsupportedEncodingEx
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void downloadVideo(HttpClient httpClient) {
@@ -76,6 +76,10 @@ public void downloadVideo(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
+ @DisabledIfEnvironmentVariable(
+ named = "SKIP_LIVE_TEST",
+ matches = "(?i)(true)",
+ disabledReason = "Requires human intervention")
public void downloadContent404(HttpClient httpClient) {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
CallingServerClient conversationClient = setupClient(builder, "downloadContent404");
@@ -91,7 +95,7 @@ public void downloadContent404(HttpClient httpClient) {
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
public void downloadContentWrongUrl(HttpClient httpClient) {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
- CallingServerClient conversationClient = setupClient(builder, "downloadContent404");
+ CallingServerClient conversationClient = setupClient(builder, "downloadContentWrongUrl");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
IllegalArgumentException ex =
@@ -104,6 +108,10 @@ public void downloadContentWrongUrl(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
+ @DisabledIfEnvironmentVariable(
+ named = "SKIP_LIVE_TEST",
+ matches = "(?i)(true)",
+ disabledReason = "Requires human intervention")
public void downloadContentStreamFailure(HttpClient httpClient) throws IOException {
CallingServerClientBuilder builder = getConversationClientUsingConnectionString(httpClient);
CallingServerClient conversationClient = setupClient(builder, "downloadContent404");
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallAsyncLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallAsyncLiveTests.java
index f6c5c62a50c6..517fb9c0917e 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallAsyncLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallAsyncLiveTests.java
@@ -13,7 +13,6 @@
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
import com.azure.communication.callingserver.models.StartCallRecordingResult;
-import com.azure.communication.common.CommunicationIdentifier;
import com.azure.communication.common.CommunicationUserIdentifier;
import com.azure.communication.common.PhoneNumberIdentifier;
import com.azure.core.http.HttpClient;
@@ -23,6 +22,7 @@
import org.junit.jupiter.params.provider.MethodSource;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.UUID;
@@ -31,8 +31,8 @@
public class ServerCallAsyncLiveTests extends CallingServerTestBase {
- private final String fromUser = getNewUserId();
- private final String toUser = getNewUserId();
+ private final String fromUser = getRandomUserId();
+ private final String toUser = getRandomUserId();
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@@ -209,7 +209,7 @@ public void startRecordingFailsAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runAddRemoveScenarioAsync(HttpClient httpClient) {
@@ -221,14 +221,14 @@ public void runAddRemoveScenarioAsync(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnectionAsync callConnectionAsync = callingServerAsyncClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsync(callConnectionAsync);
@@ -267,7 +267,7 @@ public void runAddRemoveScenarioAsync(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runAddRemoveScenarioWithResponseAsync(HttpClient httpClient) {
@@ -278,14 +278,14 @@ public void runAddRemoveScenarioWithResponseAsync(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnectionAsync callConnectionAsync = callingServerAsyncClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options).block();
CallingServerTestUtils.validateCallConnectionAsync(callConnectionAsync);
diff --git a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallLiveTests.java b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallLiveTests.java
index bd98c67c09be..d84a635db2c2 100644
--- a/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallLiveTests.java
+++ b/sdk/communication/azure-communication-callingserver/src/test/java/com/azure/communication/callingserver/ServerCallLiveTests.java
@@ -13,7 +13,6 @@
import com.azure.communication.callingserver.models.PlayAudioOptions;
import com.azure.communication.callingserver.models.PlayAudioResult;
import com.azure.communication.callingserver.models.StartCallRecordingResult;
-import com.azure.communication.common.CommunicationIdentifier;
import com.azure.communication.common.CommunicationUserIdentifier;
import com.azure.communication.common.PhoneNumberIdentifier;
import com.azure.core.http.HttpClient;
@@ -24,6 +23,7 @@
import org.junit.jupiter.params.provider.MethodSource;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.UUID;
@@ -36,8 +36,8 @@
public class ServerCallLiveTests extends CallingServerTestBase {
- private final String fromUser = getNewUserId();
- private final String toUser = getNewUserId();
+ private final String fromUser = getRandomUserId();
+ private final String toUser = getRandomUserId();
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@@ -167,13 +167,16 @@ public void runPlayAudioFunctionWithResponse(HttpClient httpClient) {
try {
callConnections = createCall(callingServerClient, groupId, fromUser, toUser, CALLBACK_URI);
+ PlayAudioOptions playAudioOptions =
+ new PlayAudioOptions()
+ .setLoop(false)
+ .setAudioFileId(UUID.randomUUID().toString())
+ .setCallbackUri(CALLBACK_URI)
+ .setOperationContext(operationContext);
serverCall = callingServerClient.initializeServerCall(groupId);
Response playAudioResult =
- serverCall.playAudioWithResponse(
- AUDIO_FILE_URI, operationContext,
- CALLBACK_URI, operationContext,
- Context.NONE);
+ serverCall.playAudioWithResponse(AUDIO_FILE_URI, playAudioOptions, Context.NONE);
validatePlayAudioResponse(playAudioResult);
} catch (Exception e) {
@@ -204,7 +207,7 @@ public void startRecordingFails(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runAddRemoveScenario(HttpClient httpClient) {
@@ -214,14 +217,14 @@ public void runAddRemoveScenario(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnection callConnection = callingServerClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options);
validateCallConnection(callConnection);
@@ -257,7 +260,7 @@ public void runAddRemoveScenario(HttpClient httpClient) {
@ParameterizedTest
@MethodSource("com.azure.core.test.TestBase#getHttpClients")
@DisabledIfEnvironmentVariable(
- named = "RUN_CALLINGSERVER_TEST_RECORD",
+ named = "SKIP_LIVE_TEST",
matches = "(?i)(true)",
disabledReason = "Requires human intervention")
public void runAddRemoveScenarioWithResponse(HttpClient httpClient) {
@@ -268,14 +271,14 @@ public void runAddRemoveScenarioWithResponse(HttpClient httpClient) {
// Establish a call
CreateCallOptions options = new CreateCallOptions(
CALLBACK_URI,
- new MediaType[] { MediaType.AUDIO },
- new EventSubscriptionType[] { EventSubscriptionType.PARTICIPANTS_UPDATED });
+ Collections.singletonList(MediaType.AUDIO),
+ Collections.singletonList(EventSubscriptionType.PARTICIPANTS_UPDATED));
options.setAlternateCallerId(new PhoneNumberIdentifier(FROM_PHONE_NUMBER));
CallConnection callConnection = callingServerClient.createCallConnection(
new CommunicationUserIdentifier(fromUser),
- new CommunicationIdentifier[] { new PhoneNumberIdentifier(TO_PHONE_NUMBER) },
+ Collections.singletonList(new PhoneNumberIdentifier(TO_PHONE_NUMBER)),
options);
validateCallConnection(callConnection);
diff --git a/sdk/communication/azure-communication-callingserver/swagger/README.md b/sdk/communication/azure-communication-callingserver/swagger/README.md
index cd4929b924c0..4443936f29d6 100644
--- a/sdk/communication/azure-communication-callingserver/swagger/README.md
+++ b/sdk/communication/azure-communication-callingserver/swagger/README.md
@@ -33,7 +33,7 @@ To update generated files for calling service, run the following command
``` yaml
tag: package-2021-06-15-preview
require:
- - https://github.com/Azure/azure-rest-api-specs/blob/60ae3d6b8806c896f2e54e4bfd900357dbcfd54a/specification/communication/data-plane/CallingServer/readme.md
+ - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/b4b5fa5ee23f8cce9e1ade4a82076b4c34b25651/specification/communication/data-plane/CallingServer/readme.md
java: true
output-folder: ..\
license-header: MICROSOFT_MIT_SMALL
diff --git a/sdk/communication/azure-communication-callingserver/tests.yml b/sdk/communication/azure-communication-callingserver/tests.yml
index b66a73564925..afd6c1d77924 100644
--- a/sdk/communication/azure-communication-callingserver/tests.yml
+++ b/sdk/communication/azure-communication-callingserver/tests.yml
@@ -5,3 +5,4 @@ stages:
parameters:
PackageName: azure-communication-callingserver
SafeName: azurecommunicationcallingserver
+
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/CHANGELOG.md b/sdk/containerservice/azure-resourcemanager-containerservice-generated/CHANGELOG.md
new file mode 100644
index 000000000000..4c71a7c206f8
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-06-22)
+
+- Azure Resource Manager ContainerService client library for Java. This package contains Microsoft Azure SDK for ContainerService Management SDK. Container Service Client. Package tag package-2021-05. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/README.md b/sdk/containerservice/azure-resourcemanager-containerservice-generated/README.md
new file mode 100644
index 000000000000..dd50c14d90ef
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager ContainerService client library for Java
+
+Azure Resource Manager ContainerService client library for Java.
+
+This package contains Microsoft Azure SDK for ContainerService Management SDK. Container Service Client. Package tag package-2021-05. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-containerservice-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-containerservice-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+ContainerServiceManager manager = ContainerServiceManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/pom.xml b/sdk/containerservice/azure-resourcemanager-containerservice-generated/pom.xml
new file mode 100644
index 000000000000..bd9372a94db2
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/pom.xml
@@ -0,0 +1,86 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-containerservice-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for ContainerService Management
+ This package contains Microsoft Azure SDK for ContainerService Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Container Service Client. Package tag package-2021-05.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.17.0
+
+
+ com.azure
+ azure-core-management
+ 1.3.0
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/ContainerServiceManager.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/ContainerServiceManager.java
new file mode 100644
index 000000000000..3695a9a5cadc
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/ContainerServiceManager.java
@@ -0,0 +1,327 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.fluent.ContainerServiceManagementClient;
+import com.azure.resourcemanager.containerservice.generated.implementation.AgentPoolsImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.ContainerServiceManagementClientBuilder;
+import com.azure.resourcemanager.containerservice.generated.implementation.ContainerServicesImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.MaintenanceConfigurationsImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.ManagedClustersImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.OpenShiftManagedClustersImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.PrivateEndpointConnectionsImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.PrivateLinkResourcesImpl;
+import com.azure.resourcemanager.containerservice.generated.implementation.ResolvePrivateLinkServiceIdsImpl;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPools;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServices;
+import com.azure.resourcemanager.containerservice.generated.models.MaintenanceConfigurations;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusters;
+import com.azure.resourcemanager.containerservice.generated.models.OpenShiftManagedClusters;
+import com.azure.resourcemanager.containerservice.generated.models.Operations;
+import com.azure.resourcemanager.containerservice.generated.models.PrivateEndpointConnections;
+import com.azure.resourcemanager.containerservice.generated.models.PrivateLinkResources;
+import com.azure.resourcemanager.containerservice.generated.models.ResolvePrivateLinkServiceIds;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to ContainerServiceManager. Container Service Client. */
+public final class ContainerServiceManager {
+ private OpenShiftManagedClusters openShiftManagedClusters;
+
+ private ContainerServices containerServices;
+
+ private Operations operations;
+
+ private ManagedClusters managedClusters;
+
+ private MaintenanceConfigurations maintenanceConfigurations;
+
+ private AgentPools agentPools;
+
+ private PrivateEndpointConnections privateEndpointConnections;
+
+ private PrivateLinkResources privateLinkResources;
+
+ private ResolvePrivateLinkServiceIds resolvePrivateLinkServiceIds;
+
+ private final ContainerServiceManagementClient clientObject;
+
+ private ContainerServiceManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new ContainerServiceManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of ContainerService service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ContainerService service API instance.
+ */
+ public static ContainerServiceManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create ContainerServiceManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new ContainerServiceManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of ContainerService service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ContainerService service API instance.
+ */
+ public ContainerServiceManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.containerservice.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new ContainerServiceManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of OpenShiftManagedClusters. */
+ public OpenShiftManagedClusters openShiftManagedClusters() {
+ if (this.openShiftManagedClusters == null) {
+ this.openShiftManagedClusters =
+ new OpenShiftManagedClustersImpl(clientObject.getOpenShiftManagedClusters(), this);
+ }
+ return openShiftManagedClusters;
+ }
+
+ /** @return Resource collection API of ContainerServices. */
+ public ContainerServices containerServices() {
+ if (this.containerServices == null) {
+ this.containerServices = new ContainerServicesImpl(clientObject.getContainerServices(), this);
+ }
+ return containerServices;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of ManagedClusters. */
+ public ManagedClusters managedClusters() {
+ if (this.managedClusters == null) {
+ this.managedClusters = new ManagedClustersImpl(clientObject.getManagedClusters(), this);
+ }
+ return managedClusters;
+ }
+
+ /** @return Resource collection API of MaintenanceConfigurations. */
+ public MaintenanceConfigurations maintenanceConfigurations() {
+ if (this.maintenanceConfigurations == null) {
+ this.maintenanceConfigurations =
+ new MaintenanceConfigurationsImpl(clientObject.getMaintenanceConfigurations(), this);
+ }
+ return maintenanceConfigurations;
+ }
+
+ /** @return Resource collection API of AgentPools. */
+ public AgentPools agentPools() {
+ if (this.agentPools == null) {
+ this.agentPools = new AgentPoolsImpl(clientObject.getAgentPools(), this);
+ }
+ return agentPools;
+ }
+
+ /** @return Resource collection API of PrivateEndpointConnections. */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /** @return Resource collection API of PrivateLinkResources. */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /** @return Resource collection API of ResolvePrivateLinkServiceIds. */
+ public ResolvePrivateLinkServiceIds resolvePrivateLinkServiceIds() {
+ if (this.resolvePrivateLinkServiceIds == null) {
+ this.resolvePrivateLinkServiceIds =
+ new ResolvePrivateLinkServiceIdsImpl(clientObject.getResolvePrivateLinkServiceIds(), this);
+ }
+ return resolvePrivateLinkServiceIds;
+ }
+
+ /**
+ * @return Wrapped service client ContainerServiceManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public ContainerServiceManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/AgentPoolsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/AgentPoolsClient.java
new file mode 100644
index 000000000000..0599eb2f1f93
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/AgentPoolsClient.java
@@ -0,0 +1,336 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.AgentPoolAvailableVersionsInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.AgentPoolInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.AgentPoolUpgradeProfileInner;
+
+/** An instance of this class provides access to all the operations defined in AgentPoolsClient. */
+public interface AgentPoolsClient {
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of agent pools in the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of agent pools in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of agent pools in the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets the specified managed cluster agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified managed cluster agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner get(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets the specified managed cluster agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified managed cluster agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Creates or updates an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AgentPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, String agentPoolName, AgentPoolInner parameters);
+
+ /**
+ * Creates or updates an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AgentPoolInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String agentPoolName,
+ AgentPoolInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner createOrUpdate(
+ String resourceGroupName, String resourceName, String agentPoolName, AgentPoolInner parameters);
+
+ /**
+ * Creates or updates an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param parameters The agent pool to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return agent Pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner createOrUpdate(
+ String resourceGroupName,
+ String resourceName,
+ String agentPoolName,
+ AgentPoolInner parameters,
+ Context context);
+
+ /**
+ * Deletes an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Deletes an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Deletes an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Deletes an agent pool in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Gets the upgrade profile for an agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the upgrade profile for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolUpgradeProfileInner getUpgradeProfile(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Gets the upgrade profile for an agent pool.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the upgrade profile for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpgradeProfileWithResponse(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more
+ * details about the version lifecycle.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available versions for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolAvailableVersionsInner getAvailableAgentPoolVersions(String resourceGroupName, String resourceName);
+
+ /**
+ * See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more
+ * details about the version lifecycle.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of available versions for an agent pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAvailableAgentPoolVersionsWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AgentPoolInner> beginUpgradeNodeImageVersion(
+ String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AgentPoolInner> beginUpgradeNodeImageVersion(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+
+ /**
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner upgradeNodeImageVersion(String resourceGroupName, String resourceName, String agentPoolName);
+
+ /**
+ * Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS
+ * provides one new image per week with the latest updates. For more details on node image versions, see:
+ * https://docs.microsoft.com/azure/aks/node-image-upgrade.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param agentPoolName The name of the agent pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentPoolInner upgradeNodeImageVersion(
+ String resourceGroupName, String resourceName, String agentPoolName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServiceManagementClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServiceManagementClient.java
new file mode 100644
index 000000000000..894d09791b3b
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServiceManagementClient.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for ContainerServiceManagementClient class. */
+public interface ContainerServiceManagementClient {
+ /**
+ * Gets Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms
+ * part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OpenShiftManagedClustersClient object to access its operations.
+ *
+ * @return the OpenShiftManagedClustersClient object.
+ */
+ OpenShiftManagedClustersClient getOpenShiftManagedClusters();
+
+ /**
+ * Gets the ContainerServicesClient object to access its operations.
+ *
+ * @return the ContainerServicesClient object.
+ */
+ ContainerServicesClient getContainerServices();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the ManagedClustersClient object to access its operations.
+ *
+ * @return the ManagedClustersClient object.
+ */
+ ManagedClustersClient getManagedClusters();
+
+ /**
+ * Gets the MaintenanceConfigurationsClient object to access its operations.
+ *
+ * @return the MaintenanceConfigurationsClient object.
+ */
+ MaintenanceConfigurationsClient getMaintenanceConfigurations();
+
+ /**
+ * Gets the AgentPoolsClient object to access its operations.
+ *
+ * @return the AgentPoolsClient object.
+ */
+ AgentPoolsClient getAgentPools();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ PrivateLinkResourcesClient getPrivateLinkResources();
+
+ /**
+ * Gets the ResolvePrivateLinkServiceIdsClient object to access its operations.
+ *
+ * @return the ResolvePrivateLinkServiceIdsClient object.
+ */
+ ResolvePrivateLinkServiceIdsClient getResolvePrivateLinkServiceIds();
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServicesClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServicesClient.java
new file mode 100644
index 000000000000..088837879dba
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ContainerServicesClient.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.ContainerServiceInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.OrchestratorVersionProfileListResultInner;
+
+/** An instance of this class provides access to all the operations defined in ContainerServicesClient. */
+public interface ContainerServicesClient {
+ /**
+ * Gets a list of container services in the specified subscription. The operation returns properties of each
+ * container service including state, orchestrator, number of masters and agents, and FQDNs of masters and agents.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of container services in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of container services in the specified subscription. The operation returns properties of each
+ * container service including state, orchestrator, number of masters and agents, and FQDNs of masters and agents.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of container services in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator, masters, and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return container service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ContainerServiceInner> beginCreateOrUpdate(
+ String resourceGroupName, String containerServiceName, ContainerServiceInner parameters);
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator, masters, and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return container service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ContainerServiceInner> beginCreateOrUpdate(
+ String resourceGroupName, String containerServiceName, ContainerServiceInner parameters, Context context);
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator, masters, and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return container service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContainerServiceInner createOrUpdate(
+ String resourceGroupName, String containerServiceName, ContainerServiceInner parameters);
+
+ /**
+ * Creates or updates a container service with the specified configuration of orchestrator, masters, and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param parameters Parameters supplied to the Create or Update a Container Service operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return container service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContainerServiceInner createOrUpdate(
+ String resourceGroupName, String containerServiceName, ContainerServiceInner parameters, Context context);
+
+ /**
+ * Gets the properties of the specified container service in the specified subscription and resource group. The
+ * operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of
+ * masters and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified container service in the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContainerServiceInner getByResourceGroup(String resourceGroupName, String containerServiceName);
+
+ /**
+ * Gets the properties of the specified container service in the specified subscription and resource group. The
+ * operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of
+ * masters and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of the specified container service in the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String containerServiceName, Context context);
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The operation does not
+ * delete other resources created as part of creating a container service, including storage accounts, VMs, and
+ * availability sets. All the other resources created with the container service are part of the same resource group
+ * and can be deleted individually.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String containerServiceName);
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The operation does not
+ * delete other resources created as part of creating a container service, including storage accounts, VMs, and
+ * availability sets. All the other resources created with the container service are part of the same resource group
+ * and can be deleted individually.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String containerServiceName, Context context);
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The operation does not
+ * delete other resources created as part of creating a container service, including storage accounts, VMs, and
+ * availability sets. All the other resources created with the container service are part of the same resource group
+ * and can be deleted individually.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String containerServiceName);
+
+ /**
+ * Deletes the specified container service in the specified subscription and resource group. The operation does not
+ * delete other resources created as part of creating a container service, including storage accounts, VMs, and
+ * availability sets. All the other resources created with the container service are part of the same resource group
+ * and can be deleted individually.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param containerServiceName The name of the container service in the specified subscription and resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String containerServiceName, Context context);
+
+ /**
+ * Gets a list of container services in the specified subscription and resource group. The operation returns
+ * properties of each container service including state, orchestrator, number of masters and agents, and FQDNs of
+ * masters and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of container services in the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets a list of container services in the specified subscription and resource group. The operation returns
+ * properties of each container service including state, orchestrator, number of masters and agents, and FQDNs of
+ * masters and agents.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of container services in the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each
+ * orchestrator including version, available upgrades and whether that version or upgrades are in preview.
+ *
+ * @param location The name of a supported Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported orchestrators in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OrchestratorVersionProfileListResultInner listOrchestrators(String location);
+
+ /**
+ * Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each
+ * orchestrator including version, available upgrades and whether that version or upgrades are in preview.
+ *
+ * @param location The name of a supported Azure region.
+ * @param resourceType resource type for which the list of orchestrators needs to be returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of supported orchestrators in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listOrchestratorsWithResponse(
+ String location, String resourceType, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/MaintenanceConfigurationsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/MaintenanceConfigurationsClient.java
new file mode 100644
index 000000000000..08bb84baea73
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/MaintenanceConfigurationsClient.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.MaintenanceConfigurationInner;
+
+/** An instance of this class provides access to all the operations defined in MaintenanceConfigurationsClient. */
+public interface MaintenanceConfigurationsClient {
+ /**
+ * Gets a list of maintenance configurations in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of maintenance configurations in the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of maintenance configurations in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of maintenance configurations in the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByManagedCluster(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Gets the specified maintenance configuration of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified maintenance configuration of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MaintenanceConfigurationInner get(String resourceGroupName, String resourceName, String configName);
+
+ /**
+ * Gets the specified maintenance configuration of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified maintenance configuration of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String configName, Context context);
+
+ /**
+ * Creates or updates a maintenance configuration in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @param parameters The maintenance configuration to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return see [planned maintenance](https://docs.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MaintenanceConfigurationInner createOrUpdate(
+ String resourceGroupName, String resourceName, String configName, MaintenanceConfigurationInner parameters);
+
+ /**
+ * Creates or updates a maintenance configuration in the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @param parameters The maintenance configuration to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return see [planned maintenance](https://docs.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String resourceName,
+ String configName,
+ MaintenanceConfigurationInner parameters,
+ Context context);
+
+ /**
+ * Deletes a maintenance configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, String configName);
+
+ /**
+ * Deletes a maintenance configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param configName The name of the maintenance configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String resourceName, String configName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ManagedClustersClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ManagedClustersClient.java
new file mode 100644
index 000000000000..ca91f31c9afa
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ManagedClustersClient.java
@@ -0,0 +1,885 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.CredentialResultsInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.ManagedClusterAccessProfileInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.ManagedClusterInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.ManagedClusterUpgradeProfileInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.OSOptionProfileInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.OutboundEnvironmentEndpointInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.RunCommandResultInner;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterAadProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterServicePrincipalProfile;
+import com.azure.resourcemanager.containerservice.generated.models.RunCommandRequest;
+import com.azure.resourcemanager.containerservice.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ManagedClustersClient. */
+public interface ManagedClustersClient {
+ /**
+ * Gets supported OS options in the specified subscription.
+ *
+ * @param location The name of a supported Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return supported OS options in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OSOptionProfileInner getOSOptions(String location);
+
+ /**
+ * Gets supported OS options in the specified subscription.
+ *
+ * @param location The name of a supported Azure region.
+ * @param resourceType The resource type for which the OS options needs to be returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return supported OS options in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getOSOptionsWithResponse(String location, String resourceType, Context context);
+
+ /**
+ * Gets a list of managed clusters in the specified subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of managed clusters in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of managed clusters in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of managed clusters in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Clusters operation.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists managed clusters in the specified subscription and resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Managed Clusters operation.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the upgrade profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the upgrade profile of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterUpgradeProfileInner getUpgradeProfile(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets the upgrade profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the upgrade profile of a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getUpgradeProfileWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * **WARNING**: This API will be deprecated. Instead use
+ * [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials)
+ * or
+ * [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials)
+ * .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param roleName The name of the role for managed cluster accessProfile resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster Access Profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterAccessProfileInner getAccessProfile(String resourceGroupName, String resourceName, String roleName);
+
+ /**
+ * **WARNING**: This API will be deprecated. Instead use
+ * [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials)
+ * or
+ * [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials)
+ * .
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param roleName The name of the role for managed cluster accessProfile resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster Access Profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAccessProfileWithResponse(
+ String resourceGroupName, String resourceName, String roleName, Context context);
+
+ /**
+ * Lists the admin credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterAdminCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists the admin credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param serverFqdn server fqdn type for credentials to be returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listClusterAdminCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Context context);
+
+ /**
+ * Lists the user credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterUserCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists the user credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param serverFqdn server fqdn type for credentials to be returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listClusterUserCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Context context);
+
+ /**
+ * Lists the cluster monitoring user credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CredentialResultsInner listClusterMonitoringUserCredentials(String resourceGroupName, String resourceName);
+
+ /**
+ * Lists the cluster monitoring user credentials of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param serverFqdn server fqdn type for credentials to be returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list credential result response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listClusterMonitoringUserCredentialsWithResponse(
+ String resourceGroupName, String resourceName, String serverFqdn, Context context);
+
+ /**
+ * Gets a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Creates or updates a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The managed cluster to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters);
+
+ /**
+ * Creates or updates a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The managed cluster to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters, Context context);
+
+ /**
+ * Creates or updates a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The managed cluster to create or update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner createOrUpdate(String resourceGroupName, String resourceName, ManagedClusterInner parameters);
+
+ /**
+ * Creates or updates a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The managed cluster to create or update.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, ManagedClusterInner parameters, Context context);
+
+ /**
+ * Updates tags on a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Update Managed Cluster Tags operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates tags on a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Update Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Updates tags on a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Update Managed Cluster Tags operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates tags on a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters supplied to the Update Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedClusterInner updateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Deletes a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Deletes a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResetServicePrincipalProfile(
+ String resourceGroupName, String resourceName, ManagedClusterServicePrincipalProfile parameters);
+
+ /**
+ * This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResetServicePrincipalProfile(
+ String resourceGroupName,
+ String resourceName,
+ ManagedClusterServicePrincipalProfile parameters,
+ Context context);
+
+ /**
+ * This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetServicePrincipalProfile(
+ String resourceGroupName, String resourceName, ManagedClusterServicePrincipalProfile parameters);
+
+ /**
+ * This action cannot be performed on a cluster that is not using a service principal.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The service principal profile to set on the managed cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetServicePrincipalProfile(
+ String resourceGroupName,
+ String resourceName,
+ ManagedClusterServicePrincipalProfile parameters,
+ Context context);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResetAadProfile(
+ String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResetAadProfile(
+ String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters, Context context);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetAadProfile(String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters);
+
+ /**
+ * Reset the AAD Profile of a managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters The AAD profile to set on the Managed Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetAadProfile(
+ String resourceGroupName, String resourceName, ManagedClusterAadProfile parameters, Context context);
+
+ /**
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRotateClusterCertificates(String resourceGroupName, String resourceName);
+
+ /**
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRotateClusterCertificates(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void rotateClusterCertificates(String resourceGroupName, String resourceName);
+
+ /**
+ * See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about
+ * rotating managed cluster certificates.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void rotateClusterCertificates(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(String resourceGroupName, String resourceName);
+
+ /**
+ * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String resourceName);
+
+ /**
+ * This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the
+ * control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue
+ * charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster)
+ * for more details about stopping a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting
+ * a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String resourceName);
+
+ /**
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting
+ * a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting
+ * a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String resourceName);
+
+ /**
+ * See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting
+ * a cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see
+ * [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RunCommandResultInner> beginRunCommand(
+ String resourceGroupName, String resourceName, RunCommandRequest requestPayload);
+
+ /**
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see
+ * [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RunCommandResultInner> beginRunCommand(
+ String resourceGroupName, String resourceName, RunCommandRequest requestPayload, Context context);
+
+ /**
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see
+ * [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner runCommand(String resourceGroupName, String resourceName, RunCommandRequest requestPayload);
+
+ /**
+ * AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see
+ * [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param requestPayload The run command request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return run command result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner runCommand(
+ String resourceGroupName, String resourceName, RunCommandRequest requestPayload, Context context);
+
+ /**
+ * Gets the results of a command which has been run on the Managed Cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param commandId Id of the command.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the results of a command which has been run on the Managed Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RunCommandResultInner getCommandResult(String resourceGroupName, String resourceName, String commandId);
+
+ /**
+ * Gets the results of a command which has been run on the Managed Cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param commandId Id of the command.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the results of a command which has been run on the Managed Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCommandResultWithResponse(
+ String resourceGroupName, String resourceName, String commandId, Context context);
+
+ /**
+ * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster. The operation returns properties of each egress endpoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOutboundNetworkDependenciesEndpoints(
+ String resourceGroupName, String resourceName);
+
+ /**
+ * Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster. The operation returns properties of each egress endpoint.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed
+ * cluster.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listOutboundNetworkDependenciesEndpoints(
+ String resourceGroupName, String resourceName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OpenShiftManagedClustersClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OpenShiftManagedClustersClient.java
new file mode 100644
index 000000000000..ebe940775f10
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OpenShiftManagedClustersClient.java
@@ -0,0 +1,272 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.OpenShiftManagedClusterInner;
+import com.azure.resourcemanager.containerservice.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in OpenShiftManagedClustersClient. */
+public interface OpenShiftManagedClustersClient {
+ /**
+ * Gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of each
+ * OpenShift managed cluster.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of OpenShift managed clusters in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of each
+ * OpenShift managed cluster.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of OpenShift managed clusters in the specified subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists OpenShift managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each OpenShift managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List OpenShift Managed Clusters operation.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists OpenShift managed clusters in the specified subscription and resource group. The operation returns
+ * properties of each OpenShift managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List OpenShift Managed Clusters operation.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the details of the managed OpenShift cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the managed OpenShift cluster with a specified resource group and name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner getByResourceGroup(String resourceGroupName, String resourceName);
+
+ /**
+ * Gets the details of the managed OpenShift cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the managed OpenShift cluster with a specified resource group and name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, OpenShiftManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters);
+
+ /**
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, OpenShiftManagedClusterInner> beginCreateOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters, Context context);
+
+ /**
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters);
+
+ /**
+ * Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift version.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Create or Update an OpenShift Managed Cluster operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner createOrUpdate(
+ String resourceGroupName, String resourceName, OpenShiftManagedClusterInner parameters, Context context);
+
+ /**
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, OpenShiftManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, OpenShiftManagedClusterInner> beginUpdateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner updateTags(String resourceGroupName, String resourceName, TagsObject parameters);
+
+ /**
+ * Updates an OpenShift managed cluster with the specified tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param parameters Parameters supplied to the Update OpenShift Managed Cluster Tags operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return openShift Managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OpenShiftManagedClusterInner updateTags(
+ String resourceGroupName, String resourceName, TagsObject parameters, Context context);
+
+ /**
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName);
+
+ /**
+ * Deletes the OpenShift managed cluster with a specified resource group and name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the OpenShift managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OperationsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OperationsClient.java
new file mode 100644
index 000000000000..909dca7291b4
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.OperationValueInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Gets a list of operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateEndpointConnectionsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..da7cd723108b
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.PrivateEndpointConnectionListResultInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient. */
+public interface PrivateEndpointConnectionsClient {
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private endpoint connections.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionListResultInner list(String resourceGroupName, String resourceName);
+
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private endpoint connections.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a private endpoint connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName);
+
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a private endpoint connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Updates a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param parameters The updated private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a private endpoint connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner update(
+ String resourceGroupName,
+ String resourceName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters);
+
+ /**
+ * Updates a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param parameters The updated private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a private endpoint connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String resourceName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * Deletes a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String resourceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String resourceName, String privateEndpointConnectionName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateLinkResourcesClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..6e018ab2b8d3
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.PrivateLinkResourcesListResultInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public interface PrivateLinkResourcesClient {
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourcesListResultInner list(String resourceGroupName, String resourceName);
+
+ /**
+ * To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String resourceName, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ResolvePrivateLinkServiceIdsClient.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ResolvePrivateLinkServiceIdsClient.java
new file mode 100644
index 000000000000..c2b5c6699857
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/ResolvePrivateLinkServiceIdsClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.containerservice.generated.fluent.models.PrivateLinkResourceInner;
+
+/** An instance of this class provides access to all the operations defined in ResolvePrivateLinkServiceIdsClient. */
+public interface ResolvePrivateLinkServiceIdsClient {
+ /**
+ * Gets the private link service ID for the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters required in order to resolve a private link service ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link service ID for the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceInner post(String resourceGroupName, String resourceName, PrivateLinkResourceInner parameters);
+
+ /**
+ * Gets the private link service ID for the specified managed cluster.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param resourceName The name of the managed cluster resource.
+ * @param parameters Parameters required in order to resolve a private link service ID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link service ID for the specified managed cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response postWithResponse(
+ String resourceGroupName, String resourceName, PrivateLinkResourceInner parameters, Context context);
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolAvailableVersionsInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolAvailableVersionsInner.java
new file mode 100644
index 000000000000..4a1fe8562398
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolAvailableVersionsInner.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available versions for an agent pool. */
+@JsonFlatten
+@Fluent
+public class AgentPoolAvailableVersionsInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AgentPoolAvailableVersionsInner.class);
+
+ /*
+ * The ID of the agent pool version list.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the agent pool version list.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Type of the agent pool version list.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * List of versions available for agent pool.
+ */
+ @JsonProperty(value = "properties.agentPoolVersions")
+ private List agentPoolVersions;
+
+ /**
+ * Get the id property: The ID of the agent pool version list.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the agent pool version list.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Type of the agent pool version list.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @return the agentPoolVersions value.
+ */
+ public List agentPoolVersions() {
+ return this.agentPoolVersions;
+ }
+
+ /**
+ * Set the agentPoolVersions property: List of versions available for agent pool.
+ *
+ * @param agentPoolVersions the agentPoolVersions value to set.
+ * @return the AgentPoolAvailableVersionsInner object itself.
+ */
+ public AgentPoolAvailableVersionsInner withAgentPoolVersions(
+ List agentPoolVersions) {
+ this.agentPoolVersions = agentPoolVersions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (agentPoolVersions() != null) {
+ agentPoolVersions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolInner.java
new file mode 100644
index 000000000000..9bed65b5d7ad
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolInner.java
@@ -0,0 +1,1110 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.SubResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPoolMode;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPoolType;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPoolUpgradeSettings;
+import com.azure.resourcemanager.containerservice.generated.models.GpuInstanceProfile;
+import com.azure.resourcemanager.containerservice.generated.models.KubeletConfig;
+import com.azure.resourcemanager.containerservice.generated.models.KubeletDiskType;
+import com.azure.resourcemanager.containerservice.generated.models.LinuxOSConfig;
+import com.azure.resourcemanager.containerservice.generated.models.OSDiskType;
+import com.azure.resourcemanager.containerservice.generated.models.OSType;
+import com.azure.resourcemanager.containerservice.generated.models.Ossku;
+import com.azure.resourcemanager.containerservice.generated.models.PowerState;
+import com.azure.resourcemanager.containerservice.generated.models.ScaleSetEvictionPolicy;
+import com.azure.resourcemanager.containerservice.generated.models.ScaleSetPriority;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Agent Pool. */
+@JsonFlatten
+@Fluent
+public class AgentPoolInner extends SubResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AgentPoolInner.class);
+
+ /*
+ * Number of agents (VMs) to host docker containers. Allowed values must be
+ * in the range of 0 to 1000 (inclusive) for user pools and in the range of
+ * 1 to 1000 (inclusive) for system pools. The default value is 1.
+ */
+ @JsonProperty(value = "properties.count")
+ private Integer count;
+
+ /*
+ * VM size availability varies by region. If a node contains insufficient
+ * compute resources (memory, cpu, etc) pods might fail to run correctly.
+ * For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions
+ */
+ @JsonProperty(value = "properties.vmSize")
+ private String vmSize;
+
+ /*
+ * OS Disk Size in GB to be used to specify the disk size for every machine
+ * in the master/agent pool. If you specify 0, it will apply the default
+ * osDisk size according to the vmSize specified.
+ */
+ @JsonProperty(value = "properties.osDiskSizeGB")
+ private Integer osDiskSizeGB;
+
+ /*
+ * The default is 'Ephemeral' if the VM supports it and has a cache disk
+ * larger than the requested OSDiskSizeGB. Otherwise, defaults to
+ * 'Managed'. May not be changed after creation. For more information see
+ * [Ephemeral
+ * OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ */
+ @JsonProperty(value = "properties.osDiskType")
+ private OSDiskType osDiskType;
+
+ /*
+ * Determines the placement of emptyDir volumes, container runtime data
+ * root, and Kubelet ephemeral storage.
+ */
+ @JsonProperty(value = "properties.kubeletDiskType")
+ private KubeletDiskType kubeletDiskType;
+
+ /*
+ * If this is not specified, a VNET and subnet will be generated and used.
+ * If no podSubnetID is specified, this applies to nodes and pods,
+ * otherwise it applies to just nodes. This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
+ */
+ @JsonProperty(value = "properties.vnetSubnetID")
+ private String vnetSubnetId;
+
+ /*
+ * If omitted, pod IPs are statically assigned on the node subnet (see
+ * vnetSubnetID for more details). This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}
+ */
+ @JsonProperty(value = "properties.podSubnetID")
+ private String podSubnetId;
+
+ /*
+ * The maximum number of pods that can run on a node.
+ */
+ @JsonProperty(value = "properties.maxPods")
+ private Integer maxPods;
+
+ /*
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux.
+ */
+ @JsonProperty(value = "properties.osType")
+ private OSType osType;
+
+ /*
+ * Specifies an OS SKU. This value must not be specified if OSType is
+ * Windows.
+ */
+ @JsonProperty(value = "properties.osSKU")
+ private Ossku osSku;
+
+ /*
+ * The maximum number of nodes for auto-scaling
+ */
+ @JsonProperty(value = "properties.maxCount")
+ private Integer maxCount;
+
+ /*
+ * The minimum number of nodes for auto-scaling
+ */
+ @JsonProperty(value = "properties.minCount")
+ private Integer minCount;
+
+ /*
+ * Whether to enable auto-scaler
+ */
+ @JsonProperty(value = "properties.enableAutoScaling")
+ private Boolean enableAutoScaling;
+
+ /*
+ * The type of Agent Pool.
+ */
+ @JsonProperty(value = "properties.type")
+ private AgentPoolType typePropertiesType;
+
+ /*
+ * A cluster must have at least one 'System' Agent Pool at all times. For
+ * additional information on agent pool restrictions and best practices,
+ * see: https://docs.microsoft.com/azure/aks/use-system-pools
+ */
+ @JsonProperty(value = "properties.mode")
+ private AgentPoolMode mode;
+
+ /*
+ * As a best practice, you should upgrade all node pools in an AKS cluster
+ * to the same Kubernetes version. The node pool version must have the same
+ * major version as the control plane. The node pool minor version must be
+ * within two minor versions of the control plane version. The node pool
+ * version cannot be greater than the control plane version. For more
+ * information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ */
+ @JsonProperty(value = "properties.orchestratorVersion")
+ private String orchestratorVersion;
+
+ /*
+ * The version of node image
+ */
+ @JsonProperty(value = "properties.nodeImageVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String nodeImageVersion;
+
+ /*
+ * Settings for upgrading the agentpool
+ */
+ @JsonProperty(value = "properties.upgradeSettings")
+ private AgentPoolUpgradeSettings upgradeSettings;
+
+ /*
+ * The current deployment or provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Describes whether the Agent Pool is Running or Stopped
+ */
+ @JsonProperty(value = "properties.powerState", access = JsonProperty.Access.WRITE_ONLY)
+ private PowerState powerState;
+
+ /*
+ * The list of Availability zones to use for nodes. This can only be
+ * specified if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ */
+ @JsonProperty(value = "properties.availabilityZones")
+ private List availabilityZones;
+
+ /*
+ * Some scenarios may require nodes in a node pool to receive their own
+ * dedicated public IP addresses. A common scenario is for gaming
+ * workloads, where a console needs to make a direct connection to a cloud
+ * virtual machine to minimize hops. For more information see [assigning a
+ * public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ */
+ @JsonProperty(value = "properties.enableNodePublicIP")
+ private Boolean enableNodePublicIp;
+
+ /*
+ * This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}
+ */
+ @JsonProperty(value = "properties.nodePublicIPPrefixID")
+ private String nodePublicIpPrefixId;
+
+ /*
+ * The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ */
+ @JsonProperty(value = "properties.scaleSetPriority")
+ private ScaleSetPriority scaleSetPriority;
+
+ /*
+ * This cannot be specified unless the scaleSetPriority is 'Spot'. If not
+ * specified, the default is 'Delete'.
+ */
+ @JsonProperty(value = "properties.scaleSetEvictionPolicy")
+ private ScaleSetEvictionPolicy scaleSetEvictionPolicy;
+
+ /*
+ * Possible values are any decimal value greater than zero or -1 which
+ * indicates the willingness to pay any on-demand price. For more details
+ * on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)
+ */
+ @JsonProperty(value = "properties.spotMaxPrice")
+ private Float spotMaxPrice;
+
+ /*
+ * The tags to be persisted on the agent pool virtual machine scale set.
+ */
+ @JsonProperty(value = "properties.tags")
+ private Map tags;
+
+ /*
+ * The node labels to be persisted across all nodes in agent pool.
+ */
+ @JsonProperty(value = "properties.nodeLabels")
+ private Map nodeLabels;
+
+ /*
+ * The taints added to new nodes during node pool create and scale. For
+ * example, key=value:NoSchedule.
+ */
+ @JsonProperty(value = "properties.nodeTaints")
+ private List nodeTaints;
+
+ /*
+ * The ID for Proximity Placement Group.
+ */
+ @JsonProperty(value = "properties.proximityPlacementGroupID")
+ private String proximityPlacementGroupId;
+
+ /*
+ * The Kubelet configuration on the agent pool nodes.
+ */
+ @JsonProperty(value = "properties.kubeletConfig")
+ private KubeletConfig kubeletConfig;
+
+ /*
+ * The OS configuration of Linux agent nodes.
+ */
+ @JsonProperty(value = "properties.linuxOSConfig")
+ private LinuxOSConfig linuxOSConfig;
+
+ /*
+ * This is only supported on certain VM sizes and in certain Azure regions.
+ * For more information, see:
+ * https://docs.microsoft.com/azure/aks/enable-host-encryption
+ */
+ @JsonProperty(value = "properties.enableEncryptionAtHost")
+ private Boolean enableEncryptionAtHost;
+
+ /*
+ * Whether to enable UltraSSD
+ */
+ @JsonProperty(value = "properties.enableUltraSSD")
+ private Boolean enableUltraSsd;
+
+ /*
+ * See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview)
+ * for more details.
+ */
+ @JsonProperty(value = "properties.enableFIPS")
+ private Boolean enableFips;
+
+ /*
+ * GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ */
+ @JsonProperty(value = "properties.gpuInstanceProfile")
+ private GpuInstanceProfile gpuInstanceProfile;
+
+ /*
+ * The name of the resource that is unique within a resource group. This
+ * name can be used to access the resource.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Resource type
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Get the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Set the count property: Number of agents (VMs) to host docker containers. Allowed values must be in the range of
+ * 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default
+ * value is 1.
+ *
+ * @param count the count value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withCount(Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get the vmSize property: VM size availability varies by region. If a node contains insufficient compute resources
+ * (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @return the vmSize value.
+ */
+ public String vmSize() {
+ return this.vmSize;
+ }
+
+ /**
+ * Set the vmSize property: VM size availability varies by region. If a node contains insufficient compute resources
+ * (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see:
+ * https://docs.microsoft.com/azure/aks/quotas-skus-regions.
+ *
+ * @param vmSize the vmSize value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVmSize(String vmSize) {
+ this.vmSize = vmSize;
+ return this;
+ }
+
+ /**
+ * Get the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @return the osDiskSizeGB value.
+ */
+ public Integer osDiskSizeGB() {
+ return this.osDiskSizeGB;
+ }
+
+ /**
+ * Set the osDiskSizeGB property: OS Disk Size in GB to be used to specify the disk size for every machine in the
+ * master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.
+ *
+ * @param osDiskSizeGB the osDiskSizeGB value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsDiskSizeGB(Integer osDiskSizeGB) {
+ this.osDiskSizeGB = osDiskSizeGB;
+ return this;
+ }
+
+ /**
+ * Get the osDiskType property: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than
+ * the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more
+ * information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @return the osDiskType value.
+ */
+ public OSDiskType osDiskType() {
+ return this.osDiskType;
+ }
+
+ /**
+ * Set the osDiskType property: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than
+ * the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more
+ * information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os).
+ *
+ * @param osDiskType the osDiskType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsDiskType(OSDiskType osDiskType) {
+ this.osDiskType = osDiskType;
+ return this;
+ }
+
+ /**
+ * Get the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @return the kubeletDiskType value.
+ */
+ public KubeletDiskType kubeletDiskType() {
+ return this.kubeletDiskType;
+ }
+
+ /**
+ * Set the kubeletDiskType property: Determines the placement of emptyDir volumes, container runtime data root, and
+ * Kubelet ephemeral storage.
+ *
+ * @param kubeletDiskType the kubeletDiskType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withKubeletDiskType(KubeletDiskType kubeletDiskType) {
+ this.kubeletDiskType = kubeletDiskType;
+ return this;
+ }
+
+ /**
+ * Get the vnetSubnetId property: If this is not specified, a VNET and subnet will be generated and used. If no
+ * podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
+ * form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the vnetSubnetId value.
+ */
+ public String vnetSubnetId() {
+ return this.vnetSubnetId;
+ }
+
+ /**
+ * Set the vnetSubnetId property: If this is not specified, a VNET and subnet will be generated and used. If no
+ * podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the
+ * form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param vnetSubnetId the vnetSubnetId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withVnetSubnetId(String vnetSubnetId) {
+ this.vnetSubnetId = vnetSubnetId;
+ return this;
+ }
+
+ /**
+ * Get the podSubnetId property: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID
+ * for more details). This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @return the podSubnetId value.
+ */
+ public String podSubnetId() {
+ return this.podSubnetId;
+ }
+
+ /**
+ * Set the podSubnetId property: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID
+ * for more details). This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
+ *
+ * @param podSubnetId the podSubnetId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withPodSubnetId(String podSubnetId) {
+ this.podSubnetId = podSubnetId;
+ return this;
+ }
+
+ /**
+ * Get the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @return the maxPods value.
+ */
+ public Integer maxPods() {
+ return this.maxPods;
+ }
+
+ /**
+ * Set the maxPods property: The maximum number of pods that can run on a node.
+ *
+ * @param maxPods the maxPods value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxPods(Integer maxPods) {
+ this.maxPods = maxPods;
+ return this;
+ }
+
+ /**
+ * Get the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @return the osType value.
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @param osType the osType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the osSku property: Specifies an OS SKU. This value must not be specified if OSType is Windows.
+ *
+ * @return the osSku value.
+ */
+ public Ossku osSku() {
+ return this.osSku;
+ }
+
+ /**
+ * Set the osSku property: Specifies an OS SKU. This value must not be specified if OSType is Windows.
+ *
+ * @param osSku the osSku value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOsSku(Ossku osSku) {
+ this.osSku = osSku;
+ return this;
+ }
+
+ /**
+ * Get the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @return the maxCount value.
+ */
+ public Integer maxCount() {
+ return this.maxCount;
+ }
+
+ /**
+ * Set the maxCount property: The maximum number of nodes for auto-scaling.
+ *
+ * @param maxCount the maxCount value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMaxCount(Integer maxCount) {
+ this.maxCount = maxCount;
+ return this;
+ }
+
+ /**
+ * Get the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @return the minCount value.
+ */
+ public Integer minCount() {
+ return this.minCount;
+ }
+
+ /**
+ * Set the minCount property: The minimum number of nodes for auto-scaling.
+ *
+ * @param minCount the minCount value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMinCount(Integer minCount) {
+ this.minCount = minCount;
+ return this;
+ }
+
+ /**
+ * Get the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @return the enableAutoScaling value.
+ */
+ public Boolean enableAutoScaling() {
+ return this.enableAutoScaling;
+ }
+
+ /**
+ * Set the enableAutoScaling property: Whether to enable auto-scaler.
+ *
+ * @param enableAutoScaling the enableAutoScaling value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableAutoScaling(Boolean enableAutoScaling) {
+ this.enableAutoScaling = enableAutoScaling;
+ return this;
+ }
+
+ /**
+ * Get the typePropertiesType property: The type of Agent Pool.
+ *
+ * @return the typePropertiesType value.
+ */
+ public AgentPoolType typePropertiesType() {
+ return this.typePropertiesType;
+ }
+
+ /**
+ * Set the typePropertiesType property: The type of Agent Pool.
+ *
+ * @param typePropertiesType the typePropertiesType value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withTypePropertiesType(AgentPoolType typePropertiesType) {
+ this.typePropertiesType = typePropertiesType;
+ return this;
+ }
+
+ /**
+ * Get the mode property: A cluster must have at least one 'System' Agent Pool at all times. For additional
+ * information on agent pool restrictions and best practices, see:
+ * https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @return the mode value.
+ */
+ public AgentPoolMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set the mode property: A cluster must have at least one 'System' Agent Pool at all times. For additional
+ * information on agent pool restrictions and best practices, see:
+ * https://docs.microsoft.com/azure/aks/use-system-pools.
+ *
+ * @param mode the mode value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withMode(AgentPoolMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ /**
+ * Get the orchestratorVersion property: As a best practice, you should upgrade all node pools in an AKS cluster to
+ * the same Kubernetes version. The node pool version must have the same major version as the control plane. The
+ * node pool minor version must be within two minor versions of the control plane version. The node pool version
+ * cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @return the orchestratorVersion value.
+ */
+ public String orchestratorVersion() {
+ return this.orchestratorVersion;
+ }
+
+ /**
+ * Set the orchestratorVersion property: As a best practice, you should upgrade all node pools in an AKS cluster to
+ * the same Kubernetes version. The node pool version must have the same major version as the control plane. The
+ * node pool minor version must be within two minor versions of the control plane version. The node pool version
+ * cannot be greater than the control plane version. For more information see [upgrading a node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool).
+ *
+ * @param orchestratorVersion the orchestratorVersion value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withOrchestratorVersion(String orchestratorVersion) {
+ this.orchestratorVersion = orchestratorVersion;
+ return this;
+ }
+
+ /**
+ * Get the nodeImageVersion property: The version of node image.
+ *
+ * @return the nodeImageVersion value.
+ */
+ public String nodeImageVersion() {
+ return this.nodeImageVersion;
+ }
+
+ /**
+ * Get the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @return the upgradeSettings value.
+ */
+ public AgentPoolUpgradeSettings upgradeSettings() {
+ return this.upgradeSettings;
+ }
+
+ /**
+ * Set the upgradeSettings property: Settings for upgrading the agentpool.
+ *
+ * @param upgradeSettings the upgradeSettings value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withUpgradeSettings(AgentPoolUpgradeSettings upgradeSettings) {
+ this.upgradeSettings = upgradeSettings;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current deployment or provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the powerState property: Describes whether the Agent Pool is Running or Stopped.
+ *
+ * @return the powerState value.
+ */
+ public PowerState powerState() {
+ return this.powerState;
+ }
+
+ /**
+ * Get the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @return the availabilityZones value.
+ */
+ public List availabilityZones() {
+ return this.availabilityZones;
+ }
+
+ /**
+ * Set the availabilityZones property: The list of Availability zones to use for nodes. This can only be specified
+ * if the AgentPoolType property is 'VirtualMachineScaleSets'.
+ *
+ * @param availabilityZones the availabilityZones value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withAvailabilityZones(List availabilityZones) {
+ this.availabilityZones = availabilityZones;
+ return this;
+ }
+
+ /**
+ * Get the enableNodePublicIp property: Some scenarios may require nodes in a node pool to receive their own
+ * dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct
+ * connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @return the enableNodePublicIp value.
+ */
+ public Boolean enableNodePublicIp() {
+ return this.enableNodePublicIp;
+ }
+
+ /**
+ * Set the enableNodePublicIp property: Some scenarios may require nodes in a node pool to receive their own
+ * dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct
+ * connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per
+ * node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools).
+ * The default is false.
+ *
+ * @param enableNodePublicIp the enableNodePublicIp value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableNodePublicIp(Boolean enableNodePublicIp) {
+ this.enableNodePublicIp = enableNodePublicIp;
+ return this;
+ }
+
+ /**
+ * Get the nodePublicIpPrefixId property: This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @return the nodePublicIpPrefixId value.
+ */
+ public String nodePublicIpPrefixId() {
+ return this.nodePublicIpPrefixId;
+ }
+
+ /**
+ * Set the nodePublicIpPrefixId property: This is of the form:
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}.
+ *
+ * @param nodePublicIpPrefixId the nodePublicIpPrefixId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodePublicIpPrefixId(String nodePublicIpPrefixId) {
+ this.nodePublicIpPrefixId = nodePublicIpPrefixId;
+ return this;
+ }
+
+ /**
+ * Get the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @return the scaleSetPriority value.
+ */
+ public ScaleSetPriority scaleSetPriority() {
+ return this.scaleSetPriority;
+ }
+
+ /**
+ * Set the scaleSetPriority property: The Virtual Machine Scale Set priority. If not specified, the default is
+ * 'Regular'.
+ *
+ * @param scaleSetPriority the scaleSetPriority value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetPriority(ScaleSetPriority scaleSetPriority) {
+ this.scaleSetPriority = scaleSetPriority;
+ return this;
+ }
+
+ /**
+ * Get the scaleSetEvictionPolicy property: This cannot be specified unless the scaleSetPriority is 'Spot'. If not
+ * specified, the default is 'Delete'.
+ *
+ * @return the scaleSetEvictionPolicy value.
+ */
+ public ScaleSetEvictionPolicy scaleSetEvictionPolicy() {
+ return this.scaleSetEvictionPolicy;
+ }
+
+ /**
+ * Set the scaleSetEvictionPolicy property: This cannot be specified unless the scaleSetPriority is 'Spot'. If not
+ * specified, the default is 'Delete'.
+ *
+ * @param scaleSetEvictionPolicy the scaleSetEvictionPolicy value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withScaleSetEvictionPolicy(ScaleSetEvictionPolicy scaleSetEvictionPolicy) {
+ this.scaleSetEvictionPolicy = scaleSetEvictionPolicy;
+ return this;
+ }
+
+ /**
+ * Get the spotMaxPrice property: Possible values are any decimal value greater than zero or -1 which indicates the
+ * willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @return the spotMaxPrice value.
+ */
+ public Float spotMaxPrice() {
+ return this.spotMaxPrice;
+ }
+
+ /**
+ * Set the spotMaxPrice property: Possible values are any decimal value greater than zero or -1 which indicates the
+ * willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs
+ * pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing).
+ *
+ * @param spotMaxPrice the spotMaxPrice value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withSpotMaxPrice(Float spotMaxPrice) {
+ this.spotMaxPrice = spotMaxPrice;
+ return this;
+ }
+
+ /**
+ * Get the tags property: The tags to be persisted on the agent pool virtual machine scale set.
+ *
+ * @return the tags value.
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags property: The tags to be persisted on the agent pool virtual machine scale set.
+ *
+ * @param tags the tags value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the nodeLabels property: The node labels to be persisted across all nodes in agent pool.
+ *
+ * @return the nodeLabels value.
+ */
+ public Map nodeLabels() {
+ return this.nodeLabels;
+ }
+
+ /**
+ * Set the nodeLabels property: The node labels to be persisted across all nodes in agent pool.
+ *
+ * @param nodeLabels the nodeLabels value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeLabels(Map nodeLabels) {
+ this.nodeLabels = nodeLabels;
+ return this;
+ }
+
+ /**
+ * Get the nodeTaints property: The taints added to new nodes during node pool create and scale. For example,
+ * key=value:NoSchedule.
+ *
+ * @return the nodeTaints value.
+ */
+ public List nodeTaints() {
+ return this.nodeTaints;
+ }
+
+ /**
+ * Set the nodeTaints property: The taints added to new nodes during node pool create and scale. For example,
+ * key=value:NoSchedule.
+ *
+ * @param nodeTaints the nodeTaints value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withNodeTaints(List nodeTaints) {
+ this.nodeTaints = nodeTaints;
+ return this;
+ }
+
+ /**
+ * Get the proximityPlacementGroupId property: The ID for Proximity Placement Group.
+ *
+ * @return the proximityPlacementGroupId value.
+ */
+ public String proximityPlacementGroupId() {
+ return this.proximityPlacementGroupId;
+ }
+
+ /**
+ * Set the proximityPlacementGroupId property: The ID for Proximity Placement Group.
+ *
+ * @param proximityPlacementGroupId the proximityPlacementGroupId value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withProximityPlacementGroupId(String proximityPlacementGroupId) {
+ this.proximityPlacementGroupId = proximityPlacementGroupId;
+ return this;
+ }
+
+ /**
+ * Get the kubeletConfig property: The Kubelet configuration on the agent pool nodes.
+ *
+ * @return the kubeletConfig value.
+ */
+ public KubeletConfig kubeletConfig() {
+ return this.kubeletConfig;
+ }
+
+ /**
+ * Set the kubeletConfig property: The Kubelet configuration on the agent pool nodes.
+ *
+ * @param kubeletConfig the kubeletConfig value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withKubeletConfig(KubeletConfig kubeletConfig) {
+ this.kubeletConfig = kubeletConfig;
+ return this;
+ }
+
+ /**
+ * Get the linuxOSConfig property: The OS configuration of Linux agent nodes.
+ *
+ * @return the linuxOSConfig value.
+ */
+ public LinuxOSConfig linuxOSConfig() {
+ return this.linuxOSConfig;
+ }
+
+ /**
+ * Set the linuxOSConfig property: The OS configuration of Linux agent nodes.
+ *
+ * @param linuxOSConfig the linuxOSConfig value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withLinuxOSConfig(LinuxOSConfig linuxOSConfig) {
+ this.linuxOSConfig = linuxOSConfig;
+ return this;
+ }
+
+ /**
+ * Get the enableEncryptionAtHost property: This is only supported on certain VM sizes and in certain Azure regions.
+ * For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @return the enableEncryptionAtHost value.
+ */
+ public Boolean enableEncryptionAtHost() {
+ return this.enableEncryptionAtHost;
+ }
+
+ /**
+ * Set the enableEncryptionAtHost property: This is only supported on certain VM sizes and in certain Azure regions.
+ * For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption.
+ *
+ * @param enableEncryptionAtHost the enableEncryptionAtHost value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableEncryptionAtHost(Boolean enableEncryptionAtHost) {
+ this.enableEncryptionAtHost = enableEncryptionAtHost;
+ return this;
+ }
+
+ /**
+ * Get the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @return the enableUltraSsd value.
+ */
+ public Boolean enableUltraSsd() {
+ return this.enableUltraSsd;
+ }
+
+ /**
+ * Set the enableUltraSsd property: Whether to enable UltraSSD.
+ *
+ * @param enableUltraSsd the enableUltraSsd value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableUltraSsd(Boolean enableUltraSsd) {
+ this.enableUltraSsd = enableUltraSsd;
+ return this;
+ }
+
+ /**
+ * Get the enableFips property: See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @return the enableFips value.
+ */
+ public Boolean enableFips() {
+ return this.enableFips;
+ }
+
+ /**
+ * Set the enableFips property: See [Add a FIPS-enabled node
+ * pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more
+ * details.
+ *
+ * @param enableFips the enableFips value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withEnableFips(Boolean enableFips) {
+ this.enableFips = enableFips;
+ return this;
+ }
+
+ /**
+ * Get the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @return the gpuInstanceProfile value.
+ */
+ public GpuInstanceProfile gpuInstanceProfile() {
+ return this.gpuInstanceProfile;
+ }
+
+ /**
+ * Set the gpuInstanceProfile property: GPUInstanceProfile to be used to specify GPU MIG instance profile for
+ * supported GPU VM SKU.
+ *
+ * @param gpuInstanceProfile the gpuInstanceProfile value to set.
+ * @return the AgentPoolInner object itself.
+ */
+ public AgentPoolInner withGpuInstanceProfile(GpuInstanceProfile gpuInstanceProfile) {
+ this.gpuInstanceProfile = gpuInstanceProfile;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the resource that is unique within a resource group. This name can be used to
+ * access the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AgentPoolInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (upgradeSettings() != null) {
+ upgradeSettings().validate();
+ }
+ if (powerState() != null) {
+ powerState().validate();
+ }
+ if (kubeletConfig() != null) {
+ kubeletConfig().validate();
+ }
+ if (linuxOSConfig() != null) {
+ linuxOSConfig().validate();
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolUpgradeProfileInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolUpgradeProfileInner.java
new file mode 100644
index 000000000000..6c3232c7963d
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/AgentPoolUpgradeProfileInner.java
@@ -0,0 +1,194 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.AgentPoolUpgradeProfilePropertiesUpgradesItem;
+import com.azure.resourcemanager.containerservice.generated.models.OSType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available upgrades for an agent pool. */
+@JsonFlatten
+@Fluent
+public class AgentPoolUpgradeProfileInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AgentPoolUpgradeProfileInner.class);
+
+ /*
+ * The ID of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The type of the agent pool upgrade profile.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The Kubernetes version (major.minor.patch).
+ */
+ @JsonProperty(value = "properties.kubernetesVersion", required = true)
+ private String kubernetesVersion;
+
+ /*
+ * OsType to be used to specify os type. Choose from Linux and Windows.
+ * Default to Linux.
+ */
+ @JsonProperty(value = "properties.osType", required = true)
+ private OSType osType;
+
+ /*
+ * List of orchestrator types and versions available for upgrade.
+ */
+ @JsonProperty(value = "properties.upgrades")
+ private List upgrades;
+
+ /*
+ * The latest AKS supported node image version.
+ */
+ @JsonProperty(value = "properties.latestNodeImageVersion")
+ private String latestNodeImageVersion;
+
+ /**
+ * Get the id property: The ID of the agent pool upgrade profile.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the agent pool upgrade profile.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The type of the agent pool upgrade profile.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @return the kubernetesVersion value.
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set the kubernetesVersion property: The Kubernetes version (major.minor.patch).
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @return the osType value.
+ */
+ public OSType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.
+ *
+ * @param osType the osType value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withOsType(OSType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @return the upgrades value.
+ */
+ public List upgrades() {
+ return this.upgrades;
+ }
+
+ /**
+ * Set the upgrades property: List of orchestrator types and versions available for upgrade.
+ *
+ * @param upgrades the upgrades value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withUpgrades(List upgrades) {
+ this.upgrades = upgrades;
+ return this;
+ }
+
+ /**
+ * Get the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @return the latestNodeImageVersion value.
+ */
+ public String latestNodeImageVersion() {
+ return this.latestNodeImageVersion;
+ }
+
+ /**
+ * Set the latestNodeImageVersion property: The latest AKS supported node image version.
+ *
+ * @param latestNodeImageVersion the latestNodeImageVersion value to set.
+ * @return the AgentPoolUpgradeProfileInner object itself.
+ */
+ public AgentPoolUpgradeProfileInner withLatestNodeImageVersion(String latestNodeImageVersion) {
+ this.latestNodeImageVersion = latestNodeImageVersion;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (kubernetesVersion() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property kubernetesVersion in model AgentPoolUpgradeProfileInner"));
+ }
+ if (osType() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property osType in model AgentPoolUpgradeProfileInner"));
+ }
+ if (upgrades() != null) {
+ upgrades().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ContainerServiceInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ContainerServiceInner.java
new file mode 100644
index 000000000000..6ac918062908
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ContainerServiceInner.java
@@ -0,0 +1,304 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceAgentPoolProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceCustomProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceDiagnosticsProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceLinuxProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceMasterProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceOrchestratorProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServicePrincipalProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceWindowsProfile;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Container service. */
+@JsonFlatten
+@Fluent
+public class ContainerServiceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ContainerServiceInner.class);
+
+ /*
+ * The current deployment or provisioning state, which only appears in the
+ * response.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Profile for the container service orchestrator.
+ */
+ @JsonProperty(value = "properties.orchestratorProfile")
+ private ContainerServiceOrchestratorProfile orchestratorProfile;
+
+ /*
+ * Properties to configure a custom container service cluster.
+ */
+ @JsonProperty(value = "properties.customProfile")
+ private ContainerServiceCustomProfile customProfile;
+
+ /*
+ * Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef
+ * need to be specified.
+ */
+ @JsonProperty(value = "properties.servicePrincipalProfile")
+ private ContainerServicePrincipalProfile servicePrincipalProfile;
+
+ /*
+ * Profile for the container service master.
+ */
+ @JsonProperty(value = "properties.masterProfile")
+ private ContainerServiceMasterProfile masterProfile;
+
+ /*
+ * Properties of the agent pool.
+ */
+ @JsonProperty(value = "properties.agentPoolProfiles")
+ private List agentPoolProfiles;
+
+ /*
+ * Profile for Windows VMs in the container service cluster.
+ */
+ @JsonProperty(value = "properties.windowsProfile")
+ private ContainerServiceWindowsProfile windowsProfile;
+
+ /*
+ * Profile for Linux VMs in the container service cluster.
+ */
+ @JsonProperty(value = "properties.linuxProfile")
+ private ContainerServiceLinuxProfile linuxProfile;
+
+ /*
+ * Profile for diagnostics in the container service cluster.
+ */
+ @JsonProperty(value = "properties.diagnosticsProfile")
+ private ContainerServiceDiagnosticsProfile diagnosticsProfile;
+
+ /**
+ * Get the provisioningState property: The current deployment or provisioning state, which only appears in the
+ * response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the orchestratorProfile property: Profile for the container service orchestrator.
+ *
+ * @return the orchestratorProfile value.
+ */
+ public ContainerServiceOrchestratorProfile orchestratorProfile() {
+ return this.orchestratorProfile;
+ }
+
+ /**
+ * Set the orchestratorProfile property: Profile for the container service orchestrator.
+ *
+ * @param orchestratorProfile the orchestratorProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withOrchestratorProfile(ContainerServiceOrchestratorProfile orchestratorProfile) {
+ this.orchestratorProfile = orchestratorProfile;
+ return this;
+ }
+
+ /**
+ * Get the customProfile property: Properties to configure a custom container service cluster.
+ *
+ * @return the customProfile value.
+ */
+ public ContainerServiceCustomProfile customProfile() {
+ return this.customProfile;
+ }
+
+ /**
+ * Set the customProfile property: Properties to configure a custom container service cluster.
+ *
+ * @param customProfile the customProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withCustomProfile(ContainerServiceCustomProfile customProfile) {
+ this.customProfile = customProfile;
+ return this;
+ }
+
+ /**
+ * Get the servicePrincipalProfile property: Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified.
+ *
+ * @return the servicePrincipalProfile value.
+ */
+ public ContainerServicePrincipalProfile servicePrincipalProfile() {
+ return this.servicePrincipalProfile;
+ }
+
+ /**
+ * Set the servicePrincipalProfile property: Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified.
+ *
+ * @param servicePrincipalProfile the servicePrincipalProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withServicePrincipalProfile(ContainerServicePrincipalProfile servicePrincipalProfile) {
+ this.servicePrincipalProfile = servicePrincipalProfile;
+ return this;
+ }
+
+ /**
+ * Get the masterProfile property: Profile for the container service master.
+ *
+ * @return the masterProfile value.
+ */
+ public ContainerServiceMasterProfile masterProfile() {
+ return this.masterProfile;
+ }
+
+ /**
+ * Set the masterProfile property: Profile for the container service master.
+ *
+ * @param masterProfile the masterProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withMasterProfile(ContainerServiceMasterProfile masterProfile) {
+ this.masterProfile = masterProfile;
+ return this;
+ }
+
+ /**
+ * Get the agentPoolProfiles property: Properties of the agent pool.
+ *
+ * @return the agentPoolProfiles value.
+ */
+ public List agentPoolProfiles() {
+ return this.agentPoolProfiles;
+ }
+
+ /**
+ * Set the agentPoolProfiles property: Properties of the agent pool.
+ *
+ * @param agentPoolProfiles the agentPoolProfiles value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withAgentPoolProfiles(List agentPoolProfiles) {
+ this.agentPoolProfiles = agentPoolProfiles;
+ return this;
+ }
+
+ /**
+ * Get the windowsProfile property: Profile for Windows VMs in the container service cluster.
+ *
+ * @return the windowsProfile value.
+ */
+ public ContainerServiceWindowsProfile windowsProfile() {
+ return this.windowsProfile;
+ }
+
+ /**
+ * Set the windowsProfile property: Profile for Windows VMs in the container service cluster.
+ *
+ * @param windowsProfile the windowsProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withWindowsProfile(ContainerServiceWindowsProfile windowsProfile) {
+ this.windowsProfile = windowsProfile;
+ return this;
+ }
+
+ /**
+ * Get the linuxProfile property: Profile for Linux VMs in the container service cluster.
+ *
+ * @return the linuxProfile value.
+ */
+ public ContainerServiceLinuxProfile linuxProfile() {
+ return this.linuxProfile;
+ }
+
+ /**
+ * Set the linuxProfile property: Profile for Linux VMs in the container service cluster.
+ *
+ * @param linuxProfile the linuxProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withLinuxProfile(ContainerServiceLinuxProfile linuxProfile) {
+ this.linuxProfile = linuxProfile;
+ return this;
+ }
+
+ /**
+ * Get the diagnosticsProfile property: Profile for diagnostics in the container service cluster.
+ *
+ * @return the diagnosticsProfile value.
+ */
+ public ContainerServiceDiagnosticsProfile diagnosticsProfile() {
+ return this.diagnosticsProfile;
+ }
+
+ /**
+ * Set the diagnosticsProfile property: Profile for diagnostics in the container service cluster.
+ *
+ * @param diagnosticsProfile the diagnosticsProfile value to set.
+ * @return the ContainerServiceInner object itself.
+ */
+ public ContainerServiceInner withDiagnosticsProfile(ContainerServiceDiagnosticsProfile diagnosticsProfile) {
+ this.diagnosticsProfile = diagnosticsProfile;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ContainerServiceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ContainerServiceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (orchestratorProfile() != null) {
+ orchestratorProfile().validate();
+ }
+ if (customProfile() != null) {
+ customProfile().validate();
+ }
+ if (servicePrincipalProfile() != null) {
+ servicePrincipalProfile().validate();
+ }
+ if (masterProfile() != null) {
+ masterProfile().validate();
+ }
+ if (agentPoolProfiles() != null) {
+ agentPoolProfiles().forEach(e -> e.validate());
+ }
+ if (windowsProfile() != null) {
+ windowsProfile().validate();
+ }
+ if (linuxProfile() != null) {
+ linuxProfile().validate();
+ }
+ if (diagnosticsProfile() != null) {
+ diagnosticsProfile().validate();
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/CredentialResultsInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/CredentialResultsInner.java
new file mode 100644
index 000000000000..9404fdbec634
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/CredentialResultsInner.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.CredentialResult;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list credential result response. */
+@Immutable
+public final class CredentialResultsInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CredentialResultsInner.class);
+
+ /*
+ * Base64-encoded Kubernetes configuration file.
+ */
+ @JsonProperty(value = "kubeconfigs", access = JsonProperty.Access.WRITE_ONLY)
+ private List kubeconfigs;
+
+ /**
+ * Get the kubeconfigs property: Base64-encoded Kubernetes configuration file.
+ *
+ * @return the kubeconfigs value.
+ */
+ public List kubeconfigs() {
+ return this.kubeconfigs;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (kubeconfigs() != null) {
+ kubeconfigs().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/MaintenanceConfigurationInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/MaintenanceConfigurationInner.java
new file mode 100644
index 000000000000..feec49d0a489
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/MaintenanceConfigurationInner.java
@@ -0,0 +1,149 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.SubResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.TimeInWeek;
+import com.azure.resourcemanager.containerservice.generated.models.TimeSpan;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about
+ * planned maintenance.
+ */
+@JsonFlatten
+@Fluent
+public class MaintenanceConfigurationInner extends SubResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MaintenanceConfigurationInner.class);
+
+ /*
+ * The system metadata relating to this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * If two array entries specify the same day of the week, the applied
+ * configuration is the union of times in both entries.
+ */
+ @JsonProperty(value = "properties.timeInWeek")
+ private List timeInWeek;
+
+ /*
+ * Time slots on which upgrade is not allowed.
+ */
+ @JsonProperty(value = "properties.notAllowedTime")
+ private List notAllowedTime;
+
+ /*
+ * The name of the resource that is unique within a resource group. This
+ * name can be used to access the resource.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Resource type
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Get the systemData property: The system metadata relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the timeInWeek property: If two array entries specify the same day of the week, the applied configuration is
+ * the union of times in both entries.
+ *
+ * @return the timeInWeek value.
+ */
+ public List timeInWeek() {
+ return this.timeInWeek;
+ }
+
+ /**
+ * Set the timeInWeek property: If two array entries specify the same day of the week, the applied configuration is
+ * the union of times in both entries.
+ *
+ * @param timeInWeek the timeInWeek value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withTimeInWeek(List timeInWeek) {
+ this.timeInWeek = timeInWeek;
+ return this;
+ }
+
+ /**
+ * Get the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @return the notAllowedTime value.
+ */
+ public List notAllowedTime() {
+ return this.notAllowedTime;
+ }
+
+ /**
+ * Set the notAllowedTime property: Time slots on which upgrade is not allowed.
+ *
+ * @param notAllowedTime the notAllowedTime value to set.
+ * @return the MaintenanceConfigurationInner object itself.
+ */
+ public MaintenanceConfigurationInner withNotAllowedTime(List notAllowedTime) {
+ this.notAllowedTime = notAllowedTime;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the resource that is unique within a resource group. This name can be used to
+ * access the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MaintenanceConfigurationInner withId(String id) {
+ super.withId(id);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (timeInWeek() != null) {
+ timeInWeek().forEach(e -> e.validate());
+ }
+ if (notAllowedTime() != null) {
+ notAllowedTime().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterAccessProfileInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterAccessProfileInner.java
new file mode 100644
index 000000000000..f19a54727036
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterAccessProfileInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Managed cluster Access Profile. */
+@JsonFlatten
+@Fluent
+public class ManagedClusterAccessProfileInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ManagedClusterAccessProfileInner.class);
+
+ /*
+ * Base64-encoded Kubernetes configuration file.
+ */
+ @JsonProperty(value = "properties.kubeConfig")
+ private byte[] kubeConfig;
+
+ /**
+ * Get the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @return the kubeConfig value.
+ */
+ public byte[] kubeConfig() {
+ return CoreUtils.clone(this.kubeConfig);
+ }
+
+ /**
+ * Set the kubeConfig property: Base64-encoded Kubernetes configuration file.
+ *
+ * @param kubeConfig the kubeConfig value to set.
+ * @return the ManagedClusterAccessProfileInner object itself.
+ */
+ public ManagedClusterAccessProfileInner withKubeConfig(byte[] kubeConfig) {
+ this.kubeConfig = CoreUtils.clone(kubeConfig);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterAccessProfileInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterAccessProfileInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterInner.java
new file mode 100644
index 000000000000..91305eeb3537
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterInner.java
@@ -0,0 +1,910 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceLinuxProfileAutoGenerated;
+import com.azure.resourcemanager.containerservice.generated.models.ContainerServiceNetworkProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ExtendedLocation;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterAadProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterAddonProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterAgentPoolProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterApiServerAccessProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterAutoUpgradeProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterHttpProxyConfig;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterIdentity;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterPodIdentityProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterPropertiesAutoScalerProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterPropertiesIdentityProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterServicePrincipalProfile;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterSku;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterWindowsProfile;
+import com.azure.resourcemanager.containerservice.generated.models.PowerState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Managed cluster. */
+@JsonFlatten
+@Fluent
+public class ManagedClusterInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ManagedClusterInner.class);
+
+ /*
+ * The managed cluster SKU.
+ */
+ @JsonProperty(value = "sku")
+ private ManagedClusterSku sku;
+
+ /*
+ * The extended location of the Virtual Machine.
+ */
+ @JsonProperty(value = "extendedLocation")
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * The identity of the managed cluster, if configured.
+ */
+ @JsonProperty(value = "identity")
+ private ManagedClusterIdentity identity;
+
+ /*
+ * The current provisioning state.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The Power State of the cluster.
+ */
+ @JsonProperty(value = "properties.powerState", access = JsonProperty.Access.WRITE_ONLY)
+ private PowerState powerState;
+
+ /*
+ * The max number of agent pools for the managed cluster.
+ */
+ @JsonProperty(value = "properties.maxAgentPools", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer maxAgentPools;
+
+ /*
+ * When you upgrade a supported AKS cluster, Kubernetes minor versions
+ * cannot be skipped. All upgrades must be performed sequentially by major
+ * version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x
+ * -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See
+ * [upgrading an AKS
+ * cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more
+ * details.
+ */
+ @JsonProperty(value = "properties.kubernetesVersion")
+ private String kubernetesVersion;
+
+ /*
+ * This cannot be updated once the Managed Cluster has been created.
+ */
+ @JsonProperty(value = "properties.dnsPrefix")
+ private String dnsPrefix;
+
+ /*
+ * This cannot be updated once the Managed Cluster has been created.
+ */
+ @JsonProperty(value = "properties.fqdnSubdomain")
+ private String fqdnSubdomain;
+
+ /*
+ * The FQDN of the master pool.
+ */
+ @JsonProperty(value = "properties.fqdn", access = JsonProperty.Access.WRITE_ONLY)
+ private String fqdn;
+
+ /*
+ * The FQDN of private cluster.
+ */
+ @JsonProperty(value = "properties.privateFQDN", access = JsonProperty.Access.WRITE_ONLY)
+ private String privateFqdn;
+
+ /*
+ * The Azure Portal requires certain Cross-Origin Resource Sharing (CORS)
+ * headers to be sent in some responses, which Kubernetes APIServer doesn't
+ * handle by default. This special FQDN supports CORS, allowing the Azure
+ * Portal to function properly.
+ */
+ @JsonProperty(value = "properties.azurePortalFQDN", access = JsonProperty.Access.WRITE_ONLY)
+ private String azurePortalFqdn;
+
+ /*
+ * The agent pool properties.
+ */
+ @JsonProperty(value = "properties.agentPoolProfiles")
+ private List agentPoolProfiles;
+
+ /*
+ * The profile for Linux VMs in the Managed Cluster.
+ */
+ @JsonProperty(value = "properties.linuxProfile")
+ private ContainerServiceLinuxProfileAutoGenerated linuxProfile;
+
+ /*
+ * The profile for Windows VMs in the Managed Cluster.
+ */
+ @JsonProperty(value = "properties.windowsProfile")
+ private ManagedClusterWindowsProfile windowsProfile;
+
+ /*
+ * Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs.
+ */
+ @JsonProperty(value = "properties.servicePrincipalProfile")
+ private ManagedClusterServicePrincipalProfile servicePrincipalProfile;
+
+ /*
+ * The profile of managed cluster add-on.
+ */
+ @JsonProperty(value = "properties.addonProfiles")
+ private Map addonProfiles;
+
+ /*
+ * See [use AAD pod
+ * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity)
+ * for more details on AAD pod identity integration.
+ */
+ @JsonProperty(value = "properties.podIdentityProfile")
+ private ManagedClusterPodIdentityProfile podIdentityProfile;
+
+ /*
+ * The name of the resource group containing agent pool nodes.
+ */
+ @JsonProperty(value = "properties.nodeResourceGroup")
+ private String nodeResourceGroup;
+
+ /*
+ * Whether to enable Kubernetes Role-Based Access Control.
+ */
+ @JsonProperty(value = "properties.enableRBAC")
+ private Boolean enableRbac;
+
+ /*
+ * (DEPRECATING) Whether to enable Kubernetes pod security policy
+ * (preview). This feature is set for removal on October 15th, 2020. Learn
+ * more at aka.ms/aks/azpodpolicy.
+ */
+ @JsonProperty(value = "properties.enablePodSecurityPolicy")
+ private Boolean enablePodSecurityPolicy;
+
+ /*
+ * The network configuration profile.
+ */
+ @JsonProperty(value = "properties.networkProfile")
+ private ContainerServiceNetworkProfile networkProfile;
+
+ /*
+ * The Azure Active Directory configuration.
+ */
+ @JsonProperty(value = "properties.aadProfile")
+ private ManagedClusterAadProfile aadProfile;
+
+ /*
+ * The auto upgrade configuration.
+ */
+ @JsonProperty(value = "properties.autoUpgradeProfile")
+ private ManagedClusterAutoUpgradeProfile autoUpgradeProfile;
+
+ /*
+ * Parameters to be applied to the cluster-autoscaler when enabled
+ */
+ @JsonProperty(value = "properties.autoScalerProfile")
+ private ManagedClusterPropertiesAutoScalerProfile autoScalerProfile;
+
+ /*
+ * The access profile for managed cluster API server.
+ */
+ @JsonProperty(value = "properties.apiServerAccessProfile")
+ private ManagedClusterApiServerAccessProfile apiServerAccessProfile;
+
+ /*
+ * This is of the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'
+ */
+ @JsonProperty(value = "properties.diskEncryptionSetID")
+ private String diskEncryptionSetId;
+
+ /*
+ * Identities associated with the cluster.
+ */
+ @JsonProperty(value = "properties.identityProfile")
+ private Map identityProfile;
+
+ /*
+ * Private link resources associated with the cluster.
+ */
+ @JsonProperty(value = "properties.privateLinkResources")
+ private List privateLinkResources;
+
+ /*
+ * If set to true, getting static credentials will be disabled for this
+ * cluster. This must only be used on Managed Clusters that are AAD
+ * enabled. For more details see [disable local
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
+ */
+ @JsonProperty(value = "properties.disableLocalAccounts")
+ private Boolean disableLocalAccounts;
+
+ /*
+ * Configurations for provisioning the cluster with HTTP proxy servers.
+ */
+ @JsonProperty(value = "properties.httpProxyConfig")
+ private ManagedClusterHttpProxyConfig httpProxyConfig;
+
+ /**
+ * Get the sku property: The managed cluster SKU.
+ *
+ * @return the sku value.
+ */
+ public ManagedClusterSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The managed cluster SKU.
+ *
+ * @param sku the sku value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withSku(ManagedClusterSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extended location of the Virtual Machine.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extended location of the Virtual Machine.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The identity of the managed cluster, if configured.
+ *
+ * @return the identity value.
+ */
+ public ManagedClusterIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The identity of the managed cluster, if configured.
+ *
+ * @param identity the identity value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withIdentity(ManagedClusterIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The current provisioning state.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the powerState property: The Power State of the cluster.
+ *
+ * @return the powerState value.
+ */
+ public PowerState powerState() {
+ return this.powerState;
+ }
+
+ /**
+ * Get the maxAgentPools property: The max number of agent pools for the managed cluster.
+ *
+ * @return the maxAgentPools value.
+ */
+ public Integer maxAgentPools() {
+ return this.maxAgentPools;
+ }
+
+ /**
+ * Get the kubernetesVersion property: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be
+ * skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between
+ * 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See
+ * [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
+ *
+ * @return the kubernetesVersion value.
+ */
+ public String kubernetesVersion() {
+ return this.kubernetesVersion;
+ }
+
+ /**
+ * Set the kubernetesVersion property: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be
+ * skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between
+ * 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See
+ * [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details.
+ *
+ * @param kubernetesVersion the kubernetesVersion value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withKubernetesVersion(String kubernetesVersion) {
+ this.kubernetesVersion = kubernetesVersion;
+ return this;
+ }
+
+ /**
+ * Get the dnsPrefix property: This cannot be updated once the Managed Cluster has been created.
+ *
+ * @return the dnsPrefix value.
+ */
+ public String dnsPrefix() {
+ return this.dnsPrefix;
+ }
+
+ /**
+ * Set the dnsPrefix property: This cannot be updated once the Managed Cluster has been created.
+ *
+ * @param dnsPrefix the dnsPrefix value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDnsPrefix(String dnsPrefix) {
+ this.dnsPrefix = dnsPrefix;
+ return this;
+ }
+
+ /**
+ * Get the fqdnSubdomain property: This cannot be updated once the Managed Cluster has been created.
+ *
+ * @return the fqdnSubdomain value.
+ */
+ public String fqdnSubdomain() {
+ return this.fqdnSubdomain;
+ }
+
+ /**
+ * Set the fqdnSubdomain property: This cannot be updated once the Managed Cluster has been created.
+ *
+ * @param fqdnSubdomain the fqdnSubdomain value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withFqdnSubdomain(String fqdnSubdomain) {
+ this.fqdnSubdomain = fqdnSubdomain;
+ return this;
+ }
+
+ /**
+ * Get the fqdn property: The FQDN of the master pool.
+ *
+ * @return the fqdn value.
+ */
+ public String fqdn() {
+ return this.fqdn;
+ }
+
+ /**
+ * Get the privateFqdn property: The FQDN of private cluster.
+ *
+ * @return the privateFqdn value.
+ */
+ public String privateFqdn() {
+ return this.privateFqdn;
+ }
+
+ /**
+ * Get the azurePortalFqdn property: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers
+ * to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports
+ * CORS, allowing the Azure Portal to function properly.
+ *
+ * @return the azurePortalFqdn value.
+ */
+ public String azurePortalFqdn() {
+ return this.azurePortalFqdn;
+ }
+
+ /**
+ * Get the agentPoolProfiles property: The agent pool properties.
+ *
+ * @return the agentPoolProfiles value.
+ */
+ public List agentPoolProfiles() {
+ return this.agentPoolProfiles;
+ }
+
+ /**
+ * Set the agentPoolProfiles property: The agent pool properties.
+ *
+ * @param agentPoolProfiles the agentPoolProfiles value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAgentPoolProfiles(List agentPoolProfiles) {
+ this.agentPoolProfiles = agentPoolProfiles;
+ return this;
+ }
+
+ /**
+ * Get the linuxProfile property: The profile for Linux VMs in the Managed Cluster.
+ *
+ * @return the linuxProfile value.
+ */
+ public ContainerServiceLinuxProfileAutoGenerated linuxProfile() {
+ return this.linuxProfile;
+ }
+
+ /**
+ * Set the linuxProfile property: The profile for Linux VMs in the Managed Cluster.
+ *
+ * @param linuxProfile the linuxProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withLinuxProfile(ContainerServiceLinuxProfileAutoGenerated linuxProfile) {
+ this.linuxProfile = linuxProfile;
+ return this;
+ }
+
+ /**
+ * Get the windowsProfile property: The profile for Windows VMs in the Managed Cluster.
+ *
+ * @return the windowsProfile value.
+ */
+ public ManagedClusterWindowsProfile windowsProfile() {
+ return this.windowsProfile;
+ }
+
+ /**
+ * Set the windowsProfile property: The profile for Windows VMs in the Managed Cluster.
+ *
+ * @param windowsProfile the windowsProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withWindowsProfile(ManagedClusterWindowsProfile windowsProfile) {
+ this.windowsProfile = windowsProfile;
+ return this;
+ }
+
+ /**
+ * Get the servicePrincipalProfile property: Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs.
+ *
+ * @return the servicePrincipalProfile value.
+ */
+ public ManagedClusterServicePrincipalProfile servicePrincipalProfile() {
+ return this.servicePrincipalProfile;
+ }
+
+ /**
+ * Set the servicePrincipalProfile property: Information about a service principal identity for the cluster to use
+ * for manipulating Azure APIs.
+ *
+ * @param servicePrincipalProfile the servicePrincipalProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withServicePrincipalProfile(
+ ManagedClusterServicePrincipalProfile servicePrincipalProfile) {
+ this.servicePrincipalProfile = servicePrincipalProfile;
+ return this;
+ }
+
+ /**
+ * Get the addonProfiles property: The profile of managed cluster add-on.
+ *
+ * @return the addonProfiles value.
+ */
+ public Map addonProfiles() {
+ return this.addonProfiles;
+ }
+
+ /**
+ * Set the addonProfiles property: The profile of managed cluster add-on.
+ *
+ * @param addonProfiles the addonProfiles value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAddonProfiles(Map addonProfiles) {
+ this.addonProfiles = addonProfiles;
+ return this;
+ }
+
+ /**
+ * Get the podIdentityProfile property: See [use AAD pod
+ * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity
+ * integration.
+ *
+ * @return the podIdentityProfile value.
+ */
+ public ManagedClusterPodIdentityProfile podIdentityProfile() {
+ return this.podIdentityProfile;
+ }
+
+ /**
+ * Set the podIdentityProfile property: See [use AAD pod
+ * identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity
+ * integration.
+ *
+ * @param podIdentityProfile the podIdentityProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withPodIdentityProfile(ManagedClusterPodIdentityProfile podIdentityProfile) {
+ this.podIdentityProfile = podIdentityProfile;
+ return this;
+ }
+
+ /**
+ * Get the nodeResourceGroup property: The name of the resource group containing agent pool nodes.
+ *
+ * @return the nodeResourceGroup value.
+ */
+ public String nodeResourceGroup() {
+ return this.nodeResourceGroup;
+ }
+
+ /**
+ * Set the nodeResourceGroup property: The name of the resource group containing agent pool nodes.
+ *
+ * @param nodeResourceGroup the nodeResourceGroup value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withNodeResourceGroup(String nodeResourceGroup) {
+ this.nodeResourceGroup = nodeResourceGroup;
+ return this;
+ }
+
+ /**
+ * Get the enableRbac property: Whether to enable Kubernetes Role-Based Access Control.
+ *
+ * @return the enableRbac value.
+ */
+ public Boolean enableRbac() {
+ return this.enableRbac;
+ }
+
+ /**
+ * Set the enableRbac property: Whether to enable Kubernetes Role-Based Access Control.
+ *
+ * @param enableRbac the enableRbac value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withEnableRbac(Boolean enableRbac) {
+ this.enableRbac = enableRbac;
+ return this;
+ }
+
+ /**
+ * Get the enablePodSecurityPolicy property: (DEPRECATING) Whether to enable Kubernetes pod security policy
+ * (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy.
+ *
+ * @return the enablePodSecurityPolicy value.
+ */
+ public Boolean enablePodSecurityPolicy() {
+ return this.enablePodSecurityPolicy;
+ }
+
+ /**
+ * Set the enablePodSecurityPolicy property: (DEPRECATING) Whether to enable Kubernetes pod security policy
+ * (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy.
+ *
+ * @param enablePodSecurityPolicy the enablePodSecurityPolicy value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withEnablePodSecurityPolicy(Boolean enablePodSecurityPolicy) {
+ this.enablePodSecurityPolicy = enablePodSecurityPolicy;
+ return this;
+ }
+
+ /**
+ * Get the networkProfile property: The network configuration profile.
+ *
+ * @return the networkProfile value.
+ */
+ public ContainerServiceNetworkProfile networkProfile() {
+ return this.networkProfile;
+ }
+
+ /**
+ * Set the networkProfile property: The network configuration profile.
+ *
+ * @param networkProfile the networkProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withNetworkProfile(ContainerServiceNetworkProfile networkProfile) {
+ this.networkProfile = networkProfile;
+ return this;
+ }
+
+ /**
+ * Get the aadProfile property: The Azure Active Directory configuration.
+ *
+ * @return the aadProfile value.
+ */
+ public ManagedClusterAadProfile aadProfile() {
+ return this.aadProfile;
+ }
+
+ /**
+ * Set the aadProfile property: The Azure Active Directory configuration.
+ *
+ * @param aadProfile the aadProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAadProfile(ManagedClusterAadProfile aadProfile) {
+ this.aadProfile = aadProfile;
+ return this;
+ }
+
+ /**
+ * Get the autoUpgradeProfile property: The auto upgrade configuration.
+ *
+ * @return the autoUpgradeProfile value.
+ */
+ public ManagedClusterAutoUpgradeProfile autoUpgradeProfile() {
+ return this.autoUpgradeProfile;
+ }
+
+ /**
+ * Set the autoUpgradeProfile property: The auto upgrade configuration.
+ *
+ * @param autoUpgradeProfile the autoUpgradeProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAutoUpgradeProfile(ManagedClusterAutoUpgradeProfile autoUpgradeProfile) {
+ this.autoUpgradeProfile = autoUpgradeProfile;
+ return this;
+ }
+
+ /**
+ * Get the autoScalerProfile property: Parameters to be applied to the cluster-autoscaler when enabled.
+ *
+ * @return the autoScalerProfile value.
+ */
+ public ManagedClusterPropertiesAutoScalerProfile autoScalerProfile() {
+ return this.autoScalerProfile;
+ }
+
+ /**
+ * Set the autoScalerProfile property: Parameters to be applied to the cluster-autoscaler when enabled.
+ *
+ * @param autoScalerProfile the autoScalerProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withAutoScalerProfile(ManagedClusterPropertiesAutoScalerProfile autoScalerProfile) {
+ this.autoScalerProfile = autoScalerProfile;
+ return this;
+ }
+
+ /**
+ * Get the apiServerAccessProfile property: The access profile for managed cluster API server.
+ *
+ * @return the apiServerAccessProfile value.
+ */
+ public ManagedClusterApiServerAccessProfile apiServerAccessProfile() {
+ return this.apiServerAccessProfile;
+ }
+
+ /**
+ * Set the apiServerAccessProfile property: The access profile for managed cluster API server.
+ *
+ * @param apiServerAccessProfile the apiServerAccessProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withApiServerAccessProfile(ManagedClusterApiServerAccessProfile apiServerAccessProfile) {
+ this.apiServerAccessProfile = apiServerAccessProfile;
+ return this;
+ }
+
+ /**
+ * Get the diskEncryptionSetId property: This is of the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'.
+ *
+ * @return the diskEncryptionSetId value.
+ */
+ public String diskEncryptionSetId() {
+ return this.diskEncryptionSetId;
+ }
+
+ /**
+ * Set the diskEncryptionSetId property: This is of the form:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'.
+ *
+ * @param diskEncryptionSetId the diskEncryptionSetId value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDiskEncryptionSetId(String diskEncryptionSetId) {
+ this.diskEncryptionSetId = diskEncryptionSetId;
+ return this;
+ }
+
+ /**
+ * Get the identityProfile property: Identities associated with the cluster.
+ *
+ * @return the identityProfile value.
+ */
+ public Map identityProfile() {
+ return this.identityProfile;
+ }
+
+ /**
+ * Set the identityProfile property: Identities associated with the cluster.
+ *
+ * @param identityProfile the identityProfile value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withIdentityProfile(
+ Map identityProfile) {
+ this.identityProfile = identityProfile;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkResources property: Private link resources associated with the cluster.
+ *
+ * @return the privateLinkResources value.
+ */
+ public List privateLinkResources() {
+ return this.privateLinkResources;
+ }
+
+ /**
+ * Set the privateLinkResources property: Private link resources associated with the cluster.
+ *
+ * @param privateLinkResources the privateLinkResources value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withPrivateLinkResources(List privateLinkResources) {
+ this.privateLinkResources = privateLinkResources;
+ return this;
+ }
+
+ /**
+ * Get the disableLocalAccounts property: If set to true, getting static credentials will be disabled for this
+ * cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
+ *
+ * @return the disableLocalAccounts value.
+ */
+ public Boolean disableLocalAccounts() {
+ return this.disableLocalAccounts;
+ }
+
+ /**
+ * Set the disableLocalAccounts property: If set to true, getting static credentials will be disabled for this
+ * cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local
+ * accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview).
+ *
+ * @param disableLocalAccounts the disableLocalAccounts value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withDisableLocalAccounts(Boolean disableLocalAccounts) {
+ this.disableLocalAccounts = disableLocalAccounts;
+ return this;
+ }
+
+ /**
+ * Get the httpProxyConfig property: Configurations for provisioning the cluster with HTTP proxy servers.
+ *
+ * @return the httpProxyConfig value.
+ */
+ public ManagedClusterHttpProxyConfig httpProxyConfig() {
+ return this.httpProxyConfig;
+ }
+
+ /**
+ * Set the httpProxyConfig property: Configurations for provisioning the cluster with HTTP proxy servers.
+ *
+ * @param httpProxyConfig the httpProxyConfig value to set.
+ * @return the ManagedClusterInner object itself.
+ */
+ public ManagedClusterInner withHttpProxyConfig(ManagedClusterHttpProxyConfig httpProxyConfig) {
+ this.httpProxyConfig = httpProxyConfig;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ManagedClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (extendedLocation() != null) {
+ extendedLocation().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ if (powerState() != null) {
+ powerState().validate();
+ }
+ if (agentPoolProfiles() != null) {
+ agentPoolProfiles().forEach(e -> e.validate());
+ }
+ if (linuxProfile() != null) {
+ linuxProfile().validate();
+ }
+ if (windowsProfile() != null) {
+ windowsProfile().validate();
+ }
+ if (servicePrincipalProfile() != null) {
+ servicePrincipalProfile().validate();
+ }
+ if (addonProfiles() != null) {
+ addonProfiles()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ if (podIdentityProfile() != null) {
+ podIdentityProfile().validate();
+ }
+ if (networkProfile() != null) {
+ networkProfile().validate();
+ }
+ if (aadProfile() != null) {
+ aadProfile().validate();
+ }
+ if (autoUpgradeProfile() != null) {
+ autoUpgradeProfile().validate();
+ }
+ if (autoScalerProfile() != null) {
+ autoScalerProfile().validate();
+ }
+ if (apiServerAccessProfile() != null) {
+ apiServerAccessProfile().validate();
+ }
+ if (identityProfile() != null) {
+ identityProfile()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ if (privateLinkResources() != null) {
+ privateLinkResources().forEach(e -> e.validate());
+ }
+ if (httpProxyConfig() != null) {
+ httpProxyConfig().validate();
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterUpgradeProfileInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterUpgradeProfileInner.java
new file mode 100644
index 000000000000..afa11d5e5736
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/ManagedClusterUpgradeProfileInner.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.ManagedClusterPoolUpgradeProfile;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list of available upgrades for compute pools. */
+@JsonFlatten
+@Fluent
+public class ManagedClusterUpgradeProfileInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ManagedClusterUpgradeProfileInner.class);
+
+ /*
+ * The ID of the upgrade profile.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the upgrade profile.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The type of the upgrade profile.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The list of available upgrade versions for the control plane.
+ */
+ @JsonProperty(value = "properties.controlPlaneProfile", required = true)
+ private ManagedClusterPoolUpgradeProfile controlPlaneProfile;
+
+ /*
+ * The list of available upgrade versions for agent pools.
+ */
+ @JsonProperty(value = "properties.agentPoolProfiles", required = true)
+ private List agentPoolProfiles;
+
+ /**
+ * Get the id property: The ID of the upgrade profile.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the upgrade profile.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The type of the upgrade profile.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the controlPlaneProfile property: The list of available upgrade versions for the control plane.
+ *
+ * @return the controlPlaneProfile value.
+ */
+ public ManagedClusterPoolUpgradeProfile controlPlaneProfile() {
+ return this.controlPlaneProfile;
+ }
+
+ /**
+ * Set the controlPlaneProfile property: The list of available upgrade versions for the control plane.
+ *
+ * @param controlPlaneProfile the controlPlaneProfile value to set.
+ * @return the ManagedClusterUpgradeProfileInner object itself.
+ */
+ public ManagedClusterUpgradeProfileInner withControlPlaneProfile(
+ ManagedClusterPoolUpgradeProfile controlPlaneProfile) {
+ this.controlPlaneProfile = controlPlaneProfile;
+ return this;
+ }
+
+ /**
+ * Get the agentPoolProfiles property: The list of available upgrade versions for agent pools.
+ *
+ * @return the agentPoolProfiles value.
+ */
+ public List agentPoolProfiles() {
+ return this.agentPoolProfiles;
+ }
+
+ /**
+ * Set the agentPoolProfiles property: The list of available upgrade versions for agent pools.
+ *
+ * @param agentPoolProfiles the agentPoolProfiles value to set.
+ * @return the ManagedClusterUpgradeProfileInner object itself.
+ */
+ public ManagedClusterUpgradeProfileInner withAgentPoolProfiles(
+ List agentPoolProfiles) {
+ this.agentPoolProfiles = agentPoolProfiles;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (controlPlaneProfile() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property controlPlaneProfile in model ManagedClusterUpgradeProfileInner"));
+ } else {
+ controlPlaneProfile().validate();
+ }
+ if (agentPoolProfiles() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property agentPoolProfiles in model ManagedClusterUpgradeProfileInner"));
+ } else {
+ agentPoolProfiles().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/OSOptionProfileInner.java b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/OSOptionProfileInner.java
new file mode 100644
index 000000000000..644f51d80fdc
--- /dev/null
+++ b/sdk/containerservice/azure-resourcemanager-containerservice-generated/src/main/java/com/azure/resourcemanager/containerservice/generated/fluent/models/OSOptionProfileInner.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.containerservice.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.containerservice.generated.models.OSOptionProperty;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The OS option profile. */
+@JsonFlatten
+@Fluent
+public class OSOptionProfileInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OSOptionProfileInner.class);
+
+ /*
+ * The ID of the OS option resource.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The name of the OS option resource.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The type of the OS option resource.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The list of OS options.
+ */
+ @JsonProperty(value = "properties.osOptionPropertyList", required = true)
+ private List