This directory contains the PowerShell module for the DataBox service.
- Modifiable: yes
- Generated: all
- Committed: yes
- Packaged: yes
This module was primarily generated via AutoRest using the PowerShell extension.
- Az.Accounts module, version 2.7.5 or greater
AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
For information on how to develop for Az.DataBox, see how-to.md.
commit: 0dd49a444195fef7f3555cad038cb7665cbd928c
require:
# readme.azure.noprofile.md is the common configuration file
- $(this-folder)/../../readme.azure.noprofile.md
input-file:
# You need to specify your swagger files here.
- "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cb5ef7fc4cb443bd5f6b21d02cbce41051beb6ae/specification/databox/resource-manager/Microsoft.DataBox/stable/2025-02-01/databox.json"
# If the swagger has not been put in the repo, you may uncomment the following line and refer to it locally
# - (this-folder)/relative-path-to-your-swagger
# For new RP, the version is 0.1.0
module-version: 0.1.0
# Normally, title is the service name
title: DataBox
subject-prefix: $(service-name)
inlining-threshold: 50
# Disable managed identity best practice transform for Jobs_Update as it cannot be auto-transformed
disable-transform-identity-type-for-operation:
- Jobs_Update
# If there are post APIs for some kinds of actions in the RP, you may need to
# uncomment following line to support viaIdentity for these post APIs
# identity-correction-for-post: true
directive:
# Following is two common directive which are normally required in all the RPs
# 1. Remove the unexpanded parameter set
# 2. For New-* cmdlets, ViaIdentity is not required, so CreateViaIdentityExpanded is removed as well
- where:
variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$|^Update$|^UpdateViaIdentity$|^UpdateViaIdentityExpanded$|^GetViaIdentity$|^Validate.*$ |^Cancel$|^CancelViaIdentity.*$|^DeleteViaIdentity$
remove: true
# Remove the set-* cmdlet
- where:
verb: Set
remove: true
- where:
subject: ServiceAvailableSku
remove: true
- where:
subject: ServiceInput
remove: true
- where:
subject: ServiceAddress
remove: true
- where:
verb: Invoke
remove: true
- where:
verb: Update
parameter-name: ^Detail(.+)
set:
parameter-name: $1
- where:
verb: Get
subject: JobCredentials
parameter-name: JobName
set:
parameter-name: Name
- where:
verb: Get
subject: JobCredentials
set:
subject: JobCredential
- where:
verb: New
parameter-name: IdentityUserAssignedIdentity
set:
parameter-name: UserAssignedIdentity
- where:
verb: Update
parameter-name: IdentityUserAssignedIdentity
set:
parameter-name: UserAssignedIdentity
- where:
parameter-name: PreferenceStorageAccountAccessTierPreference
set:
parameter-name: StorageAccountAccessTierPreference
- where:
parameter-name: ReverseShippingDetailShippingAddress
set:
parameter-name: ReverseShippingDetail
- where:
parameter-name: ReverseTransportPreferencePreferredShipmentType
set:
parameter-name: ReverseTransportPreferredShipmentType
- where:
parameter-name: TransportPreferencePreferredShipmentType
set:
parameter-name: TransportPreferredShipmentType
- where:
model-name: JobResource
set:
format-table:
properties:
- Name
- Id
- Location
- Status
- TransferType
- SkuName
- IdentityType
- DeliveryType
- Detail
- from: source-file-csharp
where: $
transform: $ = $.replace('internal Microsoft.Azure.PowerShell.Cmdlets.DataBox.Models.Api20250201.IJobSecrets', 'public Microsoft.Azure.PowerShell.Cmdlets.DataBox.Models.Api20250201.IJobSecrets');
- model-cmdlet:
- model-name: DataBoxDiskJobDetails
cmdlet-name: New-AzDataBoxDiskJobDetailsObject
- model-name: DataBoxHeavyJobDetails
cmdlet-name: New-AzDataBoxHeavyJobDetailsObject
- model-name: DataBoxJobDetails
cmdlet-name: New-AzDataBoxJobDetailsObject
- model-name: StorageAccountDetails
cmdlet-name: New-AzDataBoxStorageAccountDetailsObject
- model-name: ManagedDiskDetails
cmdlet-name: New-AzDataBoxManagedDiskDetailsObject
- model-name: KeyEncryptionKey
cmdlet-name: New-AzDataBoxKeyEncryptionKeyObject
- model-name: ShippingAddress
cmdlet-name: New-AzDataBoxShippingAddressObject
- model-name: ContactDetails
cmdlet-name: New-AzDataBoxContactDetailsObject
- model-name: TransferConfiguration
cmdlet-name: New-AzDataBoxTransferConfigurationObject# Models that should not be inlined to allow customization
no-inline:
- KeyEncryptionKey
- JobDetails
- ShippingAddress
- ContactDetails
- TransferConfiguration
directive:
# Remove ViaIdentity create variants as they are not needed
- where:
variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$
remove: true
# Keep only Expanded, JsonFilePath, and JsonString variants for Create/Update
- where:
variant: ^(Create|Update)(?!.*?(Expanded|JsonFilePath|JsonString))
remove: true