parameters:
  "service-dir":
    default: "sdk/spheremanager"
emit:
  - "@azure-tools/typespec-powershell"
options:
  "@azure-tools/typespec-autorest":
    omit-unreachable-types: true
    emitter-output-dir: "{project-root}/.."
    azure-resource-provider-folder: "resource-manager"
    output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azuresphere.json"
    examples-directory: "{project-root}/examples"
  "@azure-tools/cadl-python":
    package-dir: "spheremanager"
    "basic-setup-py": true
    "package-version": 3.0.0b6
    "package-name": azure-sphere
  "@azure-tools/cadl-csharp":
    package-dir: "spheremanager"
    save-inputs: false
    clear-output-folder: true
    namespace: Azure.Sphere
    model-namespace: false
  '@azure-tools/typespec-powershell':
    service-dir: "src"
    package-dir: "Sphere/Sphere.Autorest"
    clear-output-folder: true
    remove-lro-headers: false
    azure: true
    module-version: 0.1.0
    skip-model-cmdlets: false
    help-link-prefix: https://learn.microsoft.com/powershell/module/
    prefix: 'Az'
    subject-prefix: 'Sphere'
    title: Sphere
    service-name: Sphere
    module-name: "{prefix}.{service-name}"
    metadata:
      authors: Microsoft Corporation
      owners: Microsoft Corporation
      description: "Microsoft Azure PowerShell: {module-name} cmdlets"
      copyright: Microsoft Corporation. All rights reserved.
      tags: "Azure ResourceManager ARM PSModule {module-name}"
      companyName: Microsoft Corporation
      requireLicenseAcceptance: true
      licenseUri: https://aka.ms/azps-license
      projectUri: https://github.com/Azure/azure-powershell
    namespace: "Microsoft.Azure.PowerShell.Cmdlets.{service-name}"
    use-namespace-folders: false
    exclude-tableview-properties:
      - Id
      - Type
    directive:
      - where:
          subject: Operation
        hide: true
      - where:
          parameter-name: SubscriptionId
        set:
          default:
            script: '(Get-AzContext).Subscription.Id'
  # Following are common directives which are normally required in all the RPs
  # 1. Remove the unexpanded parameter set
  # 2. For New-* cmdlets, ViaIdentity is not required
      - where:
          variant: ^(Create|Update)(?!.*?Expanded|ViaJsonString|ViaJsonFilePath)
        remove: true
      - where:
          variant: ^CreateViaIdentity.*$
        remove: true
      # Remove unavailable feature
      - where:
          verb: Remove
          subject: ^Device$|Image|Deployment
        remove: true
      - where:
          verb: Update
          subject: Image|Deployment
        remove: true
      - where:
          verb: Get
          subject: CatalogDeployment
        remove: true
      # error 'The server responded with an unrecognized response', error message missing in default error response for post path
      - where:
          verb: Invoke
          subject: UploadCatalogImage
        remove: true
      - where:
          verb: Invoke
          subject: ClaimDeviceGroupDevice
        remove: true
      - where:
          verb: Invoke
          variant: ^Count(.*)
        set:
          variant: CountDevice$1
      # Remove unexpanded include json parameter set
      - where:
          variant: ^List(?!.*?Expanded)
          subject: CatalogDeviceGroup
        remove: true
      - where:
          variant: ^(Retrieve)(?!.*?Expanded)
          subject: CertificateProof
        remove: true
      - where:
          variant: ^Claim(?!.*?Expanded)
          subject: ClaimDeviceGroupDevice
        hide: true
      # New-AzSphereDeviceCapabilityImage remove unexpanded parameter set
      - where:
          variant: ^(Generate)(?!.*?(Expanded|JsonString|JsonFilePath))
          subject: DeviceCapabilityImage
        remove: true
      - where:
          variant: GenerateViaIdentityExpanded
          subject: DeviceCapabilityImage
        remove: true
      # Remove the set-* cmdlet
      - where:
          verb: Set
        hide: true
linter:
  extends:
    - "@azure-tools/typespec-azure-resource-manager/all"