Skip to content

Migrate Oracle module to tsp - #29968

Draft
JunKai-v wants to merge 2 commits into
Azure:mainfrom
JunKai-v:tsp-migrate/oracle
Draft

Migrate Oracle module to tsp#29968
JunKai-v wants to merge 2 commits into
Azure:mainfrom
JunKai-v:tsp-migrate/oracle

Conversation

@JunKai-v

@JunKai-v JunKai-v commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

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 lite review requested due to automatic review settings August 7, 2026 00:05
@JunKai-v JunKai-v added the TypeSpec Module generated from TypeSpec label Aug 7, 2026
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@JunKai-v

JunKai-v commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Migrates the Oracle PowerShell module generation pipeline from AutoRest (Swagger) to TypeSpec, updating generated artifacts, module metadata, and cmdlet documentation accordingly.

Changes:

  • Added TypeSpec configuration files (tspconfig.yaml, tsp-location.yaml) and removed prior AutoRest configuration from the generator README.
  • Regenerated module artifacts/docs, including cmdlet help markdown updates and assembly/module metadata changes.
  • Updated solution/module manifest metadata (GUIDs, dependency versions, generated timestamp).

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/Oracle/Oracle/help/Update-AzOracleNetworkAnchor.md Updated help syntax/parameter set ordering for Update cmdlet.
src/Oracle/Oracle/help/Remove-AzOracleNetworkAnchor.md Reformatted help syntax wrapping for Remove cmdlet.
src/Oracle/Oracle/help/New-AzOracleNetworkAnchor.md Reformatted help syntax wrapping for New cmdlet.
src/Oracle/Oracle/help/New-AzOracleDbSystem.md Updated parameter names and added -Source parameter documentation.
src/Oracle/Oracle/help/Get-AzOracleNetworkAnchor.md Reordered parameter sets and reformatted syntax wrapping.
src/Oracle/Oracle/help/Get-AzOracleExascaleDbStorageVault.md Renamed/reordered parameter set headings (introduces List1).
src/Oracle/Oracle/help/Get-AzOracleDbVersion.md Added an additional example section.
src/Oracle/Oracle/ChangeLog.md Added upcoming release note describing the migration.
src/Oracle/Oracle/Az.Oracle.psd1 Updated module manifest metadata (generated date, Az.Accounts dependency, formatting, explicit empty arrays).
src/Oracle/Oracle.sln Updated project GUID references for Az.Oracle project entry.
src/Oracle/Oracle.Autorest/tspconfig.yaml Added TypeSpec emitter configuration and directives.
src/Oracle/Oracle.Autorest/tsp-location.yaml Added TypeSpec source location (spec repo/commit) metadata.
src/Oracle/Oracle.Autorest/generate-info.json Updated generation identifier.
src/Oracle/Oracle.Autorest/docs/Update-AzOracleNetworkAnchor.md Regenerated docs; reordered common parameters and trailing whitespace.
src/Oracle/Oracle.Autorest/docs/Remove-AzOracleNetworkAnchor.md Regenerated docs; reordered common parameters and trailing whitespace.
src/Oracle/Oracle.Autorest/docs/New-AzOracleNetworkAnchor.md Regenerated docs; reordered common parameters and trailing whitespace.
src/Oracle/Oracle.Autorest/docs/New-AzOracleDbSystem.md Regenerated docs; parameter rename + -Source parameter documentation.
src/Oracle/Oracle.Autorest/docs/Get-AzOracleNetworkAnchor.md Regenerated docs; trailing whitespace.
src/Oracle/Oracle.Autorest/docs/Get-AzOracleExascaleDbStorageVault.md Regenerated docs; parameter set heading renamed to List1.
src/Oracle/Oracle.Autorest/docs/Get-AzOracleDbVersion.md Added an additional example section.
src/Oracle/Oracle.Autorest/docs/Az.Oracle.md Updated module GUID in docs front-matter.
src/Oracle/Oracle.Autorest/README.md Removed embedded AutoRest configuration section.
src/Oracle/Oracle.Autorest/Properties/AssemblyInfo.cs Updated assembly metadata and added regenerated-code warning/header lines.

- Additional information about change #1
-->
## Upcoming Release
* Migrated code generation from AutoRest (Swagger) to TypeSpec. No user-facing changes in this release.
Lists the available Oracle Database versions for **eastus2**.
For more information, execute `Get-Help Get-AzOracleDbVersion`.

### Example 2: List versions for a specific shape
## SYNTAX

### List (Default)
### List1 (Default)
```

### List1
### List

# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.3.1'; })
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.5.2'; })
Comment on lines 1 to 5
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");
@@ -0,0 +1,5 @@
directory: specification\oracle\resource-manager\Oracle.Database\OracleDatabase
Copilot AI review requested due to automatic review settings August 7, 2026 03:38
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (19)

src/Oracle/Oracle/help/New-AzOracleDbSystem.md:311

  • This parameter is documented as -Domain, but the exported cmdlet parameter name is still -DomainV2. The help should match the actual parameter name.
    src/Oracle/Oracle/help/New-AzOracleDbSystem.md:389
  • This parameter is documented as -LicenseModel, but the exported cmdlet parameter name is still -LicenseModelV2. The help should match the actual parameter name.
### -LicenseModel

src/Oracle/Oracle/help/New-AzOracleDbSystem.md:550

  • The help introduces a -Source parameter, but it is not present in the exported New-AzOracleDbSystem cmdlet signature. Unless the cmdlet is updated to add this parameter, this section should be removed to avoid misleading users.
### -Source
The source of the database: Use `None` for creating a new database.
The default is `None`.

src/Oracle/Oracle.Autorest/docs/New-AzOracleDbSystem.md:311

  • This parameter is documented as -Domain, but the actual exported parameter name is -DomainV2. Align the docs with the cmdlet signature.
### -Domain

src/Oracle/Oracle.Autorest/docs/New-AzOracleDbSystem.md:388

  • This parameter is documented as -LicenseModel, but the exported cmdlet parameter name is -LicenseModelV2. Align the docs with the actual parameter name.
### -LicenseModel

src/Oracle/Oracle.Autorest/docs/New-AzOracleDbSystem.md:549

  • The docs add a -Source parameter section, but the exported New-AzOracleDbSystem cmdlet does not have a -Source parameter. Remove this section (or add the parameter in code generation) to avoid misleading documentation.
### -Source
The source of the database: Use `None` for creating a new database.
The default is `None`.

src/Oracle/Oracle/help/Get-AzOracleDbVersion.md:70

  • Example 2 says it lists versions for a specific shape, but the command shown only uses -Location, so it does not actually filter by shape. Use the -DbSystemShape parameter in the example to match the description.
### Example 2: List versions for a specific shape
```powershell
Get-AzOracleDbVersion -Location eastus2
**src/Oracle/Oracle/help/Get-AzOracleExascaleDbStorageVault.md:27**
* The resource-group-scoped list overload is parameter set 'List1' in the generated exports, but this help section is labeled as 'List'. Rename the header to match the actual parameter set name.

List

**src/Oracle/Oracle/help/Get-AzOracleExascaleDbStorageVault.md:132**
* ResourceGroupName is mandatory for parameter set 'List1' (resource group list), not for 'List' (subscription list). The help currently associates ResourceGroupName with 'List', which doesn't match the generated parameter sets.

Parameter Sets: Get, List

**src/Oracle/Oracle/help/Get-AzOracleExascaleDbStorageVault.md:15**
* The default parameter set for Get-AzOracleExascaleDbStorageVault is 'List' (subscription scope), but the help header labels it as 'List1'. This makes the parameter set names and the parameter-to-set mapping below inconsistent.

List1 (Default)

**src/Oracle/Oracle.Autorest/docs/Get-AzOracleExascaleDbStorageVault.md:33**
* The resource-group list overload is parameter set 'List1' in the generated exports, but this syntax section is labeled 'List'. Rename to 'List1' so it matches the cmdlet binding.

List

**src/Oracle/Oracle.Autorest/docs/Get-AzOracleExascaleDbStorageVault.md:132**
* ResourceGroupName is mandatory for parameter set 'List1' and not part of 'List'. Update the help parameter-set mapping to match the generated exports.

Parameter Sets: Get, List

**src/Oracle/Oracle.Autorest/Properties/AssemblyInfo.cs:4**
* This header now mixes MIT and Apache-2.0 license statements and duplicates the copyright line. Other *.Autorest AssemblyInfo.cs files in this repo use a single Apache-2.0 header (for example src/StorageAction/StorageAction.Autorest/Properties/AssemblyInfo.cs). Remove the extra MIT/duplicate lines to avoid contradictory licensing information.

// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.

**src/Oracle/Oracle/ChangeLog.md:21**
* ChangeLog entries are intended for Azure PowerShell users and should describe user impact. This entry is focused on internal code generation tooling and then says there are no user-facing changes, which makes it a poor fit for release notes. Consider removing it (or rewriting it to describe an actual user-facing change, if any).
  • Migrated code generation from AutoRest (Swagger) to TypeSpec. No user-facing changes in this release.
**src/Oracle/Oracle/help/New-AzOracleDbSystem.md:22**
* The syntax block lists -Domain, -LicenseModel, and -Source, but the generated cmdlet signature still exposes -DomainV2 and -LicenseModelV2 and does not include a -Source parameter. Update the help syntax to match the exported parameters so users can copy/paste the examples successfully.

This issue also appears in the following locations of the same file:
- line 311
- line 389
- line 548

[-DiskRedundancy ] [-DisplayName ] [-Domain ] [-Hostname ]
[-InitialDataStorageSizeInGb ] [-LicenseModel ] [-NetworkAnchorId ]
[-NodeCount ] [-PdbName ] [-ResourceAnchorId ] [-Shape ] [-Source ]

**src/Oracle/Oracle.Autorest/docs/New-AzOracleDbSystem.md:22**
* The syntax block lists -Domain, -LicenseModel, and -Source, but the exported cmdlet parameters are still -DomainV2 and -LicenseModelV2 and there is no -Source parameter. Update the docs syntax to match the generated exports so users don't get parameter binding errors.

This issue also appears in the following locations of the same file:
- line 311
- line 388
- line 547

[-DiskRedundancy ] [-DisplayName ] [-Domain ] [-Hostname ]
[-InitialDataStorageSizeInGb ] [-LicenseModel ] [-NetworkAnchorId ]
[-NodeCount ] [-PdbName ] [-ResourceAnchorId ] [-Shape ] [-Source ]

**src/Oracle/Oracle.Autorest/docs/Get-AzOracleDbVersion.md:68**
* Example 2 claims to filter by compute shape, but the command only specifies -Location. Add -DbSystemShape so the example matches the description and the available parameters.

Example 2: List versions for a specific shape

Get-AzOracleDbVersion -Location eastus2
**src/Oracle/Oracle.Autorest/docs/Get-AzOracleExascaleDbStorageVault.md:15**
* The default parameter set for Get-AzOracleExascaleDbStorageVault is 'List' (subscription scope), but the syntax header labels it as 'List1'. Rename it to match the actual default parameter set.

This issue also appears in the following locations of the same file:
- line 33
- line 132

List1 (Default)

**src/Oracle/Oracle.Autorest/README.md:24**
* The README still states the module is generated via AutoRest, but this PR migrates the module to TypeSpec (tspconfig.yaml/tsp-location.yaml). Update the README to reflect the new generation toolchain and point contributors to the TypeSpec config files.

Development

For information on how to develop for Az.Oracle, see how-to.md.

</details>

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

Labels

TypeSpec Module generated from TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants