Skip to content

Add Confluent PowerShell commands for API version 2025-08-18-preview#29246

Open
Shekar2004 wants to merge 1 commit intoAzure:mainfrom
Shekar2004:pgnanashekar/cfconnPSH
Open

Add Confluent PowerShell commands for API version 2025-08-18-preview#29246
Shekar2004 wants to merge 1 commit intoAzure:mainfrom
Shekar2004:pgnanashekar/cfconnPSH

Conversation

@Shekar2004
Copy link
Member

Description

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Copilot AI review requested due to automatic review settings March 8, 2026 07:19
@azure-client-tools-bot-prd
Copy link

Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Az.Confluent module to onboard Confluent management-plane cmdlets generated from the 2025-08-18-preview API version, including refreshed docs, UX metadata, and test scaffolding.

Changes:

  • Added new cmdlet help/docs and UX descriptors for preview API resources (environments, clusters, topics, connectors, API keys, access endpoints).
  • Updated module manifest/solution wiring and bumped assembly version to 0.3.0.
  • Added/updated example markdowns and Pester test stubs + recordings for the new cmdlets.

Reviewed changes

Copilot reviewed 151 out of 175 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
src/Confluent/Confluent/help/Get-AzConfluentOrganizationEnvironment.md New cmdlet help for listing/getting organization environments
src/Confluent/Confluent/help/Get-AzConfluentOrganizationClusterApiKey.md New cmdlet help for fetching cluster API key details
src/Confluent/Confluent/help/Get-AzConfluentOrganization.md Updated help metadata/types/descriptions for consistency with newer generator output
src/Confluent/Confluent/help/Get-AzConfluentMarketplaceAgreement.md Updated help metadata/type casing + parameter descriptions
src/Confluent/Confluent/help/Get-AzConfluentAccessUser.md New cmdlet help for listing organization users
src/Confluent/Confluent/help/Get-AzConfluentAccessCluster.md New cmdlet help for cluster access listing
src/Confluent/Confluent/help/Az.Confluent.md Updated module cmdlet index to include new cmdlets
src/Confluent/Confluent/Az.Confluent.psd1 Manifest updates (required Az.Accounts version, exported functions list, generated date)
src/Confluent/Confluent.sln Solution wiring updated to new generated project path/name
src/Confluent/Confluent.Autorest/test/env.json Updated test environment values used by Pester tests
src/Confluent/Confluent.Autorest/test/Update-AzConfluentTopic.Tests.ps1 New Pester test stub for Update-AzConfluentTopic
src/Confluent/Confluent.Autorest/test/Update-AzConfluentOrganization.Tests.ps1 Existing Pester tests marked skipped
src/Confluent/Confluent.Autorest/test/Update-AzConfluentConnector.Tests.ps1 New Pester test stub for Update-AzConfluentConnector
src/Confluent/Confluent.Autorest/test/Test-AzConfluentValidationOrganizationV2.Tests.ps1 New Pester test stub for org validation V2
src/Confluent/Confluent.Autorest/test/Test-AzConfluentValidationOrganization.Tests.ps1 New Pester test stub for org validation
src/Confluent/Confluent.Autorest/test/Set-AzConfluentEnvironment.Tests.ps1 New Pester test stub for Set-AzConfluentEnvironment
src/Confluent/Confluent.Autorest/test/Set-AzConfluentConnector.Tests.ps1 New Pester test stub for Set-AzConfluentConnector
src/Confluent/Confluent.Autorest/test/Set-AzConfluentCluster.Tests.ps1 New Pester test stub for Set-AzConfluentCluster
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentTopic.Tests.ps1 New Pester test stub for Remove-AzConfluentTopic
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentOrganizationClusterApiKey.Tests.ps1 New Pester test stub for removing API keys
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentEnvironment.Tests.ps1 New Pester test stub for removing environments
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentConnector.Tests.ps1 New Pester test stub for removing connectors
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentCluster.Tests.ps1 New Pester test stub for removing clusters
src/Confluent/Confluent.Autorest/test/Remove-AzConfluentAccessRoleBinding.Tests.ps1 New Pester test stub for removing role bindings
src/Confluent/Confluent.Autorest/test/New-AzConfluentTopic.Tests.ps1 New Pester test stub for creating topics
src/Confluent/Confluent.Autorest/test/New-AzConfluentOrganizationApiKey.Tests.ps1 New Pester test stub for creating org API keys
src/Confluent/Confluent.Autorest/test/New-AzConfluentOrganization.Tests.ps1 Existing Pester tests marked skipped
src/Confluent/Confluent.Autorest/test/New-AzConfluentEnvironment.Tests.ps1 New Pester test stub for creating environments
src/Confluent/Confluent.Autorest/test/New-AzConfluentConnector.Tests.ps1 New Pester test stub for creating connectors
src/Confluent/Confluent.Autorest/test/New-AzConfluentCluster.Tests.ps1 New Pester test stub for creating clusters
src/Confluent/Confluent.Autorest/test/New-AzConfluentAccessRoleBinding.Tests.ps1 New Pester test stub for creating role bindings
src/Confluent/Confluent.Autorest/test/Invoke-AzConfluentInviteAccessUser.Tests.ps1 New Pester test stub for inviting users
src/Confluent/Confluent.Autorest/test/Get-AzConfluentTopic.Tests.ps1 New Pester test stub for listing/getting topics
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganizationSchemaRegistryCluster.Tests.ps1 New Pester test stub for schema registry clusters
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganizationRegion.Tests.ps1 New Pester test stub for regions
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganizationEnvironment.Tests.ps1 New Pester test stub for environments
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganizationClusterApiKey.Tests.ps1 New Pester test stub for API keys
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganizationCluster.Tests.ps1 New Pester test stub for clusters
src/Confluent/Confluent.Autorest/test/Get-AzConfluentOrganization.Tests.ps1 Existing Pester tests marked skipped
src/Confluent/Confluent.Autorest/test/Get-AzConfluentMarketplaceAgreement.Recording.json Updated recording to new subscription + preview API version
src/Confluent/Confluent.Autorest/how-to.md Updated module naming references in developer how-to
src/Confluent/Confluent.Autorest/generate-info.json Updated autorest generation id
src/Confluent/Confluent.Autorest/examples/Update-AzConfluentTopic.md New example content for updating topics
src/Confluent/Confluent.Autorest/examples/Update-AzConfluentConnector.md New example content for updating connectors
src/Confluent/Confluent.Autorest/examples/Test-AzConfluentValidationOrganizationV2.md New example content for org validation V2
src/Confluent/Confluent.Autorest/examples/Test-AzConfluentValidationOrganization.md New example content for org validation
src/Confluent/Confluent.Autorest/examples/Set-AzConfluentEnvironment.md New example content for setting environments
src/Confluent/Confluent.Autorest/examples/Set-AzConfluentConnector.md New example content for setting connectors
src/Confluent/Confluent.Autorest/examples/Set-AzConfluentCluster.md New example content for setting clusters
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentTopic.md New example content for removing topics
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentOrganizationClusterApiKey.md New example content for removing API keys
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentEnvironment.md New example content for removing environments
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentConnector.md New example content for removing connectors
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentCluster.md New example content for removing clusters
src/Confluent/Confluent.Autorest/examples/Remove-AzConfluentAccessRoleBinding.md New example content for removing role bindings
src/Confluent/Confluent.Autorest/examples/New-AzConfluentTopic.md New example content for creating topics
src/Confluent/Confluent.Autorest/examples/New-AzConfluentOrganizationApiKey.md New example content for creating org API keys
src/Confluent/Confluent.Autorest/examples/New-AzConfluentEnvironment.md New example content for creating environments
src/Confluent/Confluent.Autorest/examples/New-AzConfluentConnector.md New example content for creating connectors
src/Confluent/Confluent.Autorest/examples/New-AzConfluentCluster.md New example content for creating clusters
src/Confluent/Confluent.Autorest/examples/New-AzConfluentAccessRoleBinding.md New example content for creating role bindings
src/Confluent/Confluent.Autorest/examples/Invoke-AzConfluentInviteAccessUser.md New example content for inviting users
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentTopic.md New example content for listing/getting topics
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentOrganizationSchemaRegistryCluster.md New example content for schema registry clusters
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentOrganizationRegion.md New example content for regions
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentOrganizationEnvironment.md New example content for environments
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentOrganizationClusterApiKey.md New example content for API keys
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentOrganizationCluster.md New example content for clusters
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentConnector.md New example content for connectors
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessUser.md New example content for listing users
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessServiceAccount.md New example content for listing service accounts
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessRoleBindingNameList.md New example content for role binding name list
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessRoleBinding.md New example content for listing role bindings
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessInvitation.md New example content for listing invitations
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessEnvironment.md New example content for listing environments (access)
src/Confluent/Confluent.Autorest/examples/Get-AzConfluentAccessCluster.md New example content for listing clusters (access)
src/Confluent/Confluent.Autorest/docs/Update-AzConfluentOrganization.md Updated reference doc metadata/type casing + description capitalization
src/Confluent/Confluent.Autorest/docs/Remove-AzConfluentOrganizationClusterApiKey.md New reference doc for removing org cluster API keys
src/Confluent/Confluent.Autorest/docs/Remove-AzConfluentOrganization.md Updated reference doc metadata/type casing
src/Confluent/Confluent.Autorest/docs/Remove-AzConfluentAccessRoleBinding.md New reference doc for removing role bindings
src/Confluent/Confluent.Autorest/docs/README.md Updated docs README module name casing
src/Confluent/Confluent.Autorest/docs/New-AzConfluentOrganization.md Updated reference doc (new parameters + metadata/type casing)
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentOrganizationRegion.md New reference doc for regions
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentOrganizationClusterApiKey.md New reference doc for API keys
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentOrganization.md Updated reference doc metadata/type casing
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentMarketplaceAgreement.md Updated reference doc metadata/type casing
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentAccessRoleBindingNameList.md New reference doc for role binding name list
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentAccessRoleBinding.md New reference doc for role bindings
src/Confluent/Confluent.Autorest/docs/Get-AzConfluentAccessCluster.md New reference doc for access cluster listing
src/Confluent/Confluent.Autorest/docs/Az.Confluent.md Updated module doc index and module metadata
src/Confluent/Confluent.Autorest/custom/README.md Updated custom cmdlets README module name/type casing
src/Confluent/Confluent.Autorest/custom/Az.Confluent.custom.psm1 Updated internal/private module import paths to new casing
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations.json Updated API version to 2025-08-18-preview
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-environments.json New UX descriptor for environments endpoints/cmdlets
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-environments-schemaRegistryClusters.json New UX descriptor for schema registry cluster get
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-environments-clusters.json New UX descriptor for clusters get/remove
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-environments-clusters-topics.json New UX descriptor for topics get/remove
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-environments-clusters-connectors.json New UX descriptor for connectors get/remove
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-deleteRoleBinding.json New UX descriptor for role binding deletion
src/Confluent/Confluent.Autorest/UX/Microsoft.Confluent/organizations-apiKeys.json New UX descriptor for API keys get/remove
src/Confluent/Confluent.Autorest/README.md Updated autorest config to preview spec + commit, and module naming
src/Confluent/Confluent.Autorest/Properties/AssemblyInfo.cs Version bump to 0.3.0

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +2 to +8
"userEmail": "pgnanashekar@microsoft.com",
"rstr1": "fwh8oe",
"location": "eastus2euap",
"userEmail": "LucasYao01@mpliftrconfluent20210509out.onmicrosoft.com",
"confluentOrgName03": "confluentorg-g8jtwf",
"Tenant": "074f1f2e-9f4e-4105-aec4-daf863053c5d",
"confluentOrgName01": "confluentorg-wgz3m7",
"rstr2": "9kxuva",
"confluentOrgName02": "confluentorg-w8ude5",
"confluentOrgName00": "confluentorg-godiy8",
"rstr1": "dcn09p"
"Tenant": "9a3b483e-2424-4f93-8613-4faf2f4093b4",
"rstr2": "81jvnd",
"confluentOrgName00": "confluentorg-63y1vz",
"SubscriptionId": "209ad589-cefc-4b2b-8eca-a12d726494a4",
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test env file contains a real email address plus tenant/subscription IDs. These values are typically considered sensitive and should not be committed; please replace with sanitized placeholders (e.g., user@contoso.com, 00000000-0000-0000-0000-000000000000) and rely on local developer overrides or secure pipeline variables for real values.

Copilot uses AI. Check for mistakes.
"confluentOrgName03": "confluentorg-z9deo2",
"rstr3": "nu5xj8",
"confluentOrgName01": "confluentorg-yuxk6q",
"resourceGroup": "confluentorg-rg-fwh8oe",
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test env file contains a real email address plus tenant/subscription IDs. These values are typically considered sensitive and should not be committed; please replace with sanitized placeholders (e.g., user@contoso.com, 00000000-0000-0000-0000-000000000000) and rely on local developer overrides or secure pipeline variables for real values.

Copilot uses AI. Check for mistakes.
Comment on lines +33 to +39
PartnerConnectorInfo : {
"partnerConnectorType": "KafkaAzureBlobStorageSink",
"authType": "KAFKA_API_KEY",
"inputFormat": "AVRO",
"outputFormat": "AVRO",
"apiKey": "PL7EV4FPZK44HPG7",
"apiSecret": "<ApiSecret>",
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example output includes what looks like a real API key value. Even if this is a test key, examples should not publish credentials/secrets; please replace API-key-like values with a clear placeholder (e.g., "") and ensure any recordings/examples are sanitized consistently.

Copilot uses AI. Check for mistakes.
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.3.2'; })

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = 'Confluent.Autorest/bin/Az.Confluent.private.dll'
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The manifest still requires Az.Confluent.private.dll, but the custom module loader was updated to import Az.confluent.private.dll. On case-sensitive filesystems (Linux/macOS), this mismatch can break module import. Align the DLL naming across RequiredAssemblies and custom/Az.Confluent.custom.psm1 (and the actual generated output name) to use a single, consistent filename.

Copilot uses AI. Check for mistakes.
Comment on lines +3 to +6
$null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.confluent.private.dll')

# Load the internal module
$internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.Confluent.internal.psm1'
$internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.confluent.internal.psm1'
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Join-Path child paths contain Windows-style backslashes (..\\bin\\...). On non-Windows platforms, the backslash is a normal character and can produce an invalid path. Prefer Join-Path $PSScriptRoot '..' and then Join-Path again for the leaf filename (or use forward slashes) to keep the module cross-platform.

Copilot uses AI. Check for mistakes.
```powershell
Get-AzConfluentAccessCluster -OrganizationName sharedrp-scus-org -ResourceGroupName sharedrp-confluent
```

Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs examples should demonstrate successful usage. Currently the example shows an error output ('Environment ID not specified') and also contains a duplicated word ('This This'). Please update the example invocation to include the required inputs so it succeeds, and correct the sentence to remove the duplication.

Copilot uses AI. Check for mistakes.

Describe 'Update-AzConfluentOrganization' {
It 'UpdateExpanded' {
It 'UpdateExpanded' -skip {
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing tests were changed to -skip, and most newly added tests in this PR are also skipped stubs. This effectively removes coverage for both existing and new cmdlets. Please either (1) re-enable these tests with recorded playback files and proper assertions, or (2) remove the test stubs until they can be implemented, to avoid giving the impression of coverage while executing nothing.

Copilot uses AI. Check for mistakes.
}

It 'UpdateViaIdentityExpanded' {
It 'UpdateViaIdentityExpanded' -skip {
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing tests were changed to -skip, and most newly added tests in this PR are also skipped stubs. This effectively removes coverage for both existing and new cmdlets. Please either (1) re-enable these tests with recorded playback files and proper assertions, or (2) remove the test stubs until they can be implemented, to avoid giving the impression of coverage while executing nothing.

Copilot uses AI. Check for mistakes.
Comment on lines +18 to +36
It 'UpdateExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'UpdateViaIdentityOrganizationExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'UpdateViaIdentityEnvironmentExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'UpdateViaIdentityClusterExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}

It 'UpdateViaIdentityExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a skipped placeholder test that asserts a NotImplementedException isn't thrown (but the block always throws). Even if unskipped, it would fail; as-is, it provides no validation. Replace with real cmdlet invocation/assertions against playback recordings (or remove the placeholder test until it’s implemented).

Suggested change
It 'UpdateExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
It 'UpdateViaIdentityOrganizationExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
It 'UpdateViaIdentityEnvironmentExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
It 'UpdateViaIdentityClusterExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
It 'UpdateViaIdentityExpanded' -skip {
{ throw [System.NotImplementedException] } | Should -Not -Throw
}
# TODO: Add tests that invoke Update-AzConfluentTopic against playback recordings

Copilot uses AI. Check for mistakes.
- $(repo)/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json
- $(repo)/specification/confluent/resource-manager/Microsoft.Confluent/preview/2025-08-18-preview/confluent.json

module-version: 0.2.0
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The autorest config still declares module-version: 0.2.0, but AssemblyInfo.cs was bumped to 0.3.0 and recordings show Az.confluent/0.3.0 in the User-Agent. Please align the module version across the autorest README, assembly versioning, and packaging metadata to avoid inconsistent artifacts.

Suggested change
module-version: 0.2.0
module-version: 0.3.0

Copilot uses AI. Check for mistakes.
@NoriZC
Copy link
Contributor

NoriZC commented Mar 8, 2026

/azp run

@azure-pipelines
Copy link
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants