# DataBox > see https://aka.ms/autorest This is the AutoRest configuration file for DataBox. --- ## Getting Started To build the SDK for DataBox, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` To see additional help and options, run: > `autorest --help` --- ## Configuration ### Basic Information These are the global settings for the DataBox API. ``` yaml openapi-type: arm tag: package-2018-01 ``` ### Tag: package-2018-01 These settings apply only when `--tag=package-2018-01` is specified on the command line. ``` yaml $(tag) == 'package-2018-01' input-file: - Microsoft.DataBox/preview/2018-01-01/databox.json ``` --- # Code Generation ## Swagger to SDK This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-node - repo: azure-sdk-for-go - repo: azure-sdk-for-ruby - repo: azure-sdk-for-java after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databox'] ``` ## C# These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. ``` yaml $(csharp) csharp: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.Management.DataBox payload-flattening-threshold: 2 output-folder: $(csharp-sdks-folder)/DataBox/Management.DataBox/Generated clear-output-folder: true ``` ## Python These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. ``` yaml $(python) python-mode: create python: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 namespace: azure.mgmt.databox package-name: azure-mgmt-databox title: DataBoxManagementClient description: The DataBox Client. clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true output-folder: $(python-sdks-folder)/azure-mgmt-databox/azure/mgmt/databox ``` ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true output-folder: $(python-sdks-folder)/azure-mgmt-databox ``` ## Node These settings apply only when `--nodejs` is specified on the command line. Please also specify `--node-sdks-folder=`. ``` yaml $(nodejs) nodejs: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 package-name: azure-arm-databox output-folder: $(node-sdks-folder)/lib/services/databoxManagement generate-license-txt: true generate-package-json: true generate-readme-md: false ``` ## Go These settings apply only when `--go` is specified on the command line. ``` yaml $(go) go: license-header: MICROSOFT_APACHE_NO_VERSION namespace: databox clear-output-folder: true ``` ### Go multi-api ``` yaml $(go) && $(multiapi) batch: - tag: package-2018-01 ``` ### Tag: package-2018-01 and go These settings apply only when `--tag=package-2018-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2018-01' && $(go) output-folder: $(go-sdk-folder)/services/preview/databox/mgmt/2018-01-01/databox ``` ## Ruby These settings apply only when `--ruby` is specified on the command line. ``` yaml package-name: azure_mgmt_databox package-version: "0.0.1" azure-arm: true ``` ### Ruby multi-api ``` yaml $(ruby) && $(multiapi) batch: - tag: package-2018-01 ``` ### Tag: package-2018-01 and ruby These settings apply only when `--tag=package-2018-01 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. ``` yaml $(tag) == 'package-2018-01' && $(ruby) namespace: "Azure::Compute::Mgmt::V2018_01_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib ``` ## Java These settings apply only when `--java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(java) java: azure-arm: true fluent: true namespace: com.microsoft.azure.management.databox license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databox ``` ### Java multi-api ``` yaml $(java) && $(multiapi) batch: - tag: package-2018-01 ``` ### Tag: package-2018-01 and java These settings apply only when `--tag=package-2018-01 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.databox.v2018_01_01 output-folder: $(azure-libraries-for-java-folder)/databox/resource-manager/v2018_01_01 regenerate-manager: true generate-interface: true ```