# 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"