@azure-tools/typespec-powershell
Version:
An experimental TypeSpec emitter for PowerShell codegen
300 lines (283 loc) • 7.25 kB
YAML
# Configurations
# The following verb-mapping is used as an aid to infer cmdlet-verbs. Every entry maps an operationId-method to a PowerShell cmdlet-verb. The operationId-method is the identifier that comes after the underscore in the operationId. For example:
# - In MyResource_List, the method is List.
# - In SomeAPI_CheckNameAvailability, the method is CheckNameAvailability.
# Note: It is not necessary to have an entry for every method because the generator will still be able to infer a verb by examining the operationId. However, if an entry is added in the configuration, it is guaranteed that the cmdlet created will get the cmdlet-verb from the operationId-method -> cmdlet verb mapping.
verb-mapping:
Access: Get
Acquire: Get
Activate: Initialize
Add: Add
Allocate: New
Analyze: Test
Append: Add
Apply: Add
Approve: Approve
Assert: Assert
Assign: Set
Associate: Join
Attach: Add
Authorize: Grant
Backup: Backup
Block: Block
Build: Build
Bypass: Skip
Cancel: Stop
Capture: Export
Cat: Get
Change: Rename
Check: Test
Checkpoint: Checkpoint
Clear: Clear
Clone: Copy
Close: Close
Combine: Join
Compare: Compare
Compile: Build
Complete: Complete
Compress: Compress
Concatenate: Add
Configure: Set
Confirm: Confirm
Connect: Connect
Convert: Convert
ConvertFrom: ConvertFrom
ConvertTo: ConvertTo
Copy: Copy
Create: New
Cut: Remove
Debug: Debug
Delete: Remove
Deny: Deny
Deploy: Deploy
Dir: Get
Disable: Disable
Discard: Remove
Disconnect: Disconnect
Discover: Find
Dismount: Dismount
Display: Show
Dispose: Remove
Dump: Get
Duplicate: Copy
Edit: Edit
Enable: Enable
End: Stop
Enter: Enter
Erase: Clear
Evaluate: Test
Examine: Get
Execute: Invoke
Exit: Exit
Expand: Expand
Export: Export
Failover: Set
Find: Find
Finish: Complete
Flush: Clear
ForceReboot: Restart
Format: Format
Generalize: Reset
Generate: New
Get: Get
Grant: Grant
Group: Group
Hide: Hide
Import: Import
Initialize: Initialize
Insert: Add
Install: Install
Into: Enter
Invoke: Invoke
Is: Test
Join: Join
Jump: Skip
Limit: Limit
List: Get
Load: Import
Locate: Find
Lock: Lock
Make: New
Measure: Measure
Merge: Merge
Migrate: Move
Mount: Mount
Move: Move
Name: Move
New: New
Notify: Send
Nullify: Clear
Obtain: Get
Open: Open
Optimize: Optimize
Out: Out
Patch: Update
Pause: Suspend
Perform: Invoke
Ping: Ping
Pop: Pop
Post: Invoke
Power: Start
PowerOff: Stop
PowerOn: Start
Produce: Show
Protect: Protect
Provision: New
Publish: Publish
Purge: Clear
Push: Push
Put: Set
Read: Read
Reassociate: Move
Reboot: Restart
Receive: Receive
Recover: Restore
Redo: Redo
Refresh: Update
Regenerate: New
Register: Register
Reimage: Update
Release: Publish
Remove: Remove
Rename: Rename
Repair: Repair
Replace: Update
Replicate: Copy
Reprocess: Update
Request: Request
Reset: Reset
Resize: Resize
Resolve: Resolve
Restart: Restart
Restore: Restore
Restrict: Lock
Resubmit: Submit
Resume: Resume
Retarget: Update
Retrieve: Get
Revoke: Revoke
Run: Start
Save: Save
Search: Search
Secure: Lock
Select: Select
Send: Send
Separate: Split
Set: Set
Show: Show
Shutdown: Stop
Skip: Skip
Split: Split
Start: Start
Step: Step
Stop: Stop
Submit: Submit
Suggest: Get
Suspend: Suspend
Swap: Switch
Switch: Switch
Sync: Sync
Synch: Sync
Synchronize: Sync
Test: Test
Trace: Trace
Transfer: Move
Trigger: Start
Type: Get
Unblock: Unblock
Undelete: Restore
Undo: Undo
Uninstall: Uninstall
Unite: Join
Unlock: Unlock
Unmark: Clear
Unprotect: Unprotect
Unpublish: Unpublish
Unregister: Unregister
Unrestrict: Unlock
Unsecure: Unlock
Unset: Clear
Update: Update
Upgrade: Update
Use: Use
Validate: Test
Verify: Test
Wait: Wait
Watch: Watch
Wipe: Clear
Write: Write
# azure configurations
azure: true
# Folder configurations
current-folder: "./"
module-folder: "./generated"
cmdlet-folder: "./generated/cmdlets"
model-cmdlet-folder: "./custom/autogen-model-cmdlets"
custom-cmdlet-folder: "./custom"
utils-cmdlet-folder: "./utils"
internal-cmdlet-folder: "./internal"
test-folder: "./test"
runtime-folder: "./generated/runtime"
api-folder: "./generated/api"
bin-folder: "./bin"
obj-folder: "./obj"
exports-folder: "./exports"
docs-folder: "./docs"
dependency-module-folder: "./generated/modules"
examples-folder: "./examples"
resources-folder: "./resources"
ux-folder: "./UX"
csproj: "./{module-name}.csproj"
dll-name: "{module-name}.private"
dll: "./bin/{module-name}.private.dll"
psd1: "./{module-name}.psd1"
psm1: "./{module-name}.psm1"
psm1-custom: "./custom/{module-name}.custom.psm1"
psm1-internal: "./internal/{module-name}.internal.psm1"
format-ps1xml: "./{module-name}.format.ps1xml"
nuspec: "./{module-name}.nuspec"
# misc configurations
# if set, lro headers(Location, Retry-After, Azure-AsyncOperation) will be removed from the response
remove-lro-headers: true
skip-model-cmdlets: false
module-version: 0.1.0
namespace: "Microsoft.Azure.PowerShell.Cmdlets.{service-name}"
use-namespace-folders: false
help-link-prefix: https://learn.microsoft.com/powershell/module/
metadata:
authors: Microsoft Corporation
owners: Microsoft Corporation
description: 'Microsoft Azure PowerShell: {service-name} cmdlets'
copyright: Microsoft Corporation. All rights reserved.
tags: Azure ResourceManager ARM PSModule {service-name}
companyName: Microsoft Corporation
requireLicenseAcceptance: true
licenseUri: https://aka.ms/azps-license
projectUri: https://github.com/Azure/azure-powershell
# License configurations
header-definitions:
warning: Changes may cause incorrect behavior and will be lost if the code is regenerated.
default: "Code generated by Microsoft (R) AutoRest Code Generator (autorest: {core}, generator: {generator})"
no-version: Code generated by Microsoft (R) AutoRest Code Generator.
apache: |
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
mit: Licensed under the MIT License. See License.txt in the project root for license information.
mit-small: Licensed under the MIT License.
microsoft: Copyright (c) Microsoft Corporation. All rights reserved.
pwsh-license-header: MICROSOFT_APACHE_NO_VERSION
after-build-tasks-path: '../../../tools/BuildScripts/AdaptAutorestModule.ps1'
after-build-tasks-args:
SubModuleName: $(module-name)
ModuleRootName: $(root-module-name)
assemblyInfo-path: "Properties/AssemblyInfo.cs"
assembly-company: "Microsoft"
assembly-product: "Microsoft Azure PowerShell"
assembly-copyright: "Copyright © Microsoft"