diff --git a/eng/SmokeTestInputs.txt b/eng/SmokeTestInputs.txt index 322b7d13..52980358 100644 --- a/eng/SmokeTestInputs.txt +++ b/eng/SmokeTestInputs.txt @@ -1,136 +1,136 @@ -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/addons/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/adhybridhealthservice/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/advisor/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/analysisservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/apimanagement/control-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/apimanagement/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/appconfiguration/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/appconfiguration/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/applicationinsights/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/appplatform/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/attestation/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/attestation/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/authorization/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/azurebridge/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/backup/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/commerce/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/compute/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/deployment/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/fabric/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/gallery/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/infrastructureinsights/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/keyvault/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/network/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/storage/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/subscriptions/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/update/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azsadmin/resource-manager/user-subscriptions/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azureactivedirectory/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azuredata/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azure-kusto/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/azurestack/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/batchai/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/batch/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/batch/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/billing/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/blockchain/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/botservice/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/InkRecognizer/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/LocalSearch/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/Personalizer/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/QnAMaker/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/TextAnalytics/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/data-plane/TranslatorText/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/cognitiveservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/consumption/resource-manager/readme.md -#https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/containerregistry/data-plane/readme.md - https://github.com/Azure/autorest.csharp/issues/662 -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/customer-insights/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/customproviders/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/databoxedge/resource-manager/readme.md -#https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/databox/resource-manager/readme.md - https://github.com/Azure/autorest.csharp/issues/660 -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/databricks/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/datacatalog/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/datalake-analytics/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/datalake-store/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/datalake-store/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/deviceprovisioningservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/devops/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/devspaces/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/devtestlabs/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/dns/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/domainservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/engagementfabric/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/eventgrid/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/eventgrid/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/eventhub/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/graphrbac/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/guestconfiguration/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/hanaonazure/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/hardwaresecuritymodules/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/hdinsight/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/healthcareapis/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/hybriddatamanager/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/imagebuilder/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/imds/data-plane/readme.md -#https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/intune/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/iotcentral/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/iothub/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/iotspaces/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/keyvault/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/keyvault/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/labservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/logic/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/machinelearningcompute/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/machinelearningexperimentation/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/machinelearningservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/maintenance/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/managednetwork/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/managedservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/managementgroups/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/managementpartner/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/maps/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/marketplaceordering/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/migrateprojects/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/migrate/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/monitor/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/msi/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/netapp/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/network/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/notificationhubs/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/operationalinsights/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/peering/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/portal/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/powerbidedicated/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/powerbiembedded/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/privatedns/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/recoveryservices/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/recoveryservicessiterecovery/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/redhatopenshift/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/redis/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/relay/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/resourcegraph/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/resourcehealth/resource-manager/readme.md -#https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/scheduler/resource-manager/readme.md --- https://github.com/Azure/autorest.csharp/issues/660 -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/search/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/serialconsole/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/signalr/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/softwareplan/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/sqlvirtualmachine/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/storagecache/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/storageimportexport/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/storagesync/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/storSimple1200Series/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/storsimple8000series/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/support/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/synapse/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/synapse/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/timeseriesinsights/data-plane/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/timeseriesinsights/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/trafficmanager/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/vmwarecloudsimple/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/vmwarevirtustream/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/windowsesu/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/windowsiot/resource-manager/readme.md -https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/workloadmonitor/resource-manager/readme.md \ No newline at end of file +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/addons/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/adhybridhealthservice/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/advisor/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/analysisservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/apimanagement/control-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/apimanagement/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/appconfiguration/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/appconfiguration/resource-manager/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/applicationinsights/data-plane/readme.md - https://github.com/Azure/autorest.csharp/issues/721 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/appplatform/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/attestation/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/attestation/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/authorization/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/azurebridge/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/backup/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/commerce/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/compute/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/deployment/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/fabric/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/gallery/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/infrastructureinsights/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/keyvault/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/network/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/storage/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/subscriptions/readme.md - https://github.com/Azure/autorest.csharp/issues/721 +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/update/readme.md - https://github.com/Azure/autorest.csharp/issues/721 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azsadmin/resource-manager/user-subscriptions/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azureactivedirectory/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azuredata/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azure-kusto/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/azurestack/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/batchai/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/batch/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/batch/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/billing/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/blockchain/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/botservice/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/InkRecognizer/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/LocalSearch/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/Personalizer/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/QnAMaker/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/TextAnalytics/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/data-plane/TranslatorText/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/cognitiveservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/consumption/resource-manager/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/containerregistry/data-plane/readme.md - https://github.com/Azure/autorest.csharp/issues/662 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/customer-insights/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/customproviders/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/databoxedge/resource-manager/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/databox/resource-manager/readme.md - https://github.com/Azure/autorest.csharp/issues/660 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/databricks/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/datacatalog/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/datalake-analytics/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/datalake-store/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/datalake-store/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/deviceprovisioningservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/devops/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/devspaces/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/devtestlabs/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/dns/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/domainservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/engagementfabric/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/eventgrid/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/eventgrid/resource-manager/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/eventhub/resource-manager/readme.md - https://github.com/Azure/autorest.csharp/issues/721 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/graphrbac/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/guestconfiguration/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/hanaonazure/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/hardwaresecuritymodules/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/hdinsight/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/healthcareapis/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/hybriddatamanager/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/imagebuilder/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/imds/data-plane/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/intune/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/iotcentral/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/iothub/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/iotspaces/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/keyvault/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/keyvault/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/labservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/logic/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/machinelearningcompute/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/machinelearningexperimentation/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/machinelearningservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/maintenance/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/managednetwork/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/managedservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/managementgroups/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/managementpartner/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/maps/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/marketplaceordering/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/migrateprojects/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/migrate/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/monitor/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/msi/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/netapp/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/network/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/notificationhubs/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/operationalinsights/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/peering/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/portal/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/powerbidedicated/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/powerbiembedded/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/privatedns/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/recoveryservices/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/recoveryservicessiterecovery/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/redhatopenshift/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/redis/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/relay/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/resourcegraph/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/resourcehealth/resource-manager/readme.md +#https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/scheduler/resource-manager/readme.md --- https://github.com/Azure/autorest.csharp/issues/660 +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/search/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/serialconsole/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/signalr/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/softwareplan/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/sqlvirtualmachine/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/storagecache/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/storageimportexport/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/storagesync/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/storSimple1200Series/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/storsimple8000series/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/support/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/synapse/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/synapse/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/timeseriesinsights/data-plane/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/timeseriesinsights/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/trafficmanager/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/vmwarecloudsimple/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/vmwarevirtustream/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/windowsesu/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/windowsiot/resource-manager/readme.md +https://github.com/Azure/azure-rest-api-specs/blob/d9cf7c7ed3d674ebd482836e82b274014245ae67/specification/workloadmonitor/resource-manager/readme.md diff --git a/eng/UpdateSmokeTests.ps1 b/eng/UpdateSmokeTests.ps1 new file mode 100644 index 00000000..c6528137 --- /dev/null +++ b/eng/UpdateSmokeTests.ps1 @@ -0,0 +1,11 @@ +$filePath = Join-Path $PSScriptRoot 'SmokeTestInputs.txt' +$fileContent = Get-Content $filePath +$firstLineSplit = ($fileContent | Select-Object -First 1) -Split '/' +$oldHashIndex = $firstLineSplit.IndexOf('blob') + 1 +$oldHash = $firstLineSplit[$oldHashIndex] +$latestHash = (git ls-remote https://github.com/Azure/azure-rest-api-specs.git | Select-Object -First 1) -Split '\s+' | Select-Object -First 1 +$smokeTestLines = foreach($line in $fileContent) +{ + $line -Replace $oldHash, $latestHash +} +$smokeTestLines | Out-File -FilePath $filePath \ No newline at end of file diff --git a/samples/AppConfiguration/AppConfiguration/CodeModel.yaml b/samples/AppConfiguration/AppConfiguration/CodeModel.yaml index dafa9c16..98fb8e66 100644 --- a/samples/AppConfiguration/AppConfiguration/CodeModel.yaml +++ b/samples/AppConfiguration/AppConfiguration/CodeModel.yaml @@ -1281,17 +1281,20 @@ globalParameters: in: header - ! &ref_36 schema: *ref_0 - clientDefaultValue: '' implementation: Client - origin: 'modelerfour:synthesized/host' required: true extensions: + x-in: path + x-ms-priority: 2 x-ms-skip-url-encoding: true + x-name: endpoint + x-required: true + x-type: string language: ! default: - name: $host - description: server parameter - serializedName: $host + name: Endpoint + description: The endpoint of the App Configuration instance to send requests to. + serializedName: endpoint protocol: ! http: ! in: uri @@ -1363,7 +1366,7 @@ operationGroups: http: ! path: /keys method: get - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_39 - *ref_40 @@ -1405,6 +1408,19 @@ operationGroups: statusCodes: - default extensions: + x-ms-examples: + GetKeys: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + body: + items: + - name: MaxRequests + - name: RequestTimeout + headers: + Content-Type: application/vnd.microsoft.appconfig.keyset+json x-ms-pageable: itemName: items nextLinkName: '@nextLink' @@ -1468,7 +1484,7 @@ operationGroups: http: ! path: /keys method: head - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_45 - *ref_46 @@ -1497,6 +1513,16 @@ operationGroups: http: ! statusCodes: - default + extensions: + x-ms-examples: + CheckKeys: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.keyset+json language: ! default: name: CheckKeys @@ -1577,7 +1603,7 @@ operationGroups: http: ! path: /kv method: get - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_50 - *ref_51 @@ -1621,6 +1647,49 @@ operationGroups: statusCodes: - default extensions: + x-ms-examples: + GetKeyValues: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + body: + items: + - content_type: null + etag: CTgHR5UrDKNj2nsoGWDOipST9Pv + key: Background + label: Asset1 + last_modified: '2019-03-04T17:12:23+00:00' + locked: false + tags: {} + value: blue + - content_type: null + etag: UTSN1zePHbBQ0npbRB6elGRRuH7 + key: MaxLogFiles + label: Asset1 + last_modified: '2019-03-04T17:12:23+00:00' + locked: false + tags: {} + value: '50' + - content_type: null + etag: 7XpB48ET4VAlB9068ft6fKMyA3m + key: Message + label: null + last_modified: '2019-06-20T16:52:23+00:00' + locked: false + tags: {} + value: Hello World + - content_type: null + etag: fAFm4jkGNB1hsIr4o0S5hnhCCvY + key: 'WebDemo:Settings:BackgroundColor' + label: null + last_modified: '2019-06-20T15:48:01+00:00' + locked: false + tags: {} + value: blue + headers: + Content-Type: application/vnd.microsoft.appconfig.kvset+json x-ms-pageable: itemName: items nextLinkName: '@nextLink' @@ -1707,7 +1776,7 @@ operationGroups: http: ! path: /kv method: head - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_57 - *ref_58 @@ -1738,6 +1807,16 @@ operationGroups: http: ! statusCodes: - default + extensions: + x-ms-examples: + CheckKeyValues: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.kvset+json language: ! default: name: CheckKeyValues @@ -1830,7 +1909,7 @@ operationGroups: http: ! path: '/kv/{key}' method: get - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_64 - *ref_65 @@ -1880,6 +1959,73 @@ operationGroups: - application/problem+json statusCodes: - default + extensions: + x-ms-examples: + GetKeyValue: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: 7XpB48ET4VAlB9068ft6fKMyA3m + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"7XpB48ET4VAlB9068ft6fKMyA3m" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + GetKeyValue_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV5 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + GetKeyValue_IfNoneMatch: + parameters: + If-None-Match: L10qpBghN693OaxydgTkLmrBbV5 + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: 7XpB48ET4VAlB9068ft6fKMyA3m + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"7XpB48ET4VAlB9068ft6fKMyA3m" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 language: ! default: name: GetKeyValue @@ -1985,7 +2131,7 @@ operationGroups: - text/json - application/*+json - application/json-patch+json - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_75 - *ref_76 @@ -2030,6 +2176,51 @@ operationGroups: - application/problem+json statusCodes: - default + extensions: + x-ms-examples: + PutKeyValue: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: tnIHBkDYQwtdNMLoWtr5aybkKwL + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"tnIHBkDYQwtdNMLoWtr5aybkKwL" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + PutKeyValue_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV5 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 language: ! default: name: PutKeyValue @@ -2088,7 +2279,7 @@ operationGroups: http: ! path: '/kv/{key}' method: delete - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_81 - *ref_82 @@ -2145,6 +2336,53 @@ operationGroups: - application/problem+json statusCodes: - default + extensions: + x-ms-examples: + DeleteKeyValue: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: 7XpB48ET4VAlB9068ft6fKMyA3m + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"7XpB48ET4VAlB9068ft6fKMyA3m" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + '204': {} + DeleteKeyValue_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV5 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + '204': {} language: ! default: name: DeleteKeyValue @@ -2237,7 +2475,7 @@ operationGroups: http: ! path: '/kv/{key}' method: head - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_88 - *ref_89 @@ -2275,6 +2513,46 @@ operationGroups: http: ! statusCodes: - default + extensions: + x-ms-examples: + CheckKeyValue: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"7XpB48ET4VAlB9068ft6fKMyA3m" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + CheckKeyValue_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + CheckKeyValue_IfNoneMatch: + parameters: + If-None-Match: L10qpBghN693OaxydgTkLmrBbV5 + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"7XpB48ET4VAlB9068ft6fKMyA3m" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 language: ! default: name: CheckKeyValue @@ -2344,7 +2622,7 @@ operationGroups: http: ! path: /labels method: get - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_98 - *ref_99 @@ -2387,6 +2665,22 @@ operationGroups: statusCodes: - default extensions: + x-ms-examples: + GetLabels: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + body: + items: + - name: null + - name: Asset1 + - name: Asset1/devCi + - name: Asset1/devCi/branch1 + - name: WestUs + headers: + Content-Type: application/vnd.microsoft.appconfig.labelset+json x-ms-pageable: itemName: items nextLinkName: '@nextLink' @@ -2462,7 +2756,7 @@ operationGroups: http: ! path: /labels method: head - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_105 - *ref_106 @@ -2492,6 +2786,16 @@ operationGroups: http: ! statusCodes: - default + extensions: + x-ms-examples: + CheckLabels: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.labelset+json language: ! default: name: CheckLabels @@ -2561,7 +2865,7 @@ operationGroups: http: ! path: '/locks/{key}' method: put - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_110 - *ref_111 @@ -2606,6 +2910,51 @@ operationGroups: - application/problem+json statusCodes: - default + extensions: + x-ms-examples: + PutLock: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV4 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: true + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV4" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + PutLock_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV5 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: true + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 language: ! default: name: PutLock @@ -2675,7 +3024,7 @@ operationGroups: http: ! path: '/locks/{key}' method: delete - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_116 - *ref_117 @@ -2720,6 +3069,51 @@ operationGroups: - application/problem+json statusCodes: - default + extensions: + x-ms-examples: + DeleteLock: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: 0BGYCoQ6iNdp5NtQ7N8shrobo6s + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"0BGYCoQ6iNdp5NtQ7N8shrobo6s" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 + DeleteLock_IfMatch: + parameters: + If-Match: '"L10qpBghN693OaxydgTkLmrBbV5"' + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + key: Message + responses: + '200': + body: + content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV5 + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kv+json + ETag: W/"L10qpBghN693OaxydgTkLmrBbV5" + Last-Modified: 'Tue, 27 Aug 2019 16:52:32 GMT' + Sync-Token: zAJw6V16=NjotMSM3ODk3NjM=;sn=789763 language: ! default: name: DeleteLock @@ -2800,7 +3194,7 @@ operationGroups: http: ! path: /revisions method: get - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_123 - *ref_124 @@ -2844,6 +3238,41 @@ operationGroups: statusCodes: - default extensions: + x-ms-examples: + GetRevisions: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + body: + items: + - content_type: null + etag: 0BGYCoQ6iNdp5NtQ7N8shrobo6s + key: Message + label: null + last_modified: '2019-08-27T16:52:32+00:00' + locked: false + tags: {} + value: Hello World! + - content_type: null + etag: L10qpBghN693OaxydgTkLmrBbV4 + key: Message + label: null + last_modified: '2019-08-27T16:52:20+00:00' + locked: false + tags: {} + value: A new message. + - content_type: null + etag: tnIHBkDYQwtdNMLoWtr5aybkKwL + key: Message + label: null + last_modified: '2019-08-27T16:50:47+00:00' + locked: false + tags: {} + value: Hello World! + headers: + Content-Type: application/vnd.microsoft.appconfig.kvset+json x-ms-pageable: itemName: items nextLinkName: '@nextLink' @@ -2930,7 +3359,7 @@ operationGroups: http: ! path: /revisions method: head - uri: '{$host}' + uri: '{endpoint}' signatureParameters: - *ref_130 - *ref_131 @@ -2961,6 +3390,16 @@ operationGroups: http: ! statusCodes: - default + extensions: + x-ms-examples: + CheckRevisions: + parameters: + api-version: '1.0' + endpoint: 'https://{exampleAppConfigurationName}.azconfig.io' + responses: + '200': + headers: + Content-Type: application/vnd.microsoft.appconfig.kvset+json language: ! default: name: CheckRevisions diff --git a/samples/AppConfiguration/AppConfiguration/Generated/ServiceClient.cs b/samples/AppConfiguration/AppConfiguration/Generated/ServiceClient.cs index c04c807b..94df31aa 100644 --- a/samples/AppConfiguration/AppConfiguration/Generated/ServiceClient.cs +++ b/samples/AppConfiguration/AppConfiguration/Generated/ServiceClient.cs @@ -27,9 +27,9 @@ namespace AppConfiguration { } /// Initializes a new instance of ServiceClient. - internal ServiceClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "", string syncToken = null, string apiVersion = "1.0") + internal ServiceClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string endpoint, string syncToken = null, string apiVersion = "1.0") { - RestClient = new ServiceRestClient(clientDiagnostics, pipeline, host, syncToken, apiVersion); + RestClient = new ServiceRestClient(clientDiagnostics, pipeline, endpoint, syncToken, apiVersion); _clientDiagnostics = clientDiagnostics; _pipeline = pipeline; } diff --git a/samples/AppConfiguration/AppConfiguration/Generated/ServiceRestClient.cs b/samples/AppConfiguration/AppConfiguration/Generated/ServiceRestClient.cs index e46a78cd..a9dd4806 100644 --- a/samples/AppConfiguration/AppConfiguration/Generated/ServiceRestClient.cs +++ b/samples/AppConfiguration/AppConfiguration/Generated/ServiceRestClient.cs @@ -18,25 +18,25 @@ namespace AppConfiguration { internal partial class ServiceRestClient { - private string host; + private string endpoint; private string syncToken; private string apiVersion; private ClientDiagnostics _clientDiagnostics; private HttpPipeline _pipeline; /// Initializes a new instance of ServiceRestClient. - public ServiceRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "", string syncToken = null, string apiVersion = "1.0") + public ServiceRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string endpoint, string syncToken = null, string apiVersion = "1.0") { - if (host == null) + if (endpoint == null) { - throw new ArgumentNullException(nameof(host)); + throw new ArgumentNullException(nameof(endpoint)); } if (apiVersion == null) { throw new ArgumentNullException(nameof(apiVersion)); } - this.host = host; + this.endpoint = endpoint; this.syncToken = syncToken; this.apiVersion = apiVersion; _clientDiagnostics = clientDiagnostics; @@ -49,7 +49,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/keys", false); if (name != null) { @@ -140,7 +140,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Head; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/keys", false); if (name != null) { @@ -207,7 +207,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv", false); if (key != null) { @@ -310,7 +310,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Head; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv", false); if (key != null) { @@ -389,7 +389,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv/", false); uri.AppendPath(key, true); if (label != null) @@ -505,7 +505,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv/", false); uri.AppendPath(key, true); if (label != null) @@ -618,7 +618,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Delete; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv/", false); uri.AppendPath(key, true); if (label != null) @@ -720,7 +720,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Head; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/kv/", false); uri.AppendPath(key, true); if (label != null) @@ -812,7 +812,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/labels", false); if (name != null) { @@ -909,7 +909,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Head; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/labels", false); if (name != null) { @@ -982,7 +982,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/locks/", false); uri.AppendPath(key, true); if (label != null) @@ -1086,7 +1086,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Delete; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/locks/", false); uri.AppendPath(key, true); if (label != null) @@ -1190,7 +1190,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/revisions", false); if (key != null) { @@ -1293,7 +1293,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Head; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendPath("/revisions", false); if (key != null) { @@ -1372,7 +1372,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendRawNextLink(nextLink, false); request.Uri = uri; if (syncToken != null) @@ -1466,7 +1466,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendRawNextLink(nextLink, false); request.Uri = uri; if (syncToken != null) @@ -1564,7 +1564,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendRawNextLink(nextLink, false); request.Uri = uri; if (syncToken != null) @@ -1660,7 +1660,7 @@ namespace AppConfiguration var request = message.Request; request.Method = RequestMethod.Get; var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); + uri.AppendRaw(endpoint, false); uri.AppendRawNextLink(nextLink, false); request.Uri = uri; if (syncToken != null) diff --git a/samples/AppConfiguration/appconfiguration.json b/samples/AppConfiguration/appconfiguration.json deleted file mode 100644 index 9ae87b2b..00000000 --- a/samples/AppConfiguration/appconfiguration.json +++ /dev/null @@ -1,1329 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "1.0", - "title": "Azure App Configuration" - }, - "schemes": [ - "https" - ], - "paths": { - "/keys": { - "get": { - "tags": [ - "Keys" - ], - "summary": "Gets a list of keys.", - "operationId": "GetKeys", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.keyset+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "name", - "in": "query", - "description": "A filter for the name of the returned keys.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyListResult" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "GetKeys": { - "$ref": "./examples/GetKeys.json" - } - }, - "x-ms-pageable": { - "itemName": "items", - "nextLinkName": "@nextLink" - } - }, - "head": { - "tags": [ - "Keys" - ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckKeys", - "consumes": [], - "produces": [], - "parameters": [ - { - "name": "name", - "in": "query", - "description": "A filter for the name of the returned keys.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed" - } - }, - "x-ms-examples": { - "CheckKeys": { - "$ref": "./examples/CheckKeys.json" - } - } - } - }, - "/kv": { - "get": { - "tags": [ - "KeyValues" - ], - "summary": "Gets a list of key-values.", - "operationId": "GetKeyValues", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kvset+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "query", - "description": "A filter used to match keys.", - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "A filter used to match labels", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValueListResult" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "GetKeyValues": { - "$ref": "./examples/GetKeyValues.json" - } - }, - "x-ms-pageable": { - "itemName": "items", - "nextLinkName": "@nextLink" - } - }, - "head": { - "tags": [ - "KeyValues" - ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckKeyValues", - "consumes": [], - "produces": [], - "parameters": [ - { - "name": "key", - "in": "query", - "description": "A filter used to match keys.", - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "A filter used to match labels", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed" - } - }, - "x-ms-examples": { - "CheckKeyValues": { - "$ref": "./examples/CheckKeyValues.json" - } - } - } - }, - "/kv/{key}": { - "get": { - "tags": [ - "KeyValues" - ], - "summary": "Gets a single key-value.", - "operationId": "GetKeyValue", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to retrieve.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label of the key-value to retrieve.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - }, - { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "Last-Modified": { - "description": "A UTC datetime that specifies the last time the resource was modified.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "GetKeyValue": { - "$ref": "./examples/GetKeyValue.json" - }, - "GetKeyValue_IfMatch": { - "$ref": "./examples/GetKeyValue_IfMatch.json" - }, - "GetKeyValue_IfNoneMatch": { - "$ref": "./examples/GetKeyValue_IfNoneMatch.json" - } - } - }, - "put": { - "tags": [ - "KeyValues" - ], - "summary": "Creates a key-value.", - "operationId": "PutKeyValue", - "consumes": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/vnd.microsoft.appconfig.kvset+json", - "application/json", - "text/json", - "application/*+json", - "application/json-patch+json" - ], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to create.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label of the key-value to create.", - "type": "string" - }, - { - "name": "entity", - "in": "body", - "description": "The key-value to create.", - "schema": { - "$ref": "#/definitions/KeyValue" - } - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - }, - { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "PutKeyValue": { - "$ref": "./examples/PutKeyValue.json" - }, - "PutKeyValue_IfMatch": { - "$ref": "./examples/PutKeyValue_IfMatch.json" - } - } - }, - "delete": { - "tags": [ - "KeyValues" - ], - "summary": "Deletes a key-value.", - "operationId": "DeleteKeyValue", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to delete.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label of the key-value to delete.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - } - } - }, - "204": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "DeleteKeyValue": { - "$ref": "./examples/DeleteKeyValue.json" - }, - "DeleteKeyValue_IfMatch": { - "$ref": "./examples/DeleteKeyValue_IfMatch.json" - } - } - }, - "head": { - "tags": [ - "KeyValues" - ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckKeyValue", - "consumes": [], - "produces": [], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to retrieve.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label of the key-value to retrieve.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - }, - { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - }, - "Last-Modified": { - "description": "A UTC datetime that specifies the last time the resource was modified.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed" - } - }, - "x-ms-examples": { - "CheckKeyValue": { - "$ref": "./examples/CheckKeyValue.json" - }, - "CheckKeyValue_IfMatch": { - "$ref": "./examples/CheckKeyValue_IfMatch.json" - }, - "CheckKeyValue_IfNoneMatch": { - "$ref": "./examples/CheckKeyValue_IfNoneMatch.json" - } - } - } - }, - "/labels": { - "get": { - "tags": [ - "Labels" - ], - "summary": "Gets a list of labels.", - "operationId": "GetLabels", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.labelset+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "name", - "in": "query", - "description": "A filter for the name of the returned labels.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "name" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/LabelListResult" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "GetLabels": { - "$ref": "./examples/GetLabels.json" - } - }, - "x-ms-pageable": { - "itemName": "items", - "nextLinkName": "@nextLink" - } - }, - "head": { - "tags": [ - "Labels" - ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckLabels", - "consumes": [], - "produces": [], - "parameters": [ - { - "name": "name", - "in": "query", - "description": "A filter for the name of the returned labels.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "name" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed" - } - }, - "x-ms-examples": { - "CheckLabels": { - "$ref": "./examples/CheckLabels.json" - } - } - } - }, - "/locks/{key}": { - "put": { - "tags": [ - "Locks" - ], - "summary": "Locks a key-value.", - "operationId": "PutLock", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to lock.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label, if any, of the key-value to lock.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - }, - { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "PutLock": { - "$ref": "./examples/PutLock.json" - }, - "PutLock_IfMatch": { - "$ref": "./examples/PutLock_IfMatch.json" - } - } - }, - "delete": { - "tags": [ - "Locks" - ], - "summary": "Unlocks a key-value.", - "operationId": "DeleteLock", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "path", - "description": "The key of the key-value to unlock.", - "required": true, - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "The label, if any, of the key-value to unlock.", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "If-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag matches the value provided.", - "type": "string" - }, - { - "name": "If-None-Match", - "in": "header", - "description": "Used to perform an operation only if the targeted resource's etag does not match the value provided.", - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValue" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - }, - "ETag": { - "description": "An identifier representing the returned state of the resource.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "DeleteLock": { - "$ref": "./examples/DeleteLock.json" - }, - "DeleteLock_IfMatch": { - "$ref": "./examples/DeleteLock_IfMatch.json" - } - } - } - }, - "/revisions": { - "get": { - "tags": [ - "Revisions" - ], - "summary": "Gets a list of key-value revisions.", - "operationId": "GetRevisions", - "consumes": [], - "produces": [ - "application/vnd.microsoft.appconfig.kvset+json", - "application/json", - "application/problem+json" - ], - "parameters": [ - { - "name": "key", - "in": "query", - "description": "A filter used to match keys.", - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "A filter used to match labels", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/KeyValueListResult" - }, - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-examples": { - "GetRevisions": { - "$ref": "./examples/GetRevisions.json" - } - }, - "x-ms-pageable": { - "itemName": "items", - "nextLinkName": "@nextLink" - } - }, - "head": { - "tags": [ - "Revisions" - ], - "summary": "Requests the headers and status of the given resource.", - "operationId": "CheckRevisions", - "consumes": [], - "produces": [], - "parameters": [ - { - "name": "key", - "in": "query", - "description": "A filter used to match keys.", - "type": "string" - }, - { - "name": "label", - "in": "query", - "description": "A filter used to match labels", - "type": "string" - }, - { - "$ref": "#/parameters/SyncTokens" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "name": "After", - "in": "query", - "description": "Instructs the server to return elements that appear after the element referred to by the specified token.", - "type": "string" - }, - { - "name": "Accept-Datetime", - "in": "header", - "description": "Requests the server to respond with the state of the resource at the specified time.", - "type": "string" - }, - { - "name": "$Select", - "in": "query", - "description": "Used to select what fields are present in the returned resource(s).", - "type": "array", - "items": { - "type": "string", - "enum": [ - "key", - "label", - "content_type", - "value", - "last_modified", - "tags", - "locked", - "etag" - ] - }, - "collectionFormat": "csv" - } - ], - "responses": { - "200": { - "description": "Success", - "headers": { - "Sync-Token": { - "description": "Enables real-time consistency between requests by providing the returned value in the next request made to the server.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed" - } - }, - "x-ms-examples": { - "CheckRevisions": { - "$ref": "./examples/CheckRevisions.json" - } - } - } - } - }, - "definitions": { - "Key": { - "type": "object", - "properties": { - "name": { - "type": "string", - "readOnly": true - } - } - }, - "KeyValue": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "content_type": { - "type": "string" - }, - "value": { - "type": "string" - }, - "last_modified": { - "format": "date-time", - "type": "string" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "locked": { - "type": "boolean" - }, - "etag": { - "type": "string" - } - } - }, - "Label": { - "type": "object", - "properties": { - "name": { - "type": "string", - "readOnly": true - } - } - }, - "Error": { - "description": "Azure App Configuration error object.", - "properties": { - "type": { - "description": "The type of the error.", - "type": "string" - }, - "title": { - "description": "A brief summary of the error.", - "type": "string" - }, - "name": { - "description": "The name of the parameter that resulted in the error.", - "type": "string" - }, - "detail": { - "description": "A detailed description of the error.", - "type": "string" - }, - "status": { - "description": "The HTTP status code that the error maps to.", - "type": "integer" - } - }, - "readOnly": true - }, - "KeyListResult": { - "description": "The result of a list request.", - "type": "object", - "properties": { - "items": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/Key" - } - }, - "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" - } - } - }, - "KeyValueListResult": { - "description": "The result of a list request.", - "type": "object", - "properties": { - "items": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/KeyValue" - } - }, - "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" - } - } - }, - "LabelListResult": { - "description": "The result of a list request.", - "type": "object", - "properties": { - "items": { - "description": "The collection value.", - "type": "array", - "items": { - "$ref": "#/definitions/Label" - } - }, - "@nextLink": { - "description": "The URI that can be used to request the next set of paged results.", - "type": "string" - } - } - } - }, - "parameters": { - "SyncTokens": { - "name": "Sync-Token", - "in": "header", - "description": "Used to guarantee real-time consistency between requests.", - "type": "string" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "The API version to be used with the HTTP request.", - "required": true, - "type": "string" - } - } -} \ No newline at end of file diff --git a/samples/AppConfiguration/readme.md b/samples/AppConfiguration/readme.md index fdc94708..7f37b52c 100644 --- a/samples/AppConfiguration/readme.md +++ b/samples/AppConfiguration/readme.md @@ -5,7 +5,6 @@ ``` yaml title: AppConfiguration require: $(this-folder)/../../readme.md -# https://github.com/Azure/azure-rest-api-specs-pr/pull/887/files -input-file: $(this-folder)/appconfiguration.json +input-file: https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/1.0/appconfiguration.json namespace: Azure.AppConfiguration -``` \ No newline at end of file +``` diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/CodeModel.yaml b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/CodeModel.yaml index 929ccd9e..4dac19e3 100644 --- a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/CodeModel.yaml +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/CodeModel.yaml @@ -20,7 +20,7 @@ schemas: ! name: Boolean description: Use label file for training a model. protocol: ! {} - - ! &ref_111 + - ! &ref_122 type: boolean apiVersions: - ! @@ -72,7 +72,7 @@ schemas: ! name: Number description: Average accuracy. protocol: ! {} - - ! &ref_14 + - ! &ref_13 type: integer minimum: 1 precision: 32 @@ -110,7 +110,7 @@ schemas: ! name: Number description: 'The height of the image/PDF in pixels/inches, respectively.' protocol: ! {} - - ! &ref_11 + - ! &ref_10 type: number apiVersions: - ! @@ -121,7 +121,7 @@ schemas: ! name: BoundingBoxItem description: '' protocol: ! {} - - ! &ref_12 + - ! &ref_11 type: number apiVersions: - ! @@ -217,7 +217,7 @@ schemas: ! name: ArrayItemschema description: '' protocol: ! {} - - ! &ref_6 + - ! &ref_5 type: number precision: 32 language: ! @@ -225,7 +225,7 @@ schemas: ! name: Number description: Floating point value. protocol: ! {} - - ! &ref_7 + - ! &ref_6 type: integer precision: 32 language: ! @@ -233,7 +233,15 @@ schemas: ! name: Integer description: Integer value. protocol: ! {} - - ! &ref_79 + - ! &ref_83 + type: integer + precision: 64 + language: ! + default: + name: Integer + description: 'The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.' + protocol: ! {} + - ! &ref_89 type: integer precision: 32 language: ! @@ -241,7 +249,7 @@ schemas: ! name: Integer description: Current count of trained custom models. protocol: ! {} - - ! &ref_80 + - ! &ref_90 type: integer precision: 32 language: ! @@ -279,7 +287,7 @@ schemas: ! name: TrainSourceFilterPrefix description: 'A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.' protocol: ! {} - - ! &ref_108 + - ! &ref_119 type: string apiVersions: - ! @@ -351,7 +359,7 @@ schemas: ! name: SourcePathSource description: File source path. protocol: ! {} - - ! &ref_124 + - ! &ref_135 type: string apiVersions: - ! @@ -412,7 +420,7 @@ schemas: ! name: KeyValueElementText description: The text content of the key or value. protocol: ! {} - - ! &ref_13 + - ! &ref_12 type: string apiVersions: - ! @@ -453,16 +461,6 @@ schemas: ! description: String value. protocol: ! {} - ! &ref_4 - type: string - apiVersions: - - ! - version: 2.0-preview - language: ! - default: - name: FieldValueTime - description: Time value. - protocol: ! {} - - ! &ref_5 type: string apiVersions: - ! @@ -472,7 +470,7 @@ schemas: ! name: FieldValuePhoneNumber description: Phone number value. protocol: ! {} - - ! &ref_10 + - ! &ref_9 type: string apiVersions: - ! @@ -482,29 +480,98 @@ schemas: ! name: FieldValueText description: Text content of the extracted field. protocol: ! {} - - ! &ref_133 + - ! &ref_79 type: string apiVersions: - ! version: 2.0-preview + maxLength: 1024 + pattern: '^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$' + extensions: + x-ms-azure-resource: true language: ! default: - name: String - description: '' - header: Operation-Location + name: CopyRequestTargetResourceId + description: Azure Resource Id of the target Form Recognizer resource where the model is copied to. protocol: ! {} - - ! &ref_139 + - ! &ref_80 + type: string + apiVersions: + - ! + version: 2.0-preview + maxLength: 24 + minLength: 1 + pattern: '^[a-z0-9]+$' + language: ! + default: + name: CopyRequestTargetResourceRegion + description: Location of the target Azure resource. A valid Azure region name supported by Cognitive Services. + protocol: ! {} + - ! &ref_81 type: string apiVersions: - ! version: 2.0-preview language: ! default: - name: String - description: '' - header: Operation-Location + name: CopyAuthorizationResultModelId + description: Model identifier. protocol: ! {} - ! &ref_82 + type: string + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: CopyAuthorizationResultAccessToken + description: Token claim used to authorize the request. + protocol: ! {} + - ! &ref_142 + type: string + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: String + description: '' + header: Operation-Location + protocol: ! {} + - ! &ref_146 + type: string + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: String + description: '' + header: Location + protocol: ! {} + - ! &ref_152 + type: string + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: String + description: '' + header: Operation-Location + protocol: ! {} + - ! &ref_158 + type: string + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: String + description: '' + header: Operation-Location + protocol: ! {} + - ! &ref_92 type: string apiVersions: - ! @@ -610,7 +677,7 @@ schemas: ! name: TrainStatus description: Status of the training operation. protocol: ! {} - - ! &ref_116 + - ! &ref_127 choices: - ! value: application/pdf @@ -764,7 +831,7 @@ schemas: ! description: Semantic data type of the field value. protocol: ! {} constants: - - ! &ref_105 + - ! &ref_116 type: constant value: ! value: application/json @@ -774,7 +841,7 @@ schemas: ! name: ApplicationJson description: Content Type 'application/json' protocol: ! {} - - ! &ref_141 + - ! &ref_160 type: constant value: ! value: full @@ -784,7 +851,7 @@ schemas: ! name: Constant8 description: '' protocol: ! {} - - ! &ref_143 + - ! &ref_162 type: constant value: ! value: summary @@ -797,7 +864,7 @@ schemas: ! dictionaries: - ! &ref_28 type: dictionary - elementType: ! &ref_84 + elementType: ! &ref_94 type: array apiVersions: - ! @@ -814,9 +881,9 @@ schemas: ! name: KeysResultClusters description: Object mapping clusterIds to a list of keys. protocol: ! {} - - ! &ref_9 + - ! &ref_8 type: dictionary - elementType: ! &ref_8 + elementType: ! &ref_7 type: object apiVersions: - ! @@ -841,7 +908,7 @@ schemas: ! description: String value. protocol: ! {} - ! - schema: ! &ref_15 + schema: ! &ref_14 type: date apiVersions: - ! @@ -859,7 +926,16 @@ schemas: ! description: Date value. protocol: ! {} - ! - schema: *ref_4 + schema: ! &ref_15 + type: time + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: FieldValue-valueTime + description: Time value. + protocol: ! {} required: false serializedName: valueTime language: ! @@ -868,7 +944,7 @@ schemas: ! description: Time value. protocol: ! {} - ! - schema: *ref_5 + schema: *ref_4 required: false serializedName: valuePhoneNumber language: ! @@ -877,7 +953,7 @@ schemas: ! description: Phone number value. protocol: ! {} - ! - schema: *ref_6 + schema: *ref_5 nullable: false required: false serializedName: valueNumber @@ -887,7 +963,7 @@ schemas: ! description: Floating point value. protocol: ! {} - ! - schema: *ref_7 + schema: *ref_6 nullable: false required: false serializedName: valueInteger @@ -897,12 +973,12 @@ schemas: ! description: Integer value. protocol: ! {} - ! - schema: ! &ref_99 + schema: ! &ref_109 type: array apiVersions: - ! version: 2.0-preview - elementType: *ref_8 + elementType: *ref_7 language: ! default: name: FieldValueArray @@ -916,7 +992,7 @@ schemas: ! description: Array of field values. protocol: ! {} - ! - schema: *ref_9 + schema: *ref_8 required: false serializedName: valueObject language: ! @@ -925,7 +1001,7 @@ schemas: ! description: Dictionary of named field values. protocol: ! {} - ! - schema: *ref_10 + schema: *ref_9 required: false serializedName: text language: ! @@ -939,7 +1015,7 @@ schemas: ! apiVersions: - ! version: 2.0-preview - elementType: *ref_11 + elementType: *ref_10 maxItems: 8 minItems: 8 language: ! @@ -957,7 +1033,7 @@ schemas: ! description: 'Bounding box of the field value, if appropriate.' protocol: ! {} - ! - schema: *ref_12 + schema: *ref_11 required: false serializedName: confidence language: ! @@ -966,12 +1042,12 @@ schemas: ! description: Confidence score. protocol: ! {} - ! - schema: ! &ref_100 + schema: ! &ref_110 type: array apiVersions: - ! version: 2.0-preview - elementType: *ref_13 + elementType: *ref_12 language: ! default: name: FieldValueElements @@ -985,7 +1061,7 @@ schemas: ! description: 'When includeTextDetails is set to true, a list of references to the text elements constituting this field.' protocol: ! {} - ! - schema: *ref_14 + schema: *ref_13 nullable: false required: false serializedName: page @@ -1011,23 +1087,13 @@ schemas: ! protocol: ! {} - ! &ref_69 type: dictionary - elementType: *ref_8 + elementType: *ref_7 language: ! default: name: DocumentResultFields description: Dictionary of named field values. protocol: ! {} binaries: - - ! &ref_117 - type: binary - apiVersions: - - ! - version: 2.0-preview - language: ! - default: - name: binary - description: Uri or local path to source data. - protocol: ! {} - ! &ref_128 type: binary apiVersions: @@ -1038,7 +1104,17 @@ schemas: ! name: binary description: Uri or local path to source data. protocol: ! {} - - ! &ref_135 + - ! &ref_147 + type: binary + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: binary + description: Uri or local path to source data. + protocol: ! {} + - ! &ref_154 type: binary apiVersions: - ! @@ -1093,7 +1169,29 @@ schemas: ! name: AnalyzeOperationResultLastUpdatedDateTime description: Date and time (UTC) when the status was last updated. protocol: ! {} - - ! &ref_81 + - ! &ref_85 + type: date-time + format: date-time + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: CopyOperationResultCreatedDateTime + description: Date and time (UTC) when the copy operation was submitted. + protocol: ! {} + - ! &ref_86 + type: date-time + format: date-time + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: CopyOperationResultLastUpdatedDateTime + description: Date and time (UTC) when the status was last updated. + protocol: ! {} + - ! &ref_91 type: date-time format: date-time apiVersions: @@ -1105,9 +1203,11 @@ schemas: ! description: Date and time (UTC) when the summary was last updated. protocol: ! {} dates: + - *ref_14 + times: - *ref_15 uuids: - - ! &ref_110 + - ! &ref_121 type: uuid apiVersions: - ! @@ -1127,8 +1227,18 @@ schemas: ! name: ModelInfoModelId description: Model identifier. protocol: ! {} + - ! &ref_87 + type: uuid + apiVersions: + - ! + version: 2.0-preview + language: ! + default: + name: CopyResultModelId + description: Identifier of the target model. + protocol: ! {} objects: - - ! &ref_106 + - ! &ref_117 type: object apiVersions: - ! @@ -1204,7 +1314,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_20 - - ! &ref_109 + - ! &ref_120 type: object apiVersions: - ! @@ -1263,7 +1373,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_23 - - ! &ref_114 + - ! &ref_125 type: object apiVersions: - ! @@ -1370,7 +1480,7 @@ schemas: ! version: 2.0-preview properties: - ! - schema: ! &ref_86 + schema: ! &ref_96 type: array apiVersions: - ! @@ -1401,7 +1511,7 @@ schemas: ! description: Total number of pages trained. protocol: ! {} - ! - schema: ! &ref_85 + schema: ! &ref_95 type: array apiVersions: - ! @@ -1451,7 +1561,7 @@ schemas: ! description: List of the documents used to train the model and any errors reported in each document. protocol: ! {} - ! - schema: ! &ref_87 + schema: ! &ref_97 type: array apiVersions: - ! @@ -1514,7 +1624,7 @@ schemas: ! description: Average accuracy. protocol: ! {} - ! - schema: ! &ref_88 + schema: ! &ref_98 type: array apiVersions: - ! @@ -1564,7 +1674,7 @@ schemas: ! - *ref_37 - *ref_38 - *ref_39 - - ! &ref_120 + - ! &ref_131 type: object apiVersions: - ! @@ -1588,7 +1698,7 @@ schemas: ! description: Uri or local path to source data. namespace: '' protocol: ! {} - - ! &ref_127 + - ! &ref_138 type: object apiVersions: - ! @@ -1638,7 +1748,7 @@ schemas: ! description: Version of schema used for this result. protocol: ! {} - ! - schema: ! &ref_91 + schema: ! &ref_101 type: array apiVersions: - ! @@ -1650,7 +1760,7 @@ schemas: ! version: 2.0-preview properties: - ! - schema: *ref_14 + schema: *ref_13 nullable: false required: true serializedName: page @@ -1708,7 +1818,7 @@ schemas: ! description: The detected language on the page overall. protocol: ! {} - ! - schema: ! &ref_90 + schema: ! &ref_100 type: array apiVersions: - ! @@ -1747,7 +1857,7 @@ schemas: ! description: 'The detected language of this line, if different from the overall page language.' protocol: ! {} - ! - schema: ! &ref_89 + schema: ! &ref_99 type: array apiVersions: - ! @@ -1777,7 +1887,7 @@ schemas: ! description: Bounding box of an extracted word. protocol: ! {} - ! - schema: *ref_12 + schema: *ref_11 required: false serializedName: confidence language: ! @@ -1857,7 +1967,7 @@ schemas: ! description: Text extracted from the input. protocol: ! {} - ! - schema: ! &ref_97 + schema: ! &ref_107 type: array apiVersions: - ! @@ -1889,7 +1999,7 @@ schemas: ! description: Cluster identifier. protocol: ! {} - ! - schema: ! &ref_93 + schema: ! &ref_103 type: array apiVersions: - ! @@ -1935,12 +2045,12 @@ schemas: ! description: Bounding box of the key or value. protocol: ! {} - ! - schema: ! &ref_92 + schema: ! &ref_102 type: array apiVersions: - ! version: 2.0-preview - elementType: *ref_13 + elementType: *ref_12 language: ! default: name: KeyValueElementElements @@ -1980,7 +2090,7 @@ schemas: ! description: Information about the extracted value in a key-value pair. protocol: ! {} - ! - schema: *ref_12 + schema: *ref_11 required: true serializedName: confidence language: ! @@ -2011,7 +2121,7 @@ schemas: ! description: List of key-value pairs extracted from the page. protocol: ! {} - ! - schema: ! &ref_96 + schema: ! &ref_106 type: array apiVersions: - ! @@ -2043,7 +2153,7 @@ schemas: ! description: Number of columns. protocol: ! {} - ! - schema: ! &ref_95 + schema: ! &ref_105 type: array apiVersions: - ! @@ -2113,7 +2223,7 @@ schemas: ! description: Bounding box of the cell. protocol: ! {} - ! - schema: *ref_12 + schema: *ref_11 required: true serializedName: confidence language: ! @@ -2122,12 +2232,12 @@ schemas: ! description: Confidence value. protocol: ! {} - ! - schema: ! &ref_94 + schema: ! &ref_104 type: array apiVersions: - ! version: 2.0-preview - elementType: *ref_13 + elementType: *ref_12 language: ! default: name: DataTableCellElements @@ -2227,7 +2337,7 @@ schemas: ! description: Page-level information extracted from the input. protocol: ! {} - ! - schema: ! &ref_101 + schema: ! &ref_111 type: array apiVersions: - ! @@ -2248,7 +2358,7 @@ schemas: ! description: Document type. protocol: ! {} - ! - schema: ! &ref_98 + schema: ! &ref_108 type: array elementType: *ref_68 maxItems: 2 @@ -2297,7 +2407,7 @@ schemas: ! description: Document-level information extracted from the input. protocol: ! {} - ! - schema: ! &ref_102 + schema: ! &ref_112 type: array apiVersions: - ! @@ -2352,22 +2462,205 @@ schemas: ! - *ref_76 - *ref_77 - *ref_78 - - *ref_8 - - ! &ref_142 + - *ref_7 + - ! &ref_139 type: object apiVersions: - ! version: 2.0-preview properties: - ! - schema: ! &ref_83 + schema: *ref_79 + required: true + serializedName: targetResourceId + language: ! + default: + name: targetResourceId + description: Azure Resource Id of the target Form Recognizer resource where the model is copied to. + protocol: ! {} + - ! + schema: *ref_80 + required: true + serializedName: targetResourceRegion + language: ! + default: + name: targetResourceRegion + description: Location of the target Azure resource. A valid Azure region name supported by Cognitive Services. + protocol: ! {} + - ! + schema: ! &ref_84 type: object apiVersions: - ! version: 2.0-preview properties: - ! - schema: *ref_79 + schema: *ref_81 + required: true + serializedName: modelId + language: ! + default: + name: modelId + description: Model identifier. + protocol: ! {} + - ! + schema: *ref_82 + required: true + serializedName: accessToken + language: ! + default: + name: accessToken + description: Token claim used to authorize the request. + protocol: ! {} + - ! + schema: *ref_83 + required: true + serializedName: expirationDateTimeTicks + language: ! + default: + name: expirationDateTimeTicks + description: 'The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.' + protocol: ! {} + serializationFormats: + - json + usage: + - output + - input + language: ! + default: + name: CopyAuthorizationResult + description: Request parameter that contains authorization claims for copy operation. + namespace: '' + protocol: ! {} + required: true + serializedName: copyAuthorization + language: ! + default: + name: copyAuthorization + description: Entity that encodes claims to authorize the copy request. + protocol: ! {} + serializationFormats: + - json + usage: + - input + language: ! + default: + name: CopyRequest + description: Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID. + namespace: '' + protocol: ! {} + - *ref_84 + - ! &ref_145 + type: object + apiVersions: + - ! + version: 2.0-preview + properties: + - ! + schema: *ref_41 + required: true + serializedName: status + language: ! + default: + name: status + description: Operation status. + protocol: ! {} + - ! + schema: *ref_85 + required: true + serializedName: createdDateTime + language: ! + default: + name: createdDateTime + description: Date and time (UTC) when the copy operation was submitted. + protocol: ! {} + - ! + schema: *ref_86 + required: true + serializedName: lastUpdatedDateTime + language: ! + default: + name: lastUpdatedDateTime + description: Date and time (UTC) when the status was last updated. + protocol: ! {} + - ! + schema: ! &ref_88 + type: object + apiVersions: + - ! + version: 2.0-preview + properties: + - ! + schema: *ref_87 + required: true + serializedName: modelId + language: ! + default: + name: modelId + description: Identifier of the target model. + protocol: ! {} + - ! + schema: ! &ref_113 + type: array + apiVersions: + - ! + version: 2.0-preview + elementType: *ref_23 + language: ! + default: + name: CopyResultErrors + description: Errors returned during the copy operation. + protocol: ! {} + required: false + serializedName: errors + language: ! + default: + name: errors + description: Errors returned during the copy operation. + protocol: ! {} + serializationFormats: + - json + usage: + - output + language: ! + default: + name: CopyResult + description: Custom model copy result. + namespace: '' + protocol: ! {} + required: false + serializedName: copyResult + language: ! + default: + name: copyResult + description: Results of the copy operation. + protocol: ! {} + serializationFormats: + - json + usage: + - output + language: ! + default: + name: CopyOperationResult + description: Status and result of the queued copy operation. + namespace: '' + protocol: ! {} + - *ref_88 + - ! &ref_161 + type: object + apiVersions: + - ! + version: 2.0-preview + properties: + - ! + schema: ! &ref_93 + type: object + apiVersions: + - ! + version: 2.0-preview + properties: + - ! + schema: *ref_89 nullable: false required: true serializedName: count @@ -2377,7 +2670,7 @@ schemas: ! description: Current count of trained custom models. protocol: ! {} - ! - schema: *ref_80 + schema: *ref_90 nullable: false required: true serializedName: limit @@ -2387,7 +2680,7 @@ schemas: ! description: Max number of models that can be trained for this account. protocol: ! {} - ! - schema: *ref_81 + schema: *ref_91 required: true serializedName: lastUpdatedDateTime language: ! @@ -2415,7 +2708,7 @@ schemas: ! description: Summary of all trained custom models. protocol: ! {} - ! - schema: ! &ref_103 + schema: ! &ref_114 type: array apiVersions: - ! @@ -2433,7 +2726,7 @@ schemas: ! description: Collection of trained custom models. protocol: ! {} - ! - schema: *ref_82 + schema: *ref_92 serializedName: nextLink language: ! default: @@ -2450,31 +2743,32 @@ schemas: ! description: Response to the list custom models operation. namespace: '' protocol: ! {} - - *ref_83 - arrays: - - *ref_84 - - *ref_85 - - *ref_86 - - *ref_87 - - *ref_88 - - *ref_51 - - *ref_89 - - *ref_90 - - *ref_91 - - *ref_92 - *ref_93 + arrays: - *ref_94 - *ref_95 - *ref_96 - *ref_97 - *ref_98 + - *ref_51 - *ref_99 - *ref_100 - *ref_101 - *ref_102 - *ref_103 + - *ref_104 + - *ref_105 + - *ref_106 + - *ref_107 + - *ref_108 + - *ref_109 + - *ref_110 + - *ref_111 + - *ref_112 + - *ref_113 + - *ref_114 globalParameters: -- ! &ref_104 +- ! &ref_115 schema: *ref_0 implementation: Client required: true @@ -2502,12 +2796,12 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 + - *ref_115 requests: - ! parameters: - ! - schema: *ref_105 + schema: *ref_116 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -2519,8 +2813,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_107 - schema: *ref_106 + - ! &ref_118 + schema: *ref_117 implementation: Method required: true language: ! @@ -2532,7 +2826,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_107 + - *ref_118 language: ! default: name: '' @@ -2556,13 +2850,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_108 + schema: *ref_119 header: Location statusCodes: - '201' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -2619,9 +2913,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_112 - schema: *ref_110 + - *ref_115 + - ! &ref_123 + schema: *ref_121 implementation: Method required: true language: ! @@ -2632,8 +2926,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_113 - schema: *ref_111 + - ! &ref_124 + schema: *ref_122 implementation: Method language: ! default: @@ -2655,11 +2949,11 @@ operationGroups: method: get uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_112 - - *ref_113 + - *ref_123 + - *ref_124 responses: - ! - schema: *ref_114 + schema: *ref_125 language: ! default: name: '' @@ -2673,7 +2967,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -2726,9 +3020,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_115 - schema: *ref_110 + - *ref_115 + - ! &ref_126 + schema: *ref_121 implementation: Method required: true language: ! @@ -2751,7 +3045,7 @@ operationGroups: method: delete uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_115 + - *ref_126 responses: - ! language: ! @@ -2764,7 +3058,7 @@ operationGroups: - '204' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -2798,9 +3092,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_122 - schema: *ref_110 + - *ref_115 + - ! &ref_133 + schema: *ref_121 implementation: Method required: true language: ! @@ -2811,8 +3105,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_123 - schema: *ref_111 + - ! &ref_134 + schema: *ref_122 implementation: Method language: ! default: @@ -2825,8 +3119,8 @@ operationGroups: requests: - ! parameters: - - ! &ref_118 - schema: *ref_116 + - ! &ref_129 + schema: *ref_127 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -2838,8 +3132,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_119 - schema: *ref_117 + - ! &ref_130 + schema: *ref_128 implementation: Method required: true language: ! @@ -2851,8 +3145,8 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_118 - - *ref_119 + - *ref_129 + - *ref_130 language: ! default: name: '' @@ -2872,7 +3166,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_105 + schema: *ref_116 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -2884,8 +3178,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_121 - schema: *ref_120 + - ! &ref_132 + schema: *ref_131 implementation: Method required: false language: ! @@ -2897,7 +3191,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_121 + - *ref_132 language: ! default: name: '' @@ -2911,8 +3205,8 @@ operationGroups: - application/json uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_122 - - *ref_123 + - *ref_133 + - *ref_134 responses: - ! language: ! @@ -2923,13 +3217,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_124 + schema: *ref_135 header: Operation-Location statusCodes: - '202' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -2968,9 +3262,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_125 - schema: *ref_110 + - *ref_115 + - ! &ref_136 + schema: *ref_121 implementation: Method required: true language: ! @@ -2981,8 +3275,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_126 - schema: *ref_110 + - ! &ref_137 + schema: *ref_121 implementation: Method required: true language: ! @@ -3005,11 +3299,11 @@ operationGroups: method: get uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_125 - - *ref_126 + - *ref_136 + - *ref_137 responses: - ! - schema: *ref_127 + schema: *ref_138 language: ! default: name: '' @@ -3023,7 +3317,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3068,9 +3362,314 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_132 - schema: *ref_111 + - *ref_115 + - ! &ref_141 + schema: *ref_121 + implementation: Method + required: true + language: ! + default: + name: modelId + description: Model identifier. + serializedName: modelId + protocol: ! + http: ! + in: path + requests: + - ! + parameters: + - ! + schema: *ref_116 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Body Parameter content-type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_140 + schema: *ref_139 + implementation: Method + required: true + language: ! + default: + name: copyRequest + description: Copy request parameters. + protocol: ! + http: ! + in: body + style: json + signatureParameters: + - *ref_140 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/custom/models/{modelId}/copy' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{endpoint}/formrecognizer/v2.0-preview' + signatureParameters: + - *ref_141 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + headers: + - ! + schema: *ref_142 + header: Operation-Location + statusCodes: + - '202' + exceptions: + - ! + schema: *ref_120 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Copy custom model: + parameters: + Content-Type: application/json + Ocp-Apim-Subscription-Key: '{API key}' + body: {} + copyRequest: + copyAuthorization: + accessToken: '{accessToken}' + expirationDateTimeTicks: 637190189980000000 + modelId: '{modelId}' + targetResourceId: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}' + targetResourceRegion: westus2 + endpoint: '{endpoint}' + modelId: '{modelId}' + responses: + '202': + headers: + Operation-Location: '{endpoint}/formrecognizer/v2.0-preview/custom/models/{modelId}/copyResults/{resultId}' + x-ms-long-running-operation: true + language: ! + default: + name: CopyCustomModel + description: Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + summary: Copy Custom Model + protocol: ! {} + - ! + apiVersions: + - ! + version: 2.0-preview + parameters: + - *ref_115 + - ! &ref_143 + schema: *ref_121 + implementation: Method + required: true + language: ! + default: + name: modelId + description: Model identifier. + serializedName: modelId + protocol: ! + http: ! + in: path + - ! &ref_144 + schema: *ref_121 + implementation: Method + required: true + language: ! + default: + name: resultId + description: Copy operation result identifier. + serializedName: resultId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/custom/models/{modelId}/copyResults/{resultId}' + method: get + uri: '{endpoint}/formrecognizer/v2.0-preview' + signatureParameters: + - *ref_143 + - *ref_144 + responses: + - ! + schema: *ref_145 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - ! + schema: *ref_120 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Get copy custom model result: + parameters: + Content-Type: application/json + Ocp-Apim-Subscription-Key: '{API key}' + body: {} + endpoint: '{endpoint}' + modelId: '{modelId}' + resultId: '{resultId}' + responses: + '200': + body: + copyResult: + errors: [] + modelId: '{modelId}' + createdDateTime: '2020-01-01T00:00:00Z' + lastUpdatedDateTime: '2020-01-01T00:01:00Z' + status: succeeded + Get copy custom model result with failures: + parameters: + Content-Type: application/json + Ocp-Apim-Subscription-Key: '{API key}' + body: {} + endpoint: '{endpoint}' + modelId: '{modelId}' + resultId: '{resultId}' + responses: + '200': + body: + copyResult: + errors: + - code: ResourceResolverError + message: '{ErrorMessage}' + modelId: '{modelId}' + createdDateTime: '2020-01-01T00:00:00Z' + lastUpdatedDateTime: '2020-01-01T00:01:00Z' + status: failed + language: ! + default: + name: GetCustomModelCopyResult + description: Obtain current status and the result of a custom model copy operation. + summary: Get Custom Model Copy Result + protocol: ! {} + - ! + apiVersions: + - ! + version: 2.0-preview + parameters: + - *ref_115 + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: /custom/models/copyAuthorization + method: post + uri: '{endpoint}/formrecognizer/v2.0-preview' + signatureParameters: [] + responses: + - ! + schema: *ref_84 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + headers: + - ! + schema: *ref_146 + header: Location + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '201' + exceptions: + - ! + schema: *ref_120 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + Copy custom model: + parameters: + Content-Type: application/json + Ocp-Apim-Subscription-Key: '{API key}' + body: {} + endpoint: '{endpoint}' + responses: + '201': + body: + accessToken: '{accessToken}' + expirationDateTimeTicks: 637190189980000000 + modelId: '{modelId}' + headers: + Location: '{endpoint}/formrecognizer/v2.0-preview/custom/models/{modelId}' + language: ! + default: + name: GenerateModelCopyAuthorization + description: Generate authorization to copy a model into the target Form Recognizer resource. + summary: Generate Copy Authorization + protocol: ! {} + - ! + apiVersions: + - ! + version: 2.0-preview + parameters: + - *ref_115 + - ! &ref_151 + schema: *ref_122 implementation: Method language: ! default: @@ -3083,8 +3682,8 @@ operationGroups: requests: - ! parameters: - - ! &ref_129 - schema: *ref_116 + - ! &ref_148 + schema: *ref_127 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3096,8 +3695,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_130 - schema: *ref_128 + - ! &ref_149 + schema: *ref_147 implementation: Method required: true language: ! @@ -3109,8 +3708,8 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_129 - - *ref_130 + - *ref_148 + - *ref_149 language: ! default: name: '' @@ -3130,7 +3729,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_105 + schema: *ref_116 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3142,8 +3741,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_131 - schema: *ref_120 + - ! &ref_150 + schema: *ref_131 implementation: Method required: false language: ! @@ -3155,7 +3754,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_131 + - *ref_150 language: ! default: name: '' @@ -3169,7 +3768,7 @@ operationGroups: - application/json uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_132 + - *ref_151 responses: - ! language: ! @@ -3180,13 +3779,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_133 + schema: *ref_152 header: Operation-Location statusCodes: - '202' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3224,9 +3823,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_134 - schema: *ref_110 + - *ref_115 + - ! &ref_153 + schema: *ref_121 implementation: Method required: true language: ! @@ -3249,10 +3848,10 @@ operationGroups: method: get uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_134 + - *ref_153 responses: - ! - schema: *ref_127 + schema: *ref_138 language: ! default: name: '' @@ -3266,7 +3865,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3311,12 +3910,12 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 + - *ref_115 requests: - ! parameters: - - ! &ref_136 - schema: *ref_116 + - ! &ref_155 + schema: *ref_127 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3328,8 +3927,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_137 - schema: *ref_135 + - ! &ref_156 + schema: *ref_154 implementation: Method required: true language: ! @@ -3341,8 +3940,8 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_136 - - *ref_137 + - *ref_155 + - *ref_156 language: ! default: name: '' @@ -3362,7 +3961,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_105 + schema: *ref_116 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3374,8 +3973,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_138 - schema: *ref_120 + - ! &ref_157 + schema: *ref_131 implementation: Method required: false language: ! @@ -3387,7 +3986,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_138 + - *ref_157 language: ! default: name: '' @@ -3411,13 +4010,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_139 + schema: *ref_158 header: Operation-Location statusCodes: - '202' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3456,9 +4055,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 - - ! &ref_140 - schema: *ref_110 + - *ref_115 + - ! &ref_159 + schema: *ref_121 implementation: Method required: true language: ! @@ -3481,10 +4080,10 @@ operationGroups: method: get uri: '{endpoint}/formrecognizer/v2.0-preview' signatureParameters: - - *ref_140 + - *ref_159 responses: - ! - schema: *ref_127 + schema: *ref_138 language: ! default: name: '' @@ -3498,7 +4097,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3541,9 +4140,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 + - *ref_115 - ! - schema: *ref_141 + schema: *ref_160 implementation: Method required: true language: ! @@ -3568,7 +4167,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_142 + schema: *ref_161 language: ! default: name: '' @@ -3582,7 +4181,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' @@ -3633,9 +4232,9 @@ operationGroups: - ! version: 2.0-preview parameters: - - *ref_104 + - *ref_115 - ! - schema: *ref_143 + schema: *ref_162 implementation: Method required: true language: ! @@ -3660,7 +4259,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_142 + schema: *ref_161 language: ! default: name: '' @@ -3674,7 +4273,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_109 + schema: *ref_120 language: ! default: name: '' diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.Serialization.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.Serialization.cs new file mode 100644 index 00000000..07cfabb7 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.Serialization.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.AI.FormRecognizer.Models +{ + public partial class CopyAuthorizationResult : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("modelId"); + writer.WriteStringValue(ModelId); + writer.WritePropertyName("accessToken"); + writer.WriteStringValue(AccessToken); + writer.WritePropertyName("expirationDateTimeTicks"); + writer.WriteNumberValue(ExpirationDateTimeTicks); + writer.WriteEndObject(); + } + + internal static CopyAuthorizationResult DeserializeCopyAuthorizationResult(JsonElement element) + { + string modelId = default; + string accessToken = default; + long expirationDateTimeTicks = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("modelId")) + { + modelId = property.Value.GetString(); + continue; + } + if (property.NameEquals("accessToken")) + { + accessToken = property.Value.GetString(); + continue; + } + if (property.NameEquals("expirationDateTimeTicks")) + { + expirationDateTimeTicks = property.Value.GetInt64(); + continue; + } + } + return new CopyAuthorizationResult(modelId, accessToken, expirationDateTimeTicks); + } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.cs new file mode 100644 index 00000000..9dac11fa --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyAuthorizationResult.cs @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.AI.FormRecognizer.Models +{ + /// Request parameter that contains authorization claims for copy operation. + public partial class CopyAuthorizationResult + { + /// Initializes a new instance of CopyAuthorizationResult. + /// Model identifier. + /// Token claim used to authorize the request. + /// The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. + public CopyAuthorizationResult(string modelId, string accessToken, long expirationDateTimeTicks) + { + if (modelId == null) + { + throw new ArgumentNullException(nameof(modelId)); + } + if (accessToken == null) + { + throw new ArgumentNullException(nameof(accessToken)); + } + + ModelId = modelId; + AccessToken = accessToken; + ExpirationDateTimeTicks = expirationDateTimeTicks; + } + + /// Model identifier. + public string ModelId { get; set; } + /// Token claim used to authorize the request. + public string AccessToken { get; set; } + /// The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. + public long ExpirationDateTimeTicks { get; set; } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.Serialization.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.Serialization.cs new file mode 100644 index 00000000..19926545 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.Serialization.cs @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Text.Json; +using Azure.Core; + +namespace Azure.AI.FormRecognizer.Models +{ + public partial class CopyOperationResult + { + internal static CopyOperationResult DeserializeCopyOperationResult(JsonElement element) + { + OperationStatus status = default; + DateTimeOffset createdDateTime = default; + DateTimeOffset lastUpdatedDateTime = default; + CopyResult copyResult = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("status")) + { + status = property.Value.GetString().ToOperationStatus(); + continue; + } + if (property.NameEquals("createdDateTime")) + { + createdDateTime = property.Value.GetDateTimeOffset("S"); + continue; + } + if (property.NameEquals("lastUpdatedDateTime")) + { + lastUpdatedDateTime = property.Value.GetDateTimeOffset("S"); + continue; + } + if (property.NameEquals("copyResult")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + copyResult = CopyResult.DeserializeCopyResult(property.Value); + continue; + } + } + return new CopyOperationResult(status, createdDateTime, lastUpdatedDateTime, copyResult); + } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.cs new file mode 100644 index 00000000..6ab52479 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyOperationResult.cs @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.AI.FormRecognizer.Models +{ + /// Status and result of the queued copy operation. + public partial class CopyOperationResult + { + /// Initializes a new instance of CopyOperationResult. + /// Operation status. + /// Date and time (UTC) when the copy operation was submitted. + /// Date and time (UTC) when the status was last updated. + internal CopyOperationResult(OperationStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime) + { + Status = status; + CreatedDateTime = createdDateTime; + LastUpdatedDateTime = lastUpdatedDateTime; + } + + /// Initializes a new instance of CopyOperationResult. + /// Operation status. + /// Date and time (UTC) when the copy operation was submitted. + /// Date and time (UTC) when the status was last updated. + /// Results of the copy operation. + internal CopyOperationResult(OperationStatus status, DateTimeOffset createdDateTime, DateTimeOffset lastUpdatedDateTime, CopyResult copyResult) + { + Status = status; + CreatedDateTime = createdDateTime; + LastUpdatedDateTime = lastUpdatedDateTime; + CopyResult = copyResult; + } + + /// Operation status. + public OperationStatus Status { get; } + /// Date and time (UTC) when the copy operation was submitted. + public DateTimeOffset CreatedDateTime { get; } + /// Date and time (UTC) when the status was last updated. + public DateTimeOffset LastUpdatedDateTime { get; } + /// Results of the copy operation. + public CopyResult CopyResult { get; } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.Serialization.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.Serialization.cs new file mode 100644 index 00000000..a408966d --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.Serialization.cs @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.AI.FormRecognizer.Models +{ + public partial class CopyRequest : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("targetResourceId"); + writer.WriteStringValue(TargetResourceId); + writer.WritePropertyName("targetResourceRegion"); + writer.WriteStringValue(TargetResourceRegion); + writer.WritePropertyName("copyAuthorization"); + writer.WriteObjectValue(CopyAuthorization); + writer.WriteEndObject(); + } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.cs new file mode 100644 index 00000000..8ad81244 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyRequest.cs @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.AI.FormRecognizer.Models +{ + /// Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID. + public partial class CopyRequest + { + /// Initializes a new instance of CopyRequest. + /// Azure Resource Id of the target Form Recognizer resource where the model is copied to. + /// Location of the target Azure resource. A valid Azure region name supported by Cognitive Services. + /// Entity that encodes claims to authorize the copy request. + public CopyRequest(string targetResourceId, string targetResourceRegion, CopyAuthorizationResult copyAuthorization) + { + if (targetResourceId == null) + { + throw new ArgumentNullException(nameof(targetResourceId)); + } + if (targetResourceRegion == null) + { + throw new ArgumentNullException(nameof(targetResourceRegion)); + } + if (copyAuthorization == null) + { + throw new ArgumentNullException(nameof(copyAuthorization)); + } + + TargetResourceId = targetResourceId; + TargetResourceRegion = targetResourceRegion; + CopyAuthorization = copyAuthorization; + } + + /// Azure Resource Id of the target Form Recognizer resource where the model is copied to. + public string TargetResourceId { get; } + /// Location of the target Azure resource. A valid Azure region name supported by Cognitive Services. + public string TargetResourceRegion { get; } + /// Entity that encodes claims to authorize the copy request. + public CopyAuthorizationResult CopyAuthorization { get; } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.Serialization.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.Serialization.cs new file mode 100644 index 00000000..fde11de0 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.Serialization.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.AI.FormRecognizer.Models +{ + public partial class CopyResult + { + internal static CopyResult DeserializeCopyResult(JsonElement element) + { + Guid modelId = default; + IReadOnlyList errors = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("modelId")) + { + modelId = property.Value.GetGuid(); + continue; + } + if (property.NameEquals("errors")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + List array = new List(); + foreach (var item in property.Value.EnumerateArray()) + { + if (item.ValueKind == JsonValueKind.Null) + { + array.Add(null); + } + else + { + array.Add(ErrorInformation.DeserializeErrorInformation(item)); + } + } + errors = array; + continue; + } + } + return new CopyResult(modelId, errors); + } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.cs new file mode 100644 index 00000000..7fa78330 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/CopyResult.cs @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; + +namespace Azure.AI.FormRecognizer.Models +{ + /// Custom model copy result. + public partial class CopyResult + { + /// Initializes a new instance of CopyResult. + /// Identifier of the target model. + internal CopyResult(Guid modelId) + { + ModelId = modelId; + } + + /// Initializes a new instance of CopyResult. + /// Identifier of the target model. + /// Errors returned during the copy operation. + internal CopyResult(Guid modelId, IReadOnlyList errors) + { + ModelId = modelId; + Errors = errors; + } + + /// Identifier of the target model. + public Guid ModelId { get; } + /// Errors returned during the copy operation. + public IReadOnlyList Errors { get; } + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.Serialization.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.Serialization.cs index 5a71d2bb..caea17b1 100644 --- a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.Serialization.cs +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.Serialization.cs @@ -19,7 +19,7 @@ namespace Azure.AI.FormRecognizer.Models FieldValueType type = default; string valueString = default; DateTimeOffset? valueDate = default; - string valueTime = default; + TimeSpan? valueTime = default; string valuePhoneNumber = default; float? valueNumber = default; int? valueInteger = default; @@ -61,7 +61,7 @@ namespace Azure.AI.FormRecognizer.Models { continue; } - valueTime = property.Value.GetString(); + valueTime = property.Value.GetTimeSpan("T"); continue; } if (property.NameEquals("valuePhoneNumber")) diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.cs index 907b8158..ad34db52 100644 --- a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.cs +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/Models/FieldValue.cs @@ -35,7 +35,7 @@ namespace Azure.AI.FormRecognizer.Models /// Confidence score. /// When includeTextDetails is set to true, a list of references to the text elements constituting this field. /// The 1-based page number in the input document. - internal FieldValue(FieldValueType type, string valueString, DateTimeOffset? valueDate, string valueTime, string valuePhoneNumber, float? valueNumber, int? valueInteger, IReadOnlyList valueArray, IReadOnlyDictionary valueObject, string text, IReadOnlyList boundingBox, float? confidence, IReadOnlyList elements, int? page) + internal FieldValue(FieldValueType type, string valueString, DateTimeOffset? valueDate, TimeSpan? valueTime, string valuePhoneNumber, float? valueNumber, int? valueInteger, IReadOnlyList valueArray, IReadOnlyDictionary valueObject, string text, IReadOnlyList boundingBox, float? confidence, IReadOnlyList elements, int? page) { Type = type; ValueString = valueString; @@ -60,7 +60,7 @@ namespace Azure.AI.FormRecognizer.Models /// Date value. public DateTimeOffset? ValueDate { get; } /// Time value. - public string ValueTime { get; } + public TimeSpan? ValueTime { get; } /// Phone number value. public string ValuePhoneNumber { get; } /// Floating point value. diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceClient.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceClient.cs index 59c40cb8..a443632e 100644 --- a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceClient.cs +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceClient.cs @@ -182,6 +182,78 @@ namespace Azure.AI.FormRecognizer } } + /// Obtain current status and the result of a custom model copy operation. + /// Model identifier. + /// Copy operation result identifier. + /// The cancellation token to use. + public virtual async Task> GetCustomModelCopyResultAsync(Guid modelId, Guid resultId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetCustomModelCopyResult"); + scope.Start(); + try + { + return await RestClient.GetCustomModelCopyResultAsync(modelId, resultId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Obtain current status and the result of a custom model copy operation. + /// Model identifier. + /// Copy operation result identifier. + /// The cancellation token to use. + public virtual Response GetCustomModelCopyResult(Guid modelId, Guid resultId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetCustomModelCopyResult"); + scope.Start(); + try + { + return RestClient.GetCustomModelCopyResult(modelId, resultId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Generate authorization to copy a model into the target Form Recognizer resource. + /// The cancellation token to use. + public virtual async Task> GenerateModelCopyAuthorizationAsync(CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ServiceClient.GenerateModelCopyAuthorization"); + scope.Start(); + try + { + return await RestClient.GenerateModelCopyAuthorizationAsync(cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Generate authorization to copy a model into the target Form Recognizer resource. + /// The cancellation token to use. + public virtual Response GenerateModelCopyAuthorization(CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ServiceClient.GenerateModelCopyAuthorization"); + scope.Start(); + try + { + return RestClient.GenerateModelCopyAuthorization(cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + /// Track the progress and obtain the result of the analyze receipt operation. /// Analyze operation result identifier. /// The cancellation token to use. @@ -475,6 +547,73 @@ namespace Azure.AI.FormRecognizer } } + /// Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + /// The original response from starting the operation. + /// Creates the HTTP message used for the original request. + internal Operation CreateCopyCustomModel(Response originalResponse, Func createOriginalHttpMessage) + { + if (originalResponse == null) + { + throw new ArgumentNullException(nameof(originalResponse)); + } + if (createOriginalHttpMessage == null) + { + throw new ArgumentNullException(nameof(createOriginalHttpMessage)); + } + + return ArmOperationHelpers.Create(_pipeline, _clientDiagnostics, originalResponse, RequestMethod.Post, "ServiceClient.StartCopyCustomModel", OperationFinalStateVia.Location, createOriginalHttpMessage); + } + + /// Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + /// Model identifier. + /// Copy request parameters. + /// The cancellation token to use. + public virtual async ValueTask> StartCopyCustomModelAsync(Guid modelId, CopyRequest copyRequest, CancellationToken cancellationToken = default) + { + if (copyRequest == null) + { + throw new ArgumentNullException(nameof(copyRequest)); + } + + using var scope = _clientDiagnostics.CreateScope("ServiceClient.StartCopyCustomModel"); + scope.Start(); + try + { + var originalResponse = await RestClient.CopyCustomModelAsync(modelId, copyRequest, cancellationToken).ConfigureAwait(false); + return CreateCopyCustomModel(originalResponse, () => RestClient.CreateCopyCustomModelRequest(modelId, copyRequest)); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + /// Model identifier. + /// Copy request parameters. + /// The cancellation token to use. + public virtual Operation StartCopyCustomModel(Guid modelId, CopyRequest copyRequest, CancellationToken cancellationToken = default) + { + if (copyRequest == null) + { + throw new ArgumentNullException(nameof(copyRequest)); + } + + using var scope = _clientDiagnostics.CreateScope("ServiceClient.StartCopyCustomModel"); + scope.Start(); + try + { + var originalResponse = RestClient.CopyCustomModel(modelId, copyRequest, cancellationToken); + return CreateCopyCustomModel(originalResponse, () => RestClient.CreateCopyCustomModelRequest(modelId, copyRequest)); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + /// Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed. /// The original response from starting the operation. /// Creates the HTTP message used for the original request. diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceGenerateModelCopyAuthorizationHeaders.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceGenerateModelCopyAuthorizationHeaders.cs new file mode 100644 index 00000000..7cf28df1 --- /dev/null +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceGenerateModelCopyAuthorizationHeaders.cs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using Azure; +using Azure.Core; + +namespace Azure.AI.FormRecognizer +{ + internal class ServiceGenerateModelCopyAuthorizationHeaders + { + private readonly Response _response; + public ServiceGenerateModelCopyAuthorizationHeaders(Response response) + { + _response = response; + } + public string Location => _response.Headers.TryGetValue("Location", out string value) ? value : null; + } +} diff --git a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceRestClient.cs b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceRestClient.cs index 8ec6a2a0..a49e20dc 100644 --- a/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceRestClient.cs +++ b/samples/Azure.AI.FormRecognizer/Azure.AI.FormRecognizer/Generated/ServiceRestClient.cs @@ -424,6 +424,212 @@ namespace Azure.AI.FormRecognizer } } + internal HttpMessage CreateCopyCustomModelRequest(Guid modelId, CopyRequest copyRequest) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(endpoint, false); + uri.AppendRaw("/formrecognizer/v2.0-preview", false); + uri.AppendPath("/custom/models/", false); + uri.AppendPath(modelId, true); + uri.AppendPath("/copy", false); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/json"); + using var content = new Utf8JsonRequestContent(); + content.JsonWriter.WriteObjectValue(copyRequest); + request.Content = content; + return message; + } + + /// Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + /// Model identifier. + /// Copy request parameters. + /// The cancellation token to use. + public async ValueTask CopyCustomModelAsync(Guid modelId, CopyRequest copyRequest, CancellationToken cancellationToken = default) + { + if (copyRequest == null) + { + throw new ArgumentNullException(nameof(copyRequest)); + } + + using var message = CreateCopyCustomModelRequest(modelId, copyRequest); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource. + /// Model identifier. + /// Copy request parameters. + /// The cancellation token to use. + public Response CopyCustomModel(Guid modelId, CopyRequest copyRequest, CancellationToken cancellationToken = default) + { + if (copyRequest == null) + { + throw new ArgumentNullException(nameof(copyRequest)); + } + + using var message = CreateCopyCustomModelRequest(modelId, copyRequest); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCustomModelCopyResultRequest(Guid modelId, Guid resultId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(endpoint, false); + uri.AppendRaw("/formrecognizer/v2.0-preview", false); + uri.AppendPath("/custom/models/", false); + uri.AppendPath(modelId, true); + uri.AppendPath("/copyResults/", false); + uri.AppendPath(resultId, true); + request.Uri = uri; + return message; + } + + /// Obtain current status and the result of a custom model copy operation. + /// Model identifier. + /// Copy operation result identifier. + /// The cancellation token to use. + public async ValueTask> GetCustomModelCopyResultAsync(Guid modelId, Guid resultId, CancellationToken cancellationToken = default) + { + using var message = CreateGetCustomModelCopyResultRequest(modelId, resultId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + { + CopyOperationResult value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = CopyOperationResult.DeserializeCopyOperationResult(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Obtain current status and the result of a custom model copy operation. + /// Model identifier. + /// Copy operation result identifier. + /// The cancellation token to use. + public Response GetCustomModelCopyResult(Guid modelId, Guid resultId, CancellationToken cancellationToken = default) + { + using var message = CreateGetCustomModelCopyResultRequest(modelId, resultId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + { + CopyOperationResult value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = CopyOperationResult.DeserializeCopyOperationResult(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGenerateModelCopyAuthorizationRequest() + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(endpoint, false); + uri.AppendRaw("/formrecognizer/v2.0-preview", false); + uri.AppendPath("/custom/models/copyAuthorization", false); + request.Uri = uri; + return message; + } + + /// Generate authorization to copy a model into the target Form Recognizer resource. + /// The cancellation token to use. + public async ValueTask> GenerateModelCopyAuthorizationAsync(CancellationToken cancellationToken = default) + { + using var message = CreateGenerateModelCopyAuthorizationRequest(); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + var headers = new ServiceGenerateModelCopyAuthorizationHeaders(message.Response); + switch (message.Response.Status) + { + case 201: + { + CopyAuthorizationResult value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = CopyAuthorizationResult.DeserializeCopyAuthorizationResult(document.RootElement); + } + return ResponseWithHeaders.FromValue(value, headers, message.Response); + } + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Generate authorization to copy a model into the target Form Recognizer resource. + /// The cancellation token to use. + public ResponseWithHeaders GenerateModelCopyAuthorization(CancellationToken cancellationToken = default) + { + using var message = CreateGenerateModelCopyAuthorizationRequest(); + _pipeline.Send(message, cancellationToken); + var headers = new ServiceGenerateModelCopyAuthorizationHeaders(message.Response); + switch (message.Response.Status) + { + case 201: + { + CopyAuthorizationResult value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = CopyAuthorizationResult.DeserializeCopyAuthorizationResult(document.RootElement); + } + return ResponseWithHeaders.FromValue(value, headers, message.Response); + } + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + internal HttpMessage CreateAnalyzeReceiptAsyncRequest(ContentType contentType, Stream fileStream, bool? includeTextDetails) { var message = _pipeline.CreateMessage(); diff --git a/samples/Azure.AI.FormRecognizer/readme.md b/samples/Azure.AI.FormRecognizer/readme.md index 6d805923..17abb5c9 100644 --- a/samples/Azure.AI.FormRecognizer/readme.md +++ b/samples/Azure.AI.FormRecognizer/readme.md @@ -5,6 +5,6 @@ ``` yaml title: Azure.AI.FormRecognizer require: $(this-folder)/../../readme.md -input-file: https://github.com/Azure/azure-rest-api-specs/blob/e85973ba39a347f0a6af2ded7c19d20b74f9bdb5/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json +input-file: https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.0/FormRecognizer.json namespace: Azure.AI.FormRecognizer -``` \ No newline at end of file +``` diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/CodeModel.yaml b/samples/Azure.Management.Storage/Azure.Management.Storage/CodeModel.yaml index db9fb4b2..b57d3c42 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/CodeModel.yaml +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/CodeModel.yaml @@ -4,35 +4,35 @@ info: ! title: StorageManagementClient schemas: ! booleans: - - ! &ref_49 + - ! &ref_59 type: boolean language: ! default: name: Boolean description: Indicates whether DeleteRetentionPolicy is enabled. protocol: ! {} - - ! &ref_158 + - ! &ref_181 type: boolean language: ! default: name: Boolean description: Versioning is enabled if set to true. protocol: ! {} - - ! &ref_159 + - ! &ref_182 type: boolean language: ! default: name: Boolean description: Deprecated in favor of isVersioningEnabled property. protocol: ! {} - - ! &ref_160 + - ! &ref_183 type: boolean language: ! default: name: Boolean description: Indicates whether change feed event logging is enabled for the Blob service. protocol: ! {} - - ! &ref_161 + - ! &ref_184 type: boolean language: ! default: @@ -73,84 +73,91 @@ schemas: ! The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container. protocol: ! {} - - ! &ref_196 + - ! &ref_39 + type: boolean + language: ! + default: + name: Boolean + description: Indicates whether the share was deleted. + protocol: ! {} + - ! &ref_221 type: boolean language: ! default: name: Boolean description: The property to decide fill gap with zero or not. protocol: ! {} - - ! &ref_216 + - ! &ref_241 type: boolean language: ! default: name: Boolean description: 'Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used.' protocol: ! {} - - ! &ref_80 + - ! &ref_90 type: boolean language: ! default: name: Boolean description: Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates. protocol: ! {} - - ! &ref_82 + - ! &ref_92 type: boolean language: ! default: name: Boolean description: A boolean indicating whether or not the service encrypts the data as it is stored. protocol: ! {} - - ! &ref_226 + - ! &ref_251 type: boolean language: ! default: name: EnableHttpsTrafficOnly description: Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01. protocol: ! {} - - ! &ref_107 + - ! &ref_117 type: boolean language: ! default: name: IsHnsEnabled description: Account HierarchicalNamespace enabled if sets to true. protocol: ! {} - - ! &ref_119 + - ! &ref_129 type: boolean language: ! default: name: Boolean description: A boolean flag which indicates whether microsoft routing storage endpoints are to be published protocol: ! {} - - ! &ref_120 + - ! &ref_130 type: boolean language: ! default: name: Boolean description: A boolean flag which indicates whether internet routing storage endpoints are to be published protocol: ! {} - - ! &ref_100 + - ! &ref_110 type: boolean language: ! default: name: EnableHttpsTrafficOnly description: Allows https traffic only to storage service if sets to true. protocol: ! {} - - ! &ref_110 + - ! &ref_120 type: boolean language: ! default: name: Boolean description: A boolean flag which indicates whether or not account failover is supported for the account. protocol: ! {} - - ! &ref_111 + - ! &ref_121 type: boolean language: ! default: name: FailoverInProgress description: 'If the failover is in progress, the value will be true, otherwise, it will be null.' protocol: ! {} - - ! &ref_132 + - ! &ref_142 type: boolean language: ! default: @@ -158,7 +165,7 @@ schemas: ! description: Rule is enabled if set to true. protocol: ! {} numbers: - - ! &ref_46 + - ! &ref_56 type: integer precision: 32 language: ! @@ -166,7 +173,7 @@ schemas: ! name: Integer description: Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response. protocol: ! {} - - ! &ref_50 + - ! &ref_60 type: integer maximum: 365 minimum: 1 @@ -176,7 +183,7 @@ schemas: ! name: Integer description: Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and the maximum value can be 365. protocol: ! {} - - ! &ref_162 + - ! &ref_185 type: integer maximum: 365 minimum: 1 @@ -194,7 +201,7 @@ schemas: ! name: Integer description: 'The immutability period for the blobs in the container since the policy creation, in days.' protocol: ! {} - - ! &ref_173 + - ! &ref_196 type: integer precision: 32 language: ! @@ -202,7 +209,7 @@ schemas: ! name: Integer description: 'Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.' protocol: ! {} - - ! &ref_174 + - ! &ref_197 type: integer precision: 32 language: ! @@ -220,7 +227,23 @@ schemas: ! name: Integer description: 'The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.' protocol: ! {} - - ! &ref_249 + - ! &ref_41 + type: integer + precision: 32 + language: ! + default: + name: Integer + description: Remaining retention days for share that was soft deleted. + protocol: ! {} + - ! &ref_45 + type: integer + precision: 32 + language: ! + default: + name: Integer + description: The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + protocol: ! {} + - ! &ref_274 type: integer precision: 32 language: ! @@ -228,7 +251,7 @@ schemas: ! name: Integer description: Gets the current count of the allocated resources in the subscription. protocol: ! {} - - ! &ref_250 + - ! &ref_275 type: integer precision: 32 language: ! @@ -236,7 +259,7 @@ schemas: ! name: Integer description: Gets the maximum count of the resources that can be allocated in the subscription. protocol: ! {} - - ! &ref_135 + - ! &ref_145 type: number minimum: 0 multipleOf: 1 @@ -246,7 +269,7 @@ schemas: ! name: Number description: Value indicating the age in days after last modification protocol: ! {} - - ! &ref_137 + - ! &ref_147 type: number minimum: 0 multipleOf: 1 @@ -264,7 +287,7 @@ schemas: ! name: String description: simple string protocol: ! {} - - ! &ref_328 + - ! &ref_360 type: string apiVersions: - ! @@ -277,7 +300,7 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_329 + - ! &ref_361 type: string apiVersions: - ! @@ -289,7 +312,7 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_325 + - ! &ref_357 type: string apiVersions: - ! @@ -300,7 +323,7 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_152 + - ! &ref_175 type: string apiVersions: - ! @@ -310,7 +333,7 @@ schemas: ! name: ResourceId description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' protocol: ! {} - - ! &ref_153 + - ! &ref_176 type: string apiVersions: - ! @@ -320,7 +343,7 @@ schemas: ! name: ResourceName description: The name of the resource protocol: ! {} - - ! &ref_154 + - ! &ref_177 type: string apiVersions: - ! @@ -330,7 +353,7 @@ schemas: ! name: ResourceType description: The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. protocol: ! {} - - ! &ref_44 + - ! &ref_54 type: string apiVersions: - ! @@ -340,7 +363,7 @@ schemas: ! name: CorsRuleAllowedOriginsItem description: '' protocol: ! {} - - ! &ref_47 + - ! &ref_57 type: string apiVersions: - ! @@ -350,7 +373,7 @@ schemas: ! name: CorsRuleExposedHeadersItem description: '' protocol: ! {} - - ! &ref_48 + - ! &ref_58 type: string apiVersions: - ! @@ -360,7 +383,7 @@ schemas: ! name: CorsRuleAllowedHeadersItem description: '' protocol: ! {} - - ! &ref_156 + - ! &ref_179 type: string apiVersions: - ! @@ -381,7 +404,7 @@ schemas: ! description: '' header: ETag protocol: ! {} - - ! &ref_41 + - ! &ref_51 type: string apiVersions: - ! @@ -481,7 +504,7 @@ schemas: ! name: TagPropertyUpn description: Returns the User Principal Name of the user who added the tag. protocol: ! {} - - ! &ref_167 + - ! &ref_190 type: string apiVersions: - ! @@ -491,7 +514,7 @@ schemas: ! name: ListContainerItemsNextLink description: Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size. protocol: ! {} - - ! &ref_347 + - ! &ref_379 type: string apiVersions: - ! @@ -503,7 +526,7 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_170 + - ! &ref_193 type: string apiVersions: - ! @@ -515,7 +538,7 @@ schemas: ! name: LegalHoldTagsItem description: '' protocol: ! {} - - ! &ref_383 + - ! &ref_415 type: string apiVersions: - ! @@ -526,7 +549,7 @@ schemas: ! description: '' header: ETag protocol: ! {} - - ! &ref_388 + - ! &ref_420 type: string apiVersions: - ! @@ -537,7 +560,7 @@ schemas: ! description: '' header: ETag protocol: ! {} - - ! &ref_393 + - ! &ref_425 type: string apiVersions: - ! @@ -548,7 +571,7 @@ schemas: ! description: '' header: ETag protocol: ! {} - - ! &ref_398 + - ! &ref_430 type: string apiVersions: - ! @@ -559,7 +582,7 @@ schemas: ! description: '' header: ETag protocol: ! {} - - ! &ref_172 + - ! &ref_195 type: string apiVersions: - ! @@ -569,7 +592,7 @@ schemas: ! name: LeaseContainerRequestLeaseId description: Identifies the lease. Can be specified in any valid GUID string format. protocol: ! {} - - ! &ref_175 + - ! &ref_198 type: string apiVersions: - ! @@ -579,7 +602,7 @@ schemas: ! name: LeaseContainerRequestProposedLeaseId description: 'Optional for acquire, required for change. Proposed lease ID, in a GUID string format.' protocol: ! {} - - ! &ref_176 + - ! &ref_199 type: string apiVersions: - ! @@ -589,7 +612,7 @@ schemas: ! name: LeaseContainerResponseLeaseId description: 'Returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.' protocol: ! {} - - ! &ref_177 + - ! &ref_200 type: string apiVersions: - ! @@ -599,7 +622,7 @@ schemas: ! name: LeaseContainerResponseLeaseTimeSeconds description: 'Approximate time remaining in the lease period, in seconds.' protocol: ! {} - - ! &ref_178 + - ! &ref_201 type: string apiVersions: - ! @@ -609,7 +632,7 @@ schemas: ! name: CloudErrorBodyCode description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. protocol: ! {} - - ! &ref_179 + - ! &ref_202 type: string apiVersions: - ! @@ -619,7 +642,7 @@ schemas: ! name: CloudErrorBodyMessage description: 'A message describing the error, intended to be suitable for display in a user interface.' protocol: ! {} - - ! &ref_180 + - ! &ref_203 type: string apiVersions: - ! @@ -639,7 +662,27 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_182 + - ! &ref_38 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: FileSharePropertiesVersion + description: The version of the share. + protocol: ! {} + - ! &ref_44 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: FileSharePropertiesAccessTierStatus + description: Indicates if there is a pending transition for access tier. + protocol: ! {} + - ! &ref_205 type: string apiVersions: - ! @@ -649,7 +692,27 @@ schemas: ! name: FileShareItemsNextLink description: Request URL that can be used to query next page of shares. Returned when total number of requested shares exceed maximum page size. protocol: ! {} - - ! &ref_183 + - ! &ref_206 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: DeletedShareName + description: Required. Identify the name of the deleted share that will be restored. + protocol: ! {} + - ! &ref_207 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: DeletedShareVersion + description: Required. Identify the version of the deleted share that will be restored. + protocol: ! {} + - ! &ref_208 type: string apiVersions: - ! @@ -659,7 +722,7 @@ schemas: ! name: OperationName description: 'Operation name: {provider}/{resource}/{operation}' protocol: ! {} - - ! &ref_184 + - ! &ref_209 type: string apiVersions: - ! @@ -669,7 +732,7 @@ schemas: ! name: OperationDisplayProvider description: 'Service provider: Microsoft Storage.' protocol: ! {} - - ! &ref_185 + - ! &ref_210 type: string apiVersions: - ! @@ -679,7 +742,7 @@ schemas: ! name: OperationDisplayResource description: Resource on which the operation is performed etc. protocol: ! {} - - ! &ref_186 + - ! &ref_211 type: string apiVersions: - ! @@ -689,7 +752,7 @@ schemas: ! name: OperationDisplayOperation description: 'Type of operation: get, read, delete, etc.' protocol: ! {} - - ! &ref_187 + - ! &ref_212 type: string apiVersions: - ! @@ -699,7 +762,7 @@ schemas: ! name: OperationDisplayDescription description: Description of the operation. protocol: ! {} - - ! &ref_188 + - ! &ref_213 type: string apiVersions: - ! @@ -709,7 +772,7 @@ schemas: ! name: OperationOrigin description: The origin of operations. protocol: ! {} - - ! &ref_189 + - ! &ref_214 type: string apiVersions: - ! @@ -719,7 +782,7 @@ schemas: ! name: MetricSpecificationName description: Name of metric specification. protocol: ! {} - - ! &ref_190 + - ! &ref_215 type: string apiVersions: - ! @@ -729,7 +792,7 @@ schemas: ! name: MetricSpecificationDisplayName description: Display name of metric specification. protocol: ! {} - - ! &ref_191 + - ! &ref_216 type: string apiVersions: - ! @@ -739,7 +802,7 @@ schemas: ! name: MetricSpecificationDisplayDescription description: Display description of metric specification. protocol: ! {} - - ! &ref_192 + - ! &ref_217 type: string apiVersions: - ! @@ -749,7 +812,7 @@ schemas: ! name: MetricSpecificationUnit description: Unit could be Bytes or Count. protocol: ! {} - - ! &ref_193 + - ! &ref_218 type: string apiVersions: - ! @@ -759,7 +822,7 @@ schemas: ! name: DimensionName description: Display name of dimension. protocol: ! {} - - ! &ref_194 + - ! &ref_219 type: string apiVersions: - ! @@ -769,7 +832,7 @@ schemas: ! name: DimensionDisplayName description: Display name of dimension. protocol: ! {} - - ! &ref_195 + - ! &ref_220 type: string apiVersions: - ! @@ -779,7 +842,7 @@ schemas: ! name: MetricSpecificationAggregationType description: Aggregation type could be Average. protocol: ! {} - - ! &ref_197 + - ! &ref_222 type: string apiVersions: - ! @@ -789,7 +852,7 @@ schemas: ! name: MetricSpecificationCategory description: 'The category this metric specification belong to, could be Capacity.' protocol: ! {} - - ! &ref_198 + - ! &ref_223 type: string apiVersions: - ! @@ -799,7 +862,7 @@ schemas: ! name: MetricSpecificationResourceIdDimensionNameOverride description: Account Resource Id. protocol: ! {} - - ! &ref_204 + - ! &ref_229 type: string apiVersions: - ! @@ -809,7 +872,7 @@ schemas: ! name: SkuInformationResourceType description: 'The type of the resource, usually it is ''storageAccounts''.' protocol: ! {} - - ! &ref_205 + - ! &ref_230 type: string apiVersions: - ! @@ -819,7 +882,7 @@ schemas: ! name: SkuInformationLocationsItem description: '' protocol: ! {} - - ! &ref_206 + - ! &ref_231 type: string apiVersions: - ! @@ -829,7 +892,7 @@ schemas: ! name: SKUCapabilityName description: 'The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc.' protocol: ! {} - - ! &ref_207 + - ! &ref_232 type: string apiVersions: - ! @@ -839,7 +902,7 @@ schemas: ! name: SKUCapabilityValue description: A string value to indicate states of given capability. Possibly 'true' or 'false'. protocol: ! {} - - ! &ref_208 + - ! &ref_233 type: string apiVersions: - ! @@ -849,7 +912,7 @@ schemas: ! name: RestrictionType description: The type of restrictions. As of now only possible value for this is location. protocol: ! {} - - ! &ref_209 + - ! &ref_234 type: string apiVersions: - ! @@ -859,7 +922,7 @@ schemas: ! name: RestrictionValuesItem description: '' protocol: ! {} - - ! &ref_214 + - ! &ref_239 type: string apiVersions: - ! @@ -869,7 +932,7 @@ schemas: ! name: StorageAccountCheckNameAvailabilityParametersName description: The storage account name. protocol: ! {} - - ! &ref_218 + - ! &ref_243 type: string apiVersions: - ! @@ -879,7 +942,7 @@ schemas: ! name: CheckNameAvailabilityResultMessage description: Gets an error message explaining the Reason value in more detail. protocol: ! {} - - ! &ref_219 + - ! &ref_244 type: string apiVersions: - ! @@ -891,7 +954,7 @@ schemas: ! Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed. protocol: ! {} - - ! &ref_54 + - ! &ref_64 type: string apiVersions: - ! @@ -901,7 +964,7 @@ schemas: ! name: IdentityPrincipalId description: The principal ID of resource identity. protocol: ! {} - - ! &ref_55 + - ! &ref_65 type: string apiVersions: - ! @@ -911,7 +974,7 @@ schemas: ! name: IdentityTenantId description: The tenant ID of resource. protocol: ! {} - - ! &ref_79 + - ! &ref_89 type: string apiVersions: - ! @@ -921,7 +984,7 @@ schemas: ! name: CustomDomainName description: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source. protocol: ! {} - - ! &ref_87 + - ! &ref_97 type: string apiVersions: - ! @@ -931,7 +994,7 @@ schemas: ! name: KeyName description: The name of KeyVault key. protocol: ! {} - - ! &ref_88 + - ! &ref_98 type: string apiVersions: - ! @@ -941,7 +1004,7 @@ schemas: ! name: KeyVersion description: The version of KeyVault key. protocol: ! {} - - ! &ref_89 + - ! &ref_99 type: string apiVersions: - ! @@ -951,7 +1014,7 @@ schemas: ! name: KeyVaultUri description: The Uri of KeyVault. protocol: ! {} - - ! &ref_90 + - ! &ref_100 type: string apiVersions: - ! @@ -961,7 +1024,7 @@ schemas: ! name: CurrentVersionedKeyIdentifier description: The object identifier of the current versioned Key Vault Key in use. protocol: ! {} - - ! &ref_102 + - ! &ref_112 type: string apiVersions: - ! @@ -971,7 +1034,7 @@ schemas: ! name: VirtualNetworkResourceId description: 'Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.' protocol: ! {} - - ! &ref_105 + - ! &ref_115 type: string apiVersions: - ! @@ -981,7 +1044,7 @@ schemas: ! name: IPAddressOrRange description: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. protocol: ! {} - - ! &ref_94 + - ! &ref_104 type: string apiVersions: - ! @@ -991,7 +1054,7 @@ schemas: ! name: ActiveDirectoryPropertiesDomainName description: Specifies the primary domain that the AD DNS server is authoritative for. protocol: ! {} - - ! &ref_95 + - ! &ref_105 type: string apiVersions: - ! @@ -1001,7 +1064,7 @@ schemas: ! name: ActiveDirectoryPropertiesNetBiosDomainName description: Specifies the NetBIOS domain name. protocol: ! {} - - ! &ref_96 + - ! &ref_106 type: string apiVersions: - ! @@ -1011,7 +1074,7 @@ schemas: ! name: ActiveDirectoryPropertiesForestName description: Specifies the Active Directory forest to get. protocol: ! {} - - ! &ref_97 + - ! &ref_107 type: string apiVersions: - ! @@ -1021,7 +1084,7 @@ schemas: ! name: ActiveDirectoryPropertiesDomainGuid description: Specifies the domain GUID. protocol: ! {} - - ! &ref_98 + - ! &ref_108 type: string apiVersions: - ! @@ -1031,7 +1094,7 @@ schemas: ! name: ActiveDirectoryPropertiesDomainSid description: Specifies the security identifier (SID). protocol: ! {} - - ! &ref_99 + - ! &ref_109 type: string apiVersions: - ! @@ -1051,7 +1114,7 @@ schemas: ! name: String description: '' protocol: ! {} - - ! &ref_129 + - ! &ref_139 type: string apiVersions: - ! @@ -1065,7 +1128,7 @@ schemas: ! name: TrackedResourceLocation description: The geo-location where the resource lives protocol: ! {} - - ! &ref_58 + - ! &ref_68 type: string apiVersions: - ! @@ -1075,7 +1138,7 @@ schemas: ! name: EndpointsBlob description: Gets the blob endpoint. protocol: ! {} - - ! &ref_59 + - ! &ref_69 type: string apiVersions: - ! @@ -1085,7 +1148,7 @@ schemas: ! name: EndpointsQueue description: Gets the queue endpoint. protocol: ! {} - - ! &ref_60 + - ! &ref_70 type: string apiVersions: - ! @@ -1095,7 +1158,7 @@ schemas: ! name: EndpointsTable description: Gets the table endpoint. protocol: ! {} - - ! &ref_61 + - ! &ref_71 type: string apiVersions: - ! @@ -1105,7 +1168,7 @@ schemas: ! name: EndpointsFile description: Gets the file endpoint. protocol: ! {} - - ! &ref_62 + - ! &ref_72 type: string apiVersions: - ! @@ -1115,7 +1178,7 @@ schemas: ! name: EndpointsWeb description: Gets the web endpoint. protocol: ! {} - - ! &ref_63 + - ! &ref_73 type: string apiVersions: - ! @@ -1125,7 +1188,7 @@ schemas: ! name: EndpointsDfs description: Gets the dfs endpoint. protocol: ! {} - - ! &ref_64 + - ! &ref_74 type: string apiVersions: - ! @@ -1135,7 +1198,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsBlob description: Gets the blob endpoint. protocol: ! {} - - ! &ref_65 + - ! &ref_75 type: string apiVersions: - ! @@ -1145,7 +1208,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsQueue description: Gets the queue endpoint. protocol: ! {} - - ! &ref_66 + - ! &ref_76 type: string apiVersions: - ! @@ -1155,7 +1218,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsTable description: Gets the table endpoint. protocol: ! {} - - ! &ref_67 + - ! &ref_77 type: string apiVersions: - ! @@ -1165,7 +1228,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsFile description: Gets the file endpoint. protocol: ! {} - - ! &ref_68 + - ! &ref_78 type: string apiVersions: - ! @@ -1175,7 +1238,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsWeb description: Gets the web endpoint. protocol: ! {} - - ! &ref_69 + - ! &ref_79 type: string apiVersions: - ! @@ -1185,7 +1248,7 @@ schemas: ! name: StorageAccountMicrosoftEndpointsDfs description: Gets the dfs endpoint. protocol: ! {} - - ! &ref_70 + - ! &ref_80 type: string apiVersions: - ! @@ -1195,7 +1258,7 @@ schemas: ! name: StorageAccountInternetEndpointsBlob description: Gets the blob endpoint. protocol: ! {} - - ! &ref_71 + - ! &ref_81 type: string apiVersions: - ! @@ -1205,7 +1268,7 @@ schemas: ! name: StorageAccountInternetEndpointsFile description: Gets the file endpoint. protocol: ! {} - - ! &ref_72 + - ! &ref_82 type: string apiVersions: - ! @@ -1215,7 +1278,7 @@ schemas: ! name: StorageAccountInternetEndpointsWeb description: Gets the web endpoint. protocol: ! {} - - ! &ref_73 + - ! &ref_83 type: string apiVersions: - ! @@ -1225,7 +1288,7 @@ schemas: ! name: StorageAccountInternetEndpointsDfs description: Gets the dfs endpoint. protocol: ! {} - - ! &ref_74 + - ! &ref_84 type: string apiVersions: - ! @@ -1235,7 +1298,7 @@ schemas: ! name: StorageAccountPropertiesPrimaryLocation description: Gets the location of the primary data center for the storage account. protocol: ! {} - - ! &ref_77 + - ! &ref_87 type: string apiVersions: - ! @@ -1245,7 +1308,7 @@ schemas: ! name: StorageAccountPropertiesSecondaryLocation description: Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS. protocol: ! {} - - ! &ref_113 + - ! &ref_123 type: string apiVersions: - ! @@ -1255,7 +1318,7 @@ schemas: ! name: PrivateEndpointId description: The ARM identifier for Private Endpoint protocol: ! {} - - ! &ref_115 + - ! &ref_125 type: string apiVersions: - ! @@ -1265,7 +1328,7 @@ schemas: ! name: PrivateLinkServiceConnectionStateDescription description: The reason for approval/rejection of the connection. protocol: ! {} - - ! &ref_116 + - ! &ref_126 type: string apiVersions: - ! @@ -1275,7 +1338,7 @@ schemas: ! name: PrivateLinkServiceConnectionStateActionRequired description: A message indicating if changes on the service provider require any updates on the consumer. protocol: ! {} - - ! &ref_122 + - ! &ref_132 type: string apiVersions: - ! @@ -1285,7 +1348,7 @@ schemas: ! name: BlobRestoreStatusFailureReason description: Failure reason when blob restore is failed. protocol: ! {} - - ! &ref_123 + - ! &ref_133 type: string apiVersions: - ! @@ -1295,7 +1358,7 @@ schemas: ! name: BlobRestoreStatusRestoreId description: Id for tracking blob restore request. protocol: ! {} - - ! &ref_125 + - ! &ref_135 type: string apiVersions: - ! @@ -1305,7 +1368,7 @@ schemas: ! name: BlobRestoreRangeStartRange description: Blob start range. This is inclusive. Empty means account start. protocol: ! {} - - ! &ref_126 + - ! &ref_136 type: string apiVersions: - ! @@ -1315,7 +1378,7 @@ schemas: ! name: BlobRestoreRangeEndRange description: Blob end range. This is exclusive. Empty means account end. protocol: ! {} - - ! &ref_242 + - ! &ref_267 type: string apiVersions: - ! @@ -1325,7 +1388,7 @@ schemas: ! name: StorageAccountListResultNextLink description: Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size. protocol: ! {} - - ! &ref_243 + - ! &ref_268 type: string apiVersions: - ! @@ -1335,7 +1398,7 @@ schemas: ! name: StorageAccountKeyName description: Name of the key. protocol: ! {} - - ! &ref_244 + - ! &ref_269 type: string apiVersions: - ! @@ -1345,7 +1408,7 @@ schemas: ! name: StorageAccountKeyValue description: Base 64-encoded value of the key. protocol: ! {} - - ! &ref_247 + - ! &ref_272 type: string apiVersions: - ! @@ -1355,7 +1418,7 @@ schemas: ! name: StorageAccountRegenerateKeyParametersKeyName description: 'The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.' protocol: ! {} - - ! &ref_251 + - ! &ref_276 type: string apiVersions: - ! @@ -1365,7 +1428,7 @@ schemas: ! name: UsageNameValue description: Gets a string describing the resource name. protocol: ! {} - - ! &ref_252 + - ! &ref_277 type: string apiVersions: - ! @@ -1375,7 +1438,7 @@ schemas: ! name: UsageNameLocalizedValue description: Gets a localized string describing the resource name. protocol: ! {} - - ! &ref_258 + - ! &ref_283 type: string apiVersions: - ! @@ -1385,7 +1448,7 @@ schemas: ! name: IPAddressOrRange description: An IP address or a range of IP addresses from which to accept requests. protocol: ! {} - - ! &ref_262 + - ! &ref_287 type: string apiVersions: - ! @@ -1395,7 +1458,7 @@ schemas: ! name: AccountSasParametersKeyToSign description: The key to sign the account SAS token with. protocol: ! {} - - ! &ref_263 + - ! &ref_288 type: string apiVersions: - ! @@ -1405,7 +1468,7 @@ schemas: ! name: ListAccountSasResponseAccountSasToken description: List SAS credentials of storage account. protocol: ! {} - - ! &ref_264 + - ! &ref_289 type: string apiVersions: - ! @@ -1415,7 +1478,7 @@ schemas: ! name: ServiceSasParametersCanonicalizedResource description: The canonical path to the signed resource. protocol: ! {} - - ! &ref_266 + - ! &ref_291 type: string apiVersions: - ! @@ -1426,7 +1489,7 @@ schemas: ! name: Identifier description: 'A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table.' protocol: ! {} - - ! &ref_267 + - ! &ref_292 type: string apiVersions: - ! @@ -1436,7 +1499,7 @@ schemas: ! name: PartitionKeyStart description: The start of partition key. protocol: ! {} - - ! &ref_268 + - ! &ref_293 type: string apiVersions: - ! @@ -1446,7 +1509,7 @@ schemas: ! name: PartitionKeyEnd description: The end of partition key. protocol: ! {} - - ! &ref_269 + - ! &ref_294 type: string apiVersions: - ! @@ -1456,7 +1519,7 @@ schemas: ! name: RowKeyStart description: The start of row key. protocol: ! {} - - ! &ref_270 + - ! &ref_295 type: string apiVersions: - ! @@ -1466,7 +1529,7 @@ schemas: ! name: RowKeyEnd description: The end of row key. protocol: ! {} - - ! &ref_271 + - ! &ref_296 type: string apiVersions: - ! @@ -1476,7 +1539,7 @@ schemas: ! name: ServiceSasParametersKeyToSign description: The key to sign the account SAS token with. protocol: ! {} - - ! &ref_272 + - ! &ref_297 type: string apiVersions: - ! @@ -1486,7 +1549,7 @@ schemas: ! name: CacheControl description: The response header override for cache control. protocol: ! {} - - ! &ref_273 + - ! &ref_298 type: string apiVersions: - ! @@ -1496,7 +1559,7 @@ schemas: ! name: ContentDisposition description: The response header override for content disposition. protocol: ! {} - - ! &ref_274 + - ! &ref_299 type: string apiVersions: - ! @@ -1506,7 +1569,7 @@ schemas: ! name: ContentEncoding description: The response header override for content encoding. protocol: ! {} - - ! &ref_275 + - ! &ref_300 type: string apiVersions: - ! @@ -1516,7 +1579,7 @@ schemas: ! name: ContentLanguage description: The response header override for content language. protocol: ! {} - - ! &ref_276 + - ! &ref_301 type: string apiVersions: - ! @@ -1526,7 +1589,7 @@ schemas: ! name: ContentType description: The response header override for content type. protocol: ! {} - - ! &ref_277 + - ! &ref_302 type: string apiVersions: - ! @@ -1536,7 +1599,7 @@ schemas: ! name: ListServiceSasResponseServiceSasToken description: List service SAS credentials of specific resource. protocol: ! {} - - ! &ref_133 + - ! &ref_143 type: string apiVersions: - ! @@ -1546,7 +1609,7 @@ schemas: ! name: ManagementPolicyRuleName description: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. protocol: ! {} - - ! &ref_138 + - ! &ref_148 type: string apiVersions: - ! @@ -1556,7 +1619,7 @@ schemas: ! name: ManagementPolicyFilterPrefixMatchItem description: '' protocol: ! {} - - ! &ref_139 + - ! &ref_149 type: string apiVersions: - ! @@ -1566,7 +1629,40 @@ schemas: ! name: ManagementPolicyFilterBlobTypesItem description: '' protocol: ! {} - - ! &ref_286 + - ! &ref_150 + type: string + apiVersions: + - ! + version: '2019-06-01' + maxLength: 128 + minLength: 1 + language: ! + default: + name: TagFilterName + description: 'This is the filter tag name, it can have 1 - 128 characters' + protocol: ! {} + - ! &ref_151 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: TagFilterOp + description: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported + protocol: ! {} + - ! &ref_152 + type: string + apiVersions: + - ! + version: '2019-06-01' + maxLength: 256 + language: ! + default: + name: TagFilterValue + description: 'This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + protocol: ! {} + - ! &ref_312 type: string apiVersions: - ! @@ -1576,7 +1672,7 @@ schemas: ! name: ErrorResponseCode description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. protocol: ! {} - - ! &ref_287 + - ! &ref_313 type: string apiVersions: - ! @@ -1586,7 +1682,7 @@ schemas: ! name: ErrorResponseMessage description: 'A message describing the error, intended to be suitable for display in a user interface.' protocol: ! {} - - ! &ref_140 + - ! &ref_153 type: string apiVersions: - ! @@ -1596,7 +1692,7 @@ schemas: ! name: PrivateLinkResourcePropertiesGroupId description: The private link resource group id. protocol: ! {} - - ! &ref_141 + - ! &ref_154 type: string apiVersions: - ! @@ -1606,7 +1702,7 @@ schemas: ! name: PrivateLinkResourcePropertiesRequiredMembersItem description: '' protocol: ! {} - - ! &ref_142 + - ! &ref_155 type: string apiVersions: - ! @@ -1616,7 +1712,98 @@ schemas: ! name: PrivateLinkResourcePropertiesRequiredZoneNamesItem description: '' protocol: ! {} - - ! &ref_147 + - ! &ref_156 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyPropertiesPolicyId + description: A unique id for object replication policy. + protocol: ! {} + - ! &ref_158 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyPropertiesSourceAccount + description: Required. Source account name. + protocol: ! {} + - ! &ref_159 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyPropertiesDestinationAccount + description: Required. Destination account name. + protocol: ! {} + - ! &ref_160 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyRuleId + description: Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account. + protocol: ! {} + - ! &ref_161 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyRuleSourceContainer + description: Required. Source container name. + protocol: ! {} + - ! &ref_162 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyRuleDestinationContainer + description: Required. Destination container name. + protocol: ! {} + - ! &ref_163 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyFilterPrefixMatchItem + description: '' + protocol: ! {} + - ! &ref_164 + type: string + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyFilterMinCreationTime + description: 'Blobs created after the time will be replicated to the destination. It must be in datetime format ''yyyy-MM-ddTHH:mm:ssZ''. Example: 2020-02-19T16:05:00Z' + protocol: ! {} + - ! &ref_575 + type: string + apiVersions: + - ! + version: '2019-06-01' + minLength: 1 + language: ! + default: + name: String + description: '' + protocol: ! {} + - ! &ref_169 type: string apiVersions: - ! @@ -1626,7 +1813,7 @@ schemas: ! name: EncryptionScopeKeyVaultPropertiesKeyUri description: 'The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope.' protocol: ! {} - - ! &ref_289 + - ! &ref_317 type: string apiVersions: - ! @@ -1637,7 +1824,7 @@ schemas: ! description: Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size. protocol: ! {} choices: - - ! &ref_45 + - ! &ref_55 choices: - ! value: DELETE @@ -1691,7 +1878,7 @@ schemas: ! name: CorsRuleAllowedMethodsItem description: '' protocol: ! {} - - ! &ref_42 + - ! &ref_52 choices: - ! value: Standard_LRS @@ -1895,7 +2082,7 @@ schemas: ! name: ImmutabilityPolicyUpdateType description: 'The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend.' protocol: ! {} - - ! &ref_171 + - ! &ref_194 choices: - ! value: Acquire @@ -1937,7 +2124,101 @@ schemas: ! name: LeaseContainerRequestAction description: Specifies the lease action. Can be one of the available actions. protocol: ! {} - - ! &ref_53 + - ! &ref_36 + choices: + - ! + value: SMB + language: + default: + name: SMB + description: '' + - ! + value: NFS + language: + default: + name: NFS + description: '' + type: choice + apiVersions: + - ! + version: '2019-06-01' + choiceType: *ref_0 + extensions: + x-ms-mutability: + - create + - read + language: ! + default: + name: EnabledProtocols + description: The authentication protocol that is used for the file share. Can only be specified when creating a share. + protocol: ! {} + - ! &ref_37 + choices: + - ! + value: NoRootSquash + language: + default: + name: NoRootSquash + description: '' + - ! + value: RootSquash + language: + default: + name: RootSquash + description: '' + - ! + value: AllSquash + language: + default: + name: AllSquash + description: '' + type: choice + apiVersions: + - ! + version: '2019-06-01' + choiceType: *ref_0 + language: ! + default: + name: RootSquashType + description: The property is for NFS share only. The default is NoRootSquash. + protocol: ! {} + - ! &ref_42 + choices: + - ! + value: TransactionOptimized + language: + default: + name: TransactionOptimized + description: '' + - ! + value: Hot + language: + default: + name: Hot + description: '' + - ! + value: Cool + language: + default: + name: Cool + description: '' + - ! + value: Premium + language: + default: + name: Premium + description: '' + type: choice + apiVersions: + - ! + version: '2019-06-01' + choiceType: *ref_0 + language: ! + default: + name: ShareAccessTier + description: 'Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium.' + protocol: ! {} + - ! &ref_63 choices: - ! value: Storage @@ -1979,7 +2260,7 @@ schemas: ! name: Kind description: Indicates the type of storage account. protocol: ! {} - - ! &ref_210 + - ! &ref_235 choices: - ! value: QuotaId @@ -2005,7 +2286,7 @@ schemas: ! The reason for the restriction. As of now this can be "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The "NotAvailableForSubscription" is related to capacity at DC. protocol: ! {} - - ! &ref_84 + - ! &ref_94 choices: - ! value: Service @@ -2033,7 +2314,7 @@ schemas: ! name: KeyType description: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used. protocol: ! {} - - ! &ref_86 + - ! &ref_96 choices: - ! value: Microsoft.Storage @@ -2058,7 +2339,7 @@ schemas: ! name: KeySource description: 'The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault' protocol: ! {} - - ! &ref_101 + - ! &ref_111 choices: - ! value: None @@ -2095,7 +2376,7 @@ schemas: ! name: Bypass description: 'Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics.' protocol: ! {} - - ! &ref_93 + - ! &ref_103 choices: - ! value: None @@ -2125,7 +2406,7 @@ schemas: ! name: DirectoryServiceOptions description: Indicates the directory service used. protocol: ! {} - - ! &ref_112 + - ! &ref_122 choices: - ! value: Disabled @@ -2149,7 +2430,7 @@ schemas: ! name: LargeFileSharesState description: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. protocol: ! {} - - ! &ref_118 + - ! &ref_128 choices: - ! value: MicrosoftRouting @@ -2173,7 +2454,7 @@ schemas: ! name: RoutingChoice description: Routing Choice defines the kind of network routing opted by the user. protocol: ! {} - - ! &ref_108 + - ! &ref_118 choices: - ! value: Live @@ -2205,7 +2486,7 @@ schemas: ! The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable. protocol: ! {} - - ! &ref_114 + - ! &ref_124 choices: - ! value: Pending @@ -2235,7 +2516,7 @@ schemas: ! name: PrivateEndpointServiceConnectionStatus description: The private endpoint connection status. protocol: ! {} - - ! &ref_117 + - ! &ref_127 choices: - ! value: Succeeded @@ -2271,7 +2552,7 @@ schemas: ! name: PrivateEndpointConnectionProvisioningState description: The current provisioning state. protocol: ! {} - - ! &ref_121 + - ! &ref_131 choices: - ! value: InProgress @@ -2303,7 +2584,7 @@ schemas: ! The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. protocol: ! {} - - ! &ref_255 + - ! &ref_280 choices: - ! value: b @@ -2339,7 +2620,7 @@ schemas: ! name: Services description: 'The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f).' protocol: ! {} - - ! &ref_256 + - ! &ref_281 choices: - ! value: s @@ -2371,7 +2652,7 @@ schemas: ! The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. protocol: ! {} - - ! &ref_257 + - ! &ref_282 choices: - ! value: r @@ -2431,7 +2712,7 @@ schemas: ! name: Permissions description: 'The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).' protocol: ! {} - - ! &ref_265 + - ! &ref_290 choices: - ! value: b @@ -2467,7 +2748,7 @@ schemas: ! name: SignedResource description: 'The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s).' protocol: ! {} - - ! &ref_143 + - ! &ref_165 choices: - ! value: Microsoft.Storage @@ -2491,7 +2772,7 @@ schemas: ! name: EncryptionScopeSource description: 'The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault.' protocol: ! {} - - ! &ref_144 + - ! &ref_166 choices: - ! value: Enabled @@ -2516,7 +2797,7 @@ schemas: ! description: 'The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled.' protocol: ! {} sealedChoices: - - ! &ref_43 + - ! &ref_53 choices: - ! value: Standard @@ -2570,7 +2851,7 @@ schemas: ! name: PublicAccess description: Specifies whether data in the container may be accessed publicly and the level of access. protocol: ! {} - - ! &ref_217 + - ! &ref_242 choices: - ! value: AccountNameInvalid @@ -2594,7 +2875,7 @@ schemas: ! name: Reason description: Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false. protocol: ! {} - - ! &ref_104 + - ! &ref_114 choices: - ! value: provisioning @@ -2636,7 +2917,7 @@ schemas: ! name: State description: Gets the state of virtual network rule. protocol: ! {} - - ! &ref_106 + - ! &ref_116 choices: - ! value: Allow @@ -2661,7 +2942,7 @@ schemas: ! name: DefaultAction description: Specifies the default action of allow or deny when no other rules match. protocol: ! {} - - ! &ref_92 + - ! &ref_102 choices: - ! value: Hot @@ -2685,7 +2966,7 @@ schemas: ! name: AccessTier description: Required for storage accounts where kind = BlobStorage. The access tier used for billing. protocol: ! {} - - ! &ref_57 + - ! &ref_67 choices: - ! value: Creating @@ -2715,7 +2996,7 @@ schemas: ! name: ProvisioningState description: Gets the status of the storage account at the time the operation was called. protocol: ! {} - - ! &ref_75 + - ! &ref_85 choices: - ! value: available @@ -2739,7 +3020,7 @@ schemas: ! name: AccountStatus description: Gets the status indicating whether the primary location of the storage account is available or unavailable. protocol: ! {} - - ! &ref_464 + - ! &ref_501 choices: - ! value: geoReplicationStats @@ -2763,7 +3044,7 @@ schemas: ! name: StorageAccountExpand description: '' protocol: ! {} - - ! &ref_245 + - ! &ref_270 choices: - ! value: Read @@ -2787,7 +3068,7 @@ schemas: ! name: KeyPermission description: Permissions for the key -- read-only or full permissions. protocol: ! {} - - ! &ref_248 + - ! &ref_273 choices: - ! value: Count @@ -2835,7 +3116,7 @@ schemas: ! name: UsageUnit description: Gets the unit of measurement. protocol: ! {} - - ! &ref_259 + - ! &ref_284 choices: - ! value: 'https,http' @@ -2860,7 +3141,7 @@ schemas: ! description: The protocol permitted for a request made with the account SAS. protocol: ! {} constants: - - ! &ref_326 + - ! &ref_358 type: constant value: ! value: '2019-06-01' @@ -2870,17 +3151,17 @@ schemas: ! name: ApiVersion20190601 description: Api Version (2019-06-01) protocol: ! {} - - ! &ref_335 + - ! &ref_367 type: constant value: ! value: default valueType: *ref_0 language: ! default: - name: Constant39 + name: Constant42 description: '' protocol: ! {} - - ! &ref_336 + - ! &ref_368 type: constant value: ! value: application/json @@ -2890,7 +3171,33 @@ schemas: ! name: ApplicationJson description: Content Type 'application/json' protocol: ! {} - - ! &ref_215 + - ! &ref_457 + type: constant + apiVersions: + - ! + version: '2019-06-01' + value: ! + value: deleted + valueType: *ref_0 + language: ! + default: + name: ListSharesExpand + description: '' + protocol: ! {} + - ! &ref_471 + type: constant + apiVersions: + - ! + version: '2019-06-01' + value: ! + value: stats + valueType: *ref_0 + language: ! + default: + name: GetShareExpand + description: '' + protocol: ! {} + - ! &ref_240 type: constant apiVersions: - ! @@ -2903,7 +3210,7 @@ schemas: ! name: Type description: 'The type of resource, Microsoft.Storage/storageAccounts' protocol: ! {} - - ! &ref_56 + - ! &ref_66 type: constant apiVersions: - ! @@ -2916,7 +3223,7 @@ schemas: ! name: IdentityType description: The identity type. protocol: ! {} - - ! &ref_103 + - ! &ref_113 type: constant apiVersions: - ! @@ -2929,7 +3236,7 @@ schemas: ! name: Action description: The action of virtual network rule. protocol: ! {} - - ! &ref_474 + - ! &ref_511 type: constant apiVersions: - ! @@ -2942,7 +3249,7 @@ schemas: ! name: ListKeyExpand description: '' protocol: ! {} - - ! &ref_507 + - ! &ref_544 type: constant value: ! value: default @@ -2952,7 +3259,7 @@ schemas: ! name: ManagementPolicyName description: '' protocol: ! {} - - ! &ref_134 + - ! &ref_144 type: constant apiVersions: - ! @@ -2982,7 +3289,7 @@ schemas: ! name: FileSharePropertiesMetadata description: A name-value pair to associate with the share as metadata. protocol: ! {} - - ! &ref_220 + - ! &ref_245 type: dictionary elementType: *ref_2 language: ! @@ -2992,7 +3299,7 @@ schemas: ! Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters. protocol: ! {} - - ! &ref_128 + - ! &ref_138 type: dictionary elementType: *ref_3 language: ! @@ -3000,7 +3307,7 @@ schemas: ! name: TrackedResourceTags description: Resource tags. protocol: ! {} - - ! &ref_241 + - ! &ref_266 type: dictionary elementType: *ref_2 language: ! @@ -3011,7 +3318,7 @@ schemas: ! key no greater in length than 128 characters and a value no greater in length than 256 characters. protocol: ! {} dateTimes: - - ! &ref_163 + - ! &ref_186 type: date-time format: date-time apiVersions: @@ -3066,7 +3373,29 @@ schemas: ! name: FileSharePropertiesLastModifiedTime description: Returns the date and time the share was last modified. protocol: ! {} - - ! &ref_83 + - ! &ref_40 + type: date-time + format: date-time + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: FileSharePropertiesDeletedTime + description: The deleted time if the share was deleted. + protocol: ! {} + - ! &ref_43 + type: date-time + format: date-time + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: FileSharePropertiesAccessTierChangeTime + description: Indicates the last modification time for share access tier. + protocol: ! {} + - ! &ref_93 type: date-time format: date-time apiVersions: @@ -3079,7 +3408,7 @@ schemas: ! Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a rough estimate. protocol: ! {} - - ! &ref_91 + - ! &ref_101 type: date-time format: date-time apiVersions: @@ -3090,7 +3419,7 @@ schemas: ! name: LastKeyRotationTimestamp description: Timestamp of last rotation of the Key Vault Key. protocol: ! {} - - ! &ref_76 + - ! &ref_86 type: date-time format: date-time apiVersions: @@ -3103,7 +3432,7 @@ schemas: ! Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS. protocol: ! {} - - ! &ref_78 + - ! &ref_88 type: date-time format: date-time apiVersions: @@ -3114,7 +3443,7 @@ schemas: ! name: StorageAccountPropertiesCreationTime description: Gets the creation date and time of the storage account in UTC. protocol: ! {} - - ! &ref_109 + - ! &ref_119 type: date-time format: date-time apiVersions: @@ -3127,7 +3456,7 @@ schemas: ! All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap. protocol: ! {} - - ! &ref_124 + - ! &ref_134 type: date-time format: date-time apiVersions: @@ -3138,7 +3467,7 @@ schemas: ! name: BlobRestoreParametersTimeToRestore description: Restore blob to the specified time. protocol: ! {} - - ! &ref_260 + - ! &ref_285 type: date-time format: date-time apiVersions: @@ -3149,7 +3478,7 @@ schemas: ! name: SharedAccessStartTime description: The time at which the SAS becomes valid. protocol: ! {} - - ! &ref_261 + - ! &ref_286 type: date-time format: date-time apiVersions: @@ -3160,7 +3489,7 @@ schemas: ! name: SharedAccessExpiryTime description: The time at which the shared access signature becomes invalid. protocol: ! {} - - ! &ref_131 + - ! &ref_141 type: date-time format: date-time apiVersions: @@ -3171,7 +3500,18 @@ schemas: ! name: ManagementPolicyPropertiesLastModifiedTime description: Returns the date and time the ManagementPolicies was last modified. protocol: ! {} - - ! &ref_145 + - ! &ref_157 + type: date-time + format: date-time + apiVersions: + - ! + version: '2019-06-01' + language: ! + default: + name: ObjectReplicationPolicyPropertiesEnabledTime + description: Indicates when the policy is enabled on the source account. + protocol: ! {} + - ! &ref_167 type: date-time format: date-time apiVersions: @@ -3182,7 +3522,7 @@ schemas: ! name: EncryptionScopePropertiesCreationTime description: Gets the creation date and time of the encryption scope in UTC. protocol: ! {} - - ! &ref_146 + - ! &ref_168 type: date-time format: date-time apiVersions: @@ -3194,14 +3534,14 @@ schemas: ! description: Gets the last modification date and time of the encryption scope in UTC. protocol: ! {} objects: - - ! &ref_334 + - ! &ref_366 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_295 + schema: ! &ref_323 type: array apiVersions: - ! @@ -3228,7 +3568,7 @@ schemas: ! version: '1.0' children: ! all: - - ! &ref_36 + - ! &ref_46 type: object apiVersions: - ! @@ -3349,12 +3689,12 @@ schemas: ! description: ImmutabilityPolicy Etag. protocol: ! {} - ! - schema: ! &ref_296 + schema: ! &ref_324 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_168 + elementType: ! &ref_191 type: object apiVersions: - ! @@ -3513,12 +3853,12 @@ schemas: ! can be a maximum of 1000 blob containers with hasLegalHold=true for a given account. protocol: ! {} - ! - schema: ! &ref_297 + schema: ! &ref_325 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_169 + elementType: ! &ref_192 type: object apiVersions: - ! @@ -3651,7 +3991,7 @@ schemas: ! description: The blob container properties be listed out. namespace: '' protocol: ! {} - - ! &ref_37 + - ! &ref_47 type: object apiVersions: - ! @@ -3818,7 +4158,7 @@ schemas: ! description: 'Properties of the blob container, including Id, resource name, resource type, Etag.' namespace: '' protocol: ! {} - - ! &ref_38 + - ! &ref_48 type: object apiVersions: - ! @@ -3830,7 +4170,7 @@ schemas: ! immediate: - *ref_5 properties: - - ! &ref_375 + - ! &ref_407 schema: *ref_17 flattenedNames: - properties @@ -3853,7 +4193,7 @@ schemas: ! name: state description: 'The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked.' protocol: ! {} - - ! &ref_376 + - ! &ref_408 schema: *ref_23 flattenedNames: - properties @@ -3877,7 +4217,7 @@ schemas: ! description: 'The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag.' namespace: '' protocol: ! {} - - ! &ref_39 + - ! &ref_49 type: object apiVersions: - ! @@ -3923,6 +4263,123 @@ schemas: ! name: shareQuota description: 'The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.' protocol: ! {} + - ! + schema: *ref_36 + flattenedNames: + - properties + - enabledProtocols + serializedName: enabledProtocols + language: ! + default: + name: enabledProtocols + description: The authentication protocol that is used for the file share. Can only be specified when creating a share. + protocol: ! {} + - ! + schema: *ref_37 + flattenedNames: + - properties + - rootSquash + serializedName: rootSquash + language: ! + default: + name: rootSquash + description: The property is for NFS share only. The default is NoRootSquash. + protocol: ! {} + - ! + schema: *ref_38 + flattenedNames: + - properties + - version + readOnly: true + serializedName: version + language: ! + default: + name: version + description: The version of the share. + protocol: ! {} + - ! + schema: *ref_39 + flattenedNames: + - properties + - deleted + readOnly: true + serializedName: deleted + language: ! + default: + name: deleted + description: Indicates whether the share was deleted. + protocol: ! {} + - ! + schema: *ref_40 + flattenedNames: + - properties + - deletedTime + readOnly: true + serializedName: deletedTime + language: ! + default: + name: deletedTime + description: The deleted time if the share was deleted. + protocol: ! {} + - ! + schema: *ref_41 + flattenedNames: + - properties + - remainingRetentionDays + readOnly: true + serializedName: remainingRetentionDays + language: ! + default: + name: remainingRetentionDays + description: Remaining retention days for share that was soft deleted. + protocol: ! {} + - ! + schema: *ref_42 + flattenedNames: + - properties + - accessTier + serializedName: accessTier + language: ! + default: + name: accessTier + description: 'Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium.' + protocol: ! {} + - ! + schema: *ref_43 + flattenedNames: + - properties + - accessTierChangeTime + readOnly: true + serializedName: accessTierChangeTime + language: ! + default: + name: accessTierChangeTime + description: Indicates the last modification time for share access tier. + protocol: ! {} + - ! + schema: *ref_44 + flattenedNames: + - properties + - accessTierStatus + readOnly: true + serializedName: accessTierStatus + language: ! + default: + name: accessTierStatus + description: Indicates if there is a pending transition for access tier. + protocol: ! {} + - ! + schema: *ref_45 + flattenedNames: + - properties + - shareUsageBytes + readOnly: true + serializedName: shareUsageBytes + language: ! + default: + name: shareUsageBytes + description: The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + protocol: ! {} serializationFormats: - json usage: @@ -3934,7 +4391,7 @@ schemas: ! description: The file share properties be listed out. namespace: '' protocol: ! {} - - ! &ref_40 + - ! &ref_50 type: object apiVersions: - ! @@ -3958,7 +4415,7 @@ schemas: ! name: lastModifiedTime description: Returns the date and time the share was last modified. protocol: ! {} - - ! &ref_431 + - ! schema: *ref_34 flattenedNames: - properties @@ -3969,7 +4426,7 @@ schemas: ! name: metadata description: A name-value pair to associate with the share as metadata. protocol: ! {} - - ! &ref_432 + - ! schema: *ref_35 flattenedNames: - properties @@ -3980,6 +4437,123 @@ schemas: ! name: shareQuota description: 'The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.' protocol: ! {} + - ! + schema: *ref_36 + flattenedNames: + - properties + - enabledProtocols + serializedName: enabledProtocols + language: ! + default: + name: enabledProtocols + description: The authentication protocol that is used for the file share. Can only be specified when creating a share. + protocol: ! {} + - ! + schema: *ref_37 + flattenedNames: + - properties + - rootSquash + serializedName: rootSquash + language: ! + default: + name: rootSquash + description: The property is for NFS share only. The default is NoRootSquash. + protocol: ! {} + - ! + schema: *ref_38 + flattenedNames: + - properties + - version + readOnly: true + serializedName: version + language: ! + default: + name: version + description: The version of the share. + protocol: ! {} + - ! + schema: *ref_39 + flattenedNames: + - properties + - deleted + readOnly: true + serializedName: deleted + language: ! + default: + name: deleted + description: Indicates whether the share was deleted. + protocol: ! {} + - ! + schema: *ref_40 + flattenedNames: + - properties + - deletedTime + readOnly: true + serializedName: deletedTime + language: ! + default: + name: deletedTime + description: The deleted time if the share was deleted. + protocol: ! {} + - ! + schema: *ref_41 + flattenedNames: + - properties + - remainingRetentionDays + readOnly: true + serializedName: remainingRetentionDays + language: ! + default: + name: remainingRetentionDays + description: Remaining retention days for share that was soft deleted. + protocol: ! {} + - ! + schema: *ref_42 + flattenedNames: + - properties + - accessTier + serializedName: accessTier + language: ! + default: + name: accessTier + description: 'Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium.' + protocol: ! {} + - ! + schema: *ref_43 + flattenedNames: + - properties + - accessTierChangeTime + readOnly: true + serializedName: accessTierChangeTime + language: ! + default: + name: accessTierChangeTime + description: Indicates the last modification time for share access tier. + protocol: ! {} + - ! + schema: *ref_44 + flattenedNames: + - properties + - accessTierStatus + readOnly: true + serializedName: accessTierStatus + language: ! + default: + name: accessTierStatus + description: Indicates if there is a pending transition for access tier. + protocol: ! {} + - ! + schema: *ref_45 + flattenedNames: + - properties + - shareUsageBytes + readOnly: true + serializedName: shareUsageBytes + language: ! + default: + name: shareUsageBytes + description: The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + protocol: ! {} serializationFormats: - json usage: @@ -3992,11 +4566,11 @@ schemas: ! namespace: '' protocol: ! {} immediate: - - *ref_36 - - *ref_37 - - *ref_38 - - *ref_39 - - *ref_40 + - *ref_46 + - *ref_47 + - *ref_48 + - *ref_49 + - *ref_50 parents: ! all: - *ref_6 @@ -4004,7 +4578,7 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_41 + schema: *ref_51 readOnly: true serializedName: etag language: ! @@ -4023,10 +4597,10 @@ schemas: ! description: The resource model definition for a Azure Resource Manager resource with an etag. namespace: '' protocol: ! {} - - *ref_36 - - *ref_37 - - *ref_38 - - ! &ref_148 + - *ref_46 + - *ref_47 + - *ref_48 + - ! &ref_170 type: object apiVersions: - ! @@ -4038,14 +4612,14 @@ schemas: ! - *ref_6 properties: - ! - schema: ! &ref_52 + schema: ! &ref_62 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_42 + schema: *ref_52 required: true serializedName: name language: ! @@ -4054,7 +4628,7 @@ schemas: ! description: 'The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType.' protocol: ! {} - ! - schema: *ref_43 + schema: *ref_53 readOnly: true required: false serializedName: tier @@ -4081,32 +4655,32 @@ schemas: ! name: sku description: Sku name and tier. protocol: ! {} - - ! &ref_417 - schema: ! &ref_155 + - ! &ref_449 + schema: ! &ref_178 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_294 + schema: ! &ref_322 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_164 + elementType: ! &ref_187 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_290 + schema: ! &ref_318 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_44 + elementType: *ref_54 language: ! default: name: CorsRuleAllowedOrigins @@ -4120,12 +4694,12 @@ schemas: ! description: 'Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" to allow all domains' protocol: ! {} - ! - schema: ! &ref_291 + schema: ! &ref_319 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_45 + elementType: *ref_55 language: ! default: name: CorsRuleAllowedMethods @@ -4139,7 +4713,7 @@ schemas: ! description: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin. protocol: ! {} - ! - schema: *ref_46 + schema: *ref_56 required: true serializedName: maxAgeInSeconds language: ! @@ -4148,12 +4722,12 @@ schemas: ! description: Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response. protocol: ! {} - ! - schema: ! &ref_292 + schema: ! &ref_320 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_47 + elementType: *ref_57 language: ! default: name: CorsRuleExposedHeaders @@ -4167,12 +4741,12 @@ schemas: ! description: Required if CorsRule element is present. A list of response headers to expose to CORS clients. protocol: ! {} - ! - schema: ! &ref_293 + schema: ! &ref_321 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_48 + elementType: *ref_58 language: ! default: name: CorsRuleAllowedHeaders @@ -4229,15 +4803,15 @@ schemas: ! Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service. protocol: ! {} - - ! &ref_418 - schema: ! &ref_157 + - ! &ref_450 + schema: ! &ref_180 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_49 + schema: *ref_59 serializedName: enabled language: ! default: @@ -4245,7 +4819,7 @@ schemas: ! description: Indicates whether DeleteRetentionPolicy is enabled. protocol: ! {} - ! - schema: *ref_50 + schema: *ref_60 serializedName: days language: ! default: @@ -4283,29 +4857,29 @@ schemas: ! description: The properties of File services in storage account. namespace: '' protocol: ! {} - - *ref_39 - - *ref_40 - - ! &ref_51 + - *ref_49 + - *ref_50 + - ! &ref_61 type: object apiVersions: - ! version: '1.0' children: ! all: - - ! &ref_127 + - ! &ref_137 type: object apiVersions: - ! version: '2019-06-01' parents: ! all: - - *ref_51 + - *ref_61 - *ref_6 immediate: - - *ref_51 + - *ref_61 properties: - ! - schema: *ref_52 + schema: *ref_62 readOnly: true serializedName: sku language: ! @@ -4314,7 +4888,7 @@ schemas: ! description: Gets the SKU. protocol: ! {} - ! - schema: *ref_53 + schema: *ref_63 readOnly: true serializedName: kind language: ! @@ -4323,14 +4897,14 @@ schemas: ! description: Gets the Kind. protocol: ! {} - ! - schema: ! &ref_221 + schema: ! &ref_246 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_54 + schema: *ref_64 readOnly: true required: false serializedName: principalId @@ -4340,7 +4914,7 @@ schemas: ! description: The principal ID of resource identity. protocol: ! {} - ! - schema: *ref_55 + schema: *ref_65 readOnly: true required: false serializedName: tenantId @@ -4350,7 +4924,7 @@ schemas: ! description: The tenant ID of resource. protocol: ! {} - ! - schema: *ref_56 + schema: *ref_66 required: true serializedName: type language: ! @@ -4376,7 +4950,7 @@ schemas: ! description: The identity of the resource. protocol: ! {} - ! - schema: *ref_57 + schema: *ref_67 flattenedNames: - properties - provisioningState @@ -4388,14 +4962,14 @@ schemas: ! description: Gets the status of the storage account at the time the operation was called. protocol: ! {} - ! - schema: ! &ref_81 + schema: ! &ref_91 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_58 + schema: *ref_68 readOnly: true serializedName: blob language: ! @@ -4404,7 +4978,7 @@ schemas: ! description: Gets the blob endpoint. protocol: ! {} - ! - schema: *ref_59 + schema: *ref_69 readOnly: true serializedName: queue language: ! @@ -4413,7 +4987,7 @@ schemas: ! description: Gets the queue endpoint. protocol: ! {} - ! - schema: *ref_60 + schema: *ref_70 readOnly: true serializedName: table language: ! @@ -4422,7 +4996,7 @@ schemas: ! description: Gets the table endpoint. protocol: ! {} - ! - schema: *ref_61 + schema: *ref_71 readOnly: true serializedName: file language: ! @@ -4431,7 +5005,7 @@ schemas: ! description: Gets the file endpoint. protocol: ! {} - ! - schema: *ref_62 + schema: *ref_72 readOnly: true serializedName: web language: ! @@ -4440,7 +5014,7 @@ schemas: ! description: Gets the web endpoint. protocol: ! {} - ! - schema: *ref_63 + schema: *ref_73 readOnly: true serializedName: dfs language: ! @@ -4449,14 +5023,14 @@ schemas: ! description: Gets the dfs endpoint. protocol: ! {} - ! - schema: ! &ref_233 + schema: ! &ref_258 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_64 + schema: *ref_74 readOnly: true serializedName: blob language: ! @@ -4465,7 +5039,7 @@ schemas: ! description: Gets the blob endpoint. protocol: ! {} - ! - schema: *ref_65 + schema: *ref_75 readOnly: true serializedName: queue language: ! @@ -4474,7 +5048,7 @@ schemas: ! description: Gets the queue endpoint. protocol: ! {} - ! - schema: *ref_66 + schema: *ref_76 readOnly: true serializedName: table language: ! @@ -4483,7 +5057,7 @@ schemas: ! description: Gets the table endpoint. protocol: ! {} - ! - schema: *ref_67 + schema: *ref_77 readOnly: true serializedName: file language: ! @@ -4492,7 +5066,7 @@ schemas: ! description: Gets the file endpoint. protocol: ! {} - ! - schema: *ref_68 + schema: *ref_78 readOnly: true serializedName: web language: ! @@ -4501,7 +5075,7 @@ schemas: ! description: Gets the web endpoint. protocol: ! {} - ! - schema: *ref_69 + schema: *ref_79 readOnly: true serializedName: dfs language: ! @@ -4529,14 +5103,14 @@ schemas: ! description: Gets the microsoft routing storage endpoints. protocol: ! {} - ! - schema: ! &ref_234 + schema: ! &ref_259 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_70 + schema: *ref_80 readOnly: true serializedName: blob language: ! @@ -4545,7 +5119,7 @@ schemas: ! description: Gets the blob endpoint. protocol: ! {} - ! - schema: *ref_71 + schema: *ref_81 readOnly: true serializedName: file language: ! @@ -4554,7 +5128,7 @@ schemas: ! description: Gets the file endpoint. protocol: ! {} - ! - schema: *ref_72 + schema: *ref_82 readOnly: true serializedName: web language: ! @@ -4563,7 +5137,7 @@ schemas: ! description: Gets the web endpoint. protocol: ! {} - ! - schema: *ref_73 + schema: *ref_83 readOnly: true serializedName: dfs language: ! @@ -4612,7 +5186,7 @@ schemas: ! description: 'Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint.' protocol: ! {} - ! - schema: *ref_74 + schema: *ref_84 flattenedNames: - properties - primaryLocation @@ -4624,7 +5198,7 @@ schemas: ! description: Gets the location of the primary data center for the storage account. protocol: ! {} - ! - schema: *ref_75 + schema: *ref_85 flattenedNames: - properties - statusOfPrimary @@ -4636,7 +5210,7 @@ schemas: ! description: Gets the status indicating whether the primary location of the storage account is available or unavailable. protocol: ! {} - ! - schema: *ref_76 + schema: *ref_86 flattenedNames: - properties - lastGeoFailoverTime @@ -4650,7 +5224,7 @@ schemas: ! available if the accountType is Standard_GRS or Standard_RAGRS. protocol: ! {} - ! - schema: *ref_77 + schema: *ref_87 flattenedNames: - properties - secondaryLocation @@ -4662,7 +5236,7 @@ schemas: ! description: Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS. protocol: ! {} - ! - schema: *ref_75 + schema: *ref_85 flattenedNames: - properties - statusOfSecondary @@ -4674,7 +5248,7 @@ schemas: ! description: Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. protocol: ! {} - ! - schema: *ref_78 + schema: *ref_88 flattenedNames: - properties - creationTime @@ -4686,14 +5260,14 @@ schemas: ! description: Gets the creation date and time of the storage account in UTC. protocol: ! {} - ! - schema: ! &ref_222 + schema: ! &ref_247 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_79 + schema: *ref_89 required: true serializedName: name language: ! @@ -4702,7 +5276,7 @@ schemas: ! description: Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source. protocol: ! {} - ! - schema: *ref_80 + schema: *ref_90 required: false serializedName: useSubDomainName language: ! @@ -4732,7 +5306,7 @@ schemas: ! description: Gets the custom domain the user assigned to this storage account. protocol: ! {} - ! - schema: *ref_81 + schema: *ref_91 flattenedNames: - properties - secondaryEndpoints @@ -4744,28 +5318,28 @@ schemas: ! description: 'Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS.' protocol: ! {} - ! - schema: ! &ref_223 + schema: ! &ref_248 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_228 + schema: ! &ref_253 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_85 + schema: ! &ref_95 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_82 + schema: *ref_92 serializedName: enabled language: ! default: @@ -4773,7 +5347,7 @@ schemas: ! description: A boolean indicating whether or not the service encrypts the data as it is stored. protocol: ! {} - ! - schema: *ref_83 + schema: *ref_93 readOnly: true serializedName: lastEnabledTime language: ! @@ -4784,7 +5358,7 @@ schemas: ! time, as it is just a rough estimate. protocol: ! {} - ! - schema: *ref_84 + schema: *ref_94 serializedName: keyType language: ! default: @@ -4811,7 +5385,7 @@ schemas: ! description: The encryption function of the blob storage service. protocol: ! {} - ! - schema: *ref_85 + schema: *ref_95 serializedName: file language: ! default: @@ -4819,7 +5393,7 @@ schemas: ! description: The encryption function of the file storage service. protocol: ! {} - ! - schema: *ref_85 + schema: *ref_95 serializedName: table language: ! default: @@ -4827,7 +5401,7 @@ schemas: ! description: The encryption function of the table storage service. protocol: ! {} - ! - schema: *ref_85 + schema: *ref_95 serializedName: queue language: ! default: @@ -4853,7 +5427,7 @@ schemas: ! description: List of services which support encryption. protocol: ! {} - ! - schema: *ref_86 + schema: *ref_96 required: true serializedName: keySource language: ! @@ -4862,14 +5436,14 @@ schemas: ! description: 'The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault' protocol: ! {} - ! - schema: ! &ref_229 + schema: ! &ref_254 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_87 + schema: *ref_97 serializedName: keyname language: ! default: @@ -4877,7 +5451,7 @@ schemas: ! description: The name of KeyVault key. protocol: ! {} - ! - schema: *ref_88 + schema: *ref_98 serializedName: keyversion language: ! default: @@ -4885,7 +5459,7 @@ schemas: ! description: The version of KeyVault key. protocol: ! {} - ! - schema: *ref_89 + schema: *ref_99 serializedName: keyvaulturi language: ! default: @@ -4893,7 +5467,7 @@ schemas: ! description: The Uri of KeyVault. protocol: ! {} - ! - schema: *ref_90 + schema: *ref_100 readOnly: true serializedName: currentVersionedKeyIdentifier language: ! @@ -4902,7 +5476,7 @@ schemas: ! description: The object identifier of the current versioned Key Vault Key in use. protocol: ! {} - ! - schema: *ref_91 + schema: *ref_101 readOnly: true serializedName: lastKeyRotationTimestamp language: ! @@ -4950,7 +5524,7 @@ schemas: ! description: 'Gets the encryption settings on the account. If unspecified, the account is unencrypted.' protocol: ! {} - ! - schema: *ref_92 + schema: *ref_102 flattenedNames: - properties - accessTier @@ -4962,14 +5536,14 @@ schemas: ! description: Required for storage accounts where kind = BlobStorage. The access tier used for billing. protocol: ! {} - ! - schema: ! &ref_225 + schema: ! &ref_250 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_93 + schema: *ref_103 required: true serializedName: directoryServiceOptions language: ! @@ -4978,14 +5552,14 @@ schemas: ! description: Indicates the directory service used. protocol: ! {} - ! - schema: ! &ref_232 + schema: ! &ref_257 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_94 + schema: *ref_104 required: true serializedName: domainName language: ! @@ -4994,7 +5568,7 @@ schemas: ! description: Specifies the primary domain that the AD DNS server is authoritative for. protocol: ! {} - ! - schema: *ref_95 + schema: *ref_105 required: true serializedName: netBiosDomainName language: ! @@ -5003,7 +5577,7 @@ schemas: ! description: Specifies the NetBIOS domain name. protocol: ! {} - ! - schema: *ref_96 + schema: *ref_106 required: true serializedName: forestName language: ! @@ -5012,7 +5586,7 @@ schemas: ! description: Specifies the Active Directory forest to get. protocol: ! {} - ! - schema: *ref_97 + schema: *ref_107 required: true serializedName: domainGuid language: ! @@ -5021,7 +5595,7 @@ schemas: ! description: Specifies the domain GUID. protocol: ! {} - ! - schema: *ref_98 + schema: *ref_108 required: true serializedName: domainSid language: ! @@ -5030,7 +5604,7 @@ schemas: ! description: Specifies the security identifier (SID). protocol: ! {} - ! - schema: *ref_99 + schema: *ref_109 required: true serializedName: azureStorageSid language: ! @@ -5077,7 +5651,7 @@ schemas: ! description: Provides the identity based authentication settings for Azure Files. protocol: ! {} - ! - schema: *ref_100 + schema: *ref_110 flattenedNames: - properties - supportsHttpsTrafficOnly @@ -5088,14 +5662,14 @@ schemas: ! description: Allows https traffic only to storage service if sets to true. protocol: ! {} - ! - schema: ! &ref_224 + schema: ! &ref_249 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_101 + schema: *ref_111 required: false serializedName: bypass language: ! @@ -5106,19 +5680,19 @@ schemas: ! those traffics. protocol: ! {} - ! - schema: ! &ref_311 + schema: ! &ref_339 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_230 + elementType: ! &ref_255 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_102 + schema: *ref_112 required: true serializedName: id language: ! @@ -5127,7 +5701,7 @@ schemas: ! description: 'Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.' protocol: ! {} - ! - schema: *ref_103 + schema: *ref_113 required: false serializedName: action language: ! @@ -5136,7 +5710,7 @@ schemas: ! description: The action of virtual network rule. protocol: ! {} - ! - schema: *ref_104 + schema: *ref_114 required: false serializedName: state language: ! @@ -5168,19 +5742,19 @@ schemas: ! description: Sets the virtual network rules protocol: ! {} - ! - schema: ! &ref_312 + schema: ! &ref_340 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_231 + elementType: ! &ref_256 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_105 + schema: *ref_115 required: true serializedName: value language: ! @@ -5189,7 +5763,7 @@ schemas: ! description: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. protocol: ! {} - ! - schema: *ref_103 + schema: *ref_113 required: false serializedName: action language: ! @@ -5221,7 +5795,7 @@ schemas: ! description: Sets the IP ACL rules protocol: ! {} - ! - schema: *ref_106 + schema: *ref_116 required: true serializedName: defaultAction language: ! @@ -5251,7 +5825,7 @@ schemas: ! description: Network rule set protocol: ! {} - ! - schema: *ref_107 + schema: *ref_117 flattenedNames: - properties - isHnsEnabled @@ -5262,14 +5836,14 @@ schemas: ! description: Account HierarchicalNamespace enabled if sets to true. protocol: ! {} - ! - schema: ! &ref_235 + schema: ! &ref_260 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_108 + schema: *ref_118 readOnly: true serializedName: status language: ! @@ -5280,7 +5854,7 @@ schemas: ! to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable. protocol: ! {} - ! - schema: *ref_109 + schema: *ref_119 readOnly: true serializedName: lastSyncTime language: ! @@ -5291,7 +5865,7 @@ schemas: ! default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap. protocol: ! {} - ! - schema: *ref_110 + schema: *ref_120 readOnly: true serializedName: canFailover language: ! @@ -5321,7 +5895,7 @@ schemas: ! description: Geo Replication Stats protocol: ! {} - ! - schema: *ref_111 + schema: *ref_121 flattenedNames: - properties - failoverInProgress @@ -5333,7 +5907,7 @@ schemas: ! description: 'If the failover is in progress, the value will be true, otherwise, it will be null.' protocol: ! {} - ! - schema: *ref_112 + schema: *ref_122 flattenedNames: - properties - largeFileSharesState @@ -5344,12 +5918,12 @@ schemas: ! description: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. protocol: ! {} - ! - schema: ! &ref_313 + schema: ! &ref_341 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_130 + elementType: ! &ref_140 type: object apiVersions: - ! @@ -5360,15 +5934,15 @@ schemas: ! immediate: - *ref_6 properties: - - ! &ref_522 - schema: ! &ref_236 + - ! &ref_559 + schema: ! &ref_261 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_113 + schema: *ref_123 readOnly: true serializedName: id language: ! @@ -5396,15 +5970,15 @@ schemas: ! name: privateEndpoint description: The resource of private end point. protocol: ! {} - - ! &ref_523 - schema: ! &ref_237 + - ! &ref_560 + schema: ! &ref_262 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_114 + schema: *ref_124 serializedName: status language: ! default: @@ -5412,7 +5986,7 @@ schemas: ! description: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. protocol: ! {} - ! - schema: *ref_115 + schema: *ref_125 serializedName: description language: ! default: @@ -5420,7 +5994,7 @@ schemas: ! description: The reason for approval/rejection of the connection. protocol: ! {} - ! - schema: *ref_116 + schema: *ref_126 serializedName: actionRequired language: ! default: @@ -5448,7 +6022,7 @@ schemas: ! description: A collection of information about the state of the connection between service consumer and provider. protocol: ! {} - ! - schema: *ref_117 + schema: *ref_127 flattenedNames: - properties - provisioningState @@ -5486,14 +6060,14 @@ schemas: ! description: List of private endpoint connection associated with the specified storage account protocol: ! {} - ! - schema: ! &ref_227 + schema: ! &ref_252 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_118 + schema: *ref_128 serializedName: routingChoice language: ! default: @@ -5501,7 +6075,7 @@ schemas: ! description: Routing Choice defines the kind of network routing opted by the user. protocol: ! {} - ! - schema: *ref_119 + schema: *ref_129 serializedName: publishMicrosoftEndpoints language: ! default: @@ -5509,7 +6083,7 @@ schemas: ! description: A boolean flag which indicates whether microsoft routing storage endpoints are to be published protocol: ! {} - ! - schema: *ref_120 + schema: *ref_130 serializedName: publishInternetEndpoints language: ! default: @@ -5537,14 +6111,14 @@ schemas: ! description: Maintains information about the network routing choice opted by the user for data transfer protocol: ! {} - ! - schema: ! &ref_238 + schema: ! &ref_263 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_121 + schema: *ref_131 readOnly: true serializedName: status language: ! @@ -5555,7 +6129,7 @@ schemas: ! that blob restore is failed. protocol: ! {} - ! - schema: *ref_122 + schema: *ref_132 readOnly: true serializedName: failureReason language: ! @@ -5564,7 +6138,7 @@ schemas: ! description: Failure reason when blob restore is failed. protocol: ! {} - ! - schema: *ref_123 + schema: *ref_133 readOnly: true serializedName: restoreId language: ! @@ -5573,14 +6147,14 @@ schemas: ! description: Id for tracking blob restore request. protocol: ! {} - ! - schema: ! &ref_239 + schema: ! &ref_264 type: object apiVersions: - ! version: '2019-06-01' properties: - - ! &ref_497 - schema: *ref_124 + - ! &ref_534 + schema: *ref_134 required: true serializedName: timeToRestore language: ! @@ -5588,20 +6162,20 @@ schemas: ! name: timeToRestore description: Restore blob to the specified time. protocol: ! {} - - ! &ref_498 - schema: ! &ref_314 + - ! &ref_535 + schema: ! &ref_342 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_240 + elementType: ! &ref_265 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_125 + schema: *ref_135 required: true serializedName: startRange language: ! @@ -5610,7 +6184,7 @@ schemas: ! description: Blob start range. This is inclusive. Empty means account start. protocol: ! {} - ! - schema: *ref_126 + schema: *ref_136 required: true serializedName: endRange language: ! @@ -5692,7 +6266,7 @@ schemas: ! namespace: '' protocol: ! {} immediate: - - *ref_127 + - *ref_137 parents: ! all: - *ref_6 @@ -5700,7 +6274,7 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_128 + schema: *ref_138 required: false serializedName: tags language: ! @@ -5709,7 +6283,7 @@ schemas: ! description: Resource tags. protocol: ! {} - ! - schema: *ref_129 + schema: *ref_139 required: true serializedName: location language: ! @@ -5728,9 +6302,9 @@ schemas: ! description: The resource model definition for a ARM tracked top level resource namespace: '' protocol: ! {} - - *ref_130 - - *ref_127 - - ! &ref_149 + - *ref_140 + - *ref_137 + - ! &ref_171 type: object apiVersions: - ! @@ -5742,7 +6316,7 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_131 + schema: *ref_141 flattenedNames: - properties - lastModifiedTime @@ -5753,27 +6327,27 @@ schemas: ! name: lastModifiedTime description: Returns the date and time the ManagementPolicies was last modified. protocol: ! {} - - ! &ref_511 - schema: ! &ref_278 + - ! &ref_548 + schema: ! &ref_303 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_320 + schema: ! &ref_349 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_279 + elementType: ! &ref_304 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_132 + schema: *ref_142 required: false serializedName: enabled language: ! @@ -5782,7 +6356,7 @@ schemas: ! description: Rule is enabled if set to true. protocol: ! {} - ! - schema: *ref_133 + schema: *ref_143 required: true serializedName: name language: ! @@ -5791,7 +6365,7 @@ schemas: ! description: A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. protocol: ! {} - ! - schema: *ref_134 + schema: *ref_144 required: true serializedName: type language: ! @@ -5800,35 +6374,35 @@ schemas: ! description: The valid value is Lifecycle protocol: ! {} - ! - schema: ! &ref_280 + schema: ! &ref_305 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_281 + schema: ! &ref_306 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_282 + schema: ! &ref_307 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_136 + schema: ! &ref_146 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_135 + schema: *ref_145 required: true serializedName: daysAfterModificationGreaterThan language: ! @@ -5854,7 +6428,7 @@ schemas: ! description: The function to tier blobs to cool storage. Support blobs currently at Hot tier protocol: ! {} - ! - schema: *ref_136 + schema: *ref_146 serializedName: tierToArchive language: ! default: @@ -5862,7 +6436,7 @@ schemas: ! description: The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier protocol: ! {} - ! - schema: *ref_136 + schema: *ref_146 serializedName: delete language: ! default: @@ -5887,21 +6461,21 @@ schemas: ! description: The management policy action for base blob protocol: ! {} - ! - schema: ! &ref_283 + schema: ! &ref_308 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_284 + schema: ! &ref_309 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_137 + schema: *ref_147 required: true serializedName: daysAfterCreationGreaterThan language: ! @@ -5962,19 +6536,19 @@ schemas: ! description: An object that defines the action set. protocol: ! {} - ! - schema: ! &ref_285 + schema: ! &ref_310 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_318 + schema: ! &ref_346 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_138 + elementType: *ref_148 language: ! default: name: ManagementPolicyFilterPrefixMatch @@ -5988,12 +6562,12 @@ schemas: ! description: An array of strings for prefixes to be match. protocol: ! {} - ! - schema: ! &ref_319 + schema: ! &ref_347 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_139 + elementType: *ref_149 language: ! default: name: ManagementPolicyFilterBlobTypes @@ -6006,6 +6580,68 @@ schemas: ! name: blobTypes description: An array of predefined enum values. Only blockBlob is supported. protocol: ! {} + - ! + schema: ! &ref_348 + type: array + apiVersions: + - ! + version: '2019-06-01' + elementType: ! &ref_311 + type: object + apiVersions: + - ! + version: '2019-06-01' + properties: + - ! + schema: *ref_150 + required: true + serializedName: name + language: ! + default: + name: name + description: 'This is the filter tag name, it can have 1 - 128 characters' + protocol: ! {} + - ! + schema: *ref_151 + required: true + serializedName: op + language: ! + default: + name: op + description: This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported + protocol: ! {} + - ! + schema: *ref_152 + required: true + serializedName: value + language: ! + default: + name: value + description: 'This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters' + protocol: ! {} + serializationFormats: + - json + usage: + - output + - input + language: ! + default: + name: TagFilter + description: Blob index tag based filtering for blob objects + namespace: '' + protocol: ! {} + language: ! + default: + name: ManagementPolicyFilterBlobIndexMatch + description: 'An array of blob index tag based filters, there can be at most 10 tag filters' + protocol: ! {} + required: false + serializedName: blobIndexMatch + language: ! + default: + name: blobIndexMatch + description: 'An array of blob index tag based filters, there can be at most 10 tag filters' + protocol: ! {} serializationFormats: - json usage: @@ -6096,7 +6732,7 @@ schemas: ! description: The Get Storage Account ManagementPolicies operation response. namespace: '' protocol: ! {} - - ! &ref_150 + - ! &ref_172 type: object apiVersions: - ! @@ -6108,7 +6744,7 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_140 + schema: *ref_153 flattenedNames: - properties - groupId @@ -6120,12 +6756,12 @@ schemas: ! description: The private link resource group id. protocol: ! {} - ! - schema: ! &ref_321 + schema: ! &ref_350 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_141 + elementType: *ref_154 language: ! default: name: PrivateLinkResourcePropertiesRequiredMembers @@ -6142,12 +6778,12 @@ schemas: ! description: The private link resource required member names. protocol: ! {} - ! - schema: ! &ref_322 + schema: ! &ref_351 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_142 + elementType: *ref_155 language: ! default: name: PrivateLinkResourcePropertiesRequiredZoneNames @@ -6173,7 +6809,7 @@ schemas: ! description: A private link resource namespace: '' protocol: ! {} - - ! &ref_151 + - ! &ref_173 type: object apiVersions: - ! @@ -6185,7 +6821,190 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_143 + schema: *ref_156 + flattenedNames: + - properties + - policyId + readOnly: true + serializedName: policyId + language: ! + default: + name: policyId + description: A unique id for object replication policy. + protocol: ! {} + - ! + schema: *ref_157 + flattenedNames: + - properties + - enabledTime + readOnly: true + serializedName: enabledTime + language: ! + default: + name: enabledTime + description: Indicates when the policy is enabled on the source account. + protocol: ! {} + - ! + schema: *ref_158 + flattenedNames: + - properties + - sourceAccount + serializedName: sourceAccount + language: ! + default: + name: sourceAccount + description: Required. Source account name. + protocol: ! {} + - ! + schema: *ref_159 + flattenedNames: + - properties + - destinationAccount + serializedName: destinationAccount + language: ! + default: + name: destinationAccount + description: Required. Destination account name. + protocol: ! {} + - ! + schema: ! &ref_354 + type: array + apiVersions: + - ! + version: '2019-06-01' + elementType: ! &ref_314 + type: object + apiVersions: + - ! + version: '2019-06-01' + properties: + - ! + schema: *ref_160 + required: false + serializedName: ruleId + language: ! + default: + name: ruleId + description: Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account. + protocol: ! {} + - ! + schema: *ref_161 + required: true + serializedName: sourceContainer + language: ! + default: + name: sourceContainer + description: Required. Source container name. + protocol: ! {} + - ! + schema: *ref_162 + required: true + serializedName: destinationContainer + language: ! + default: + name: destinationContainer + description: Required. Destination container name. + protocol: ! {} + - ! + schema: ! &ref_315 + type: object + apiVersions: + - ! + version: '2019-06-01' + properties: + - ! + schema: ! &ref_353 + type: array + apiVersions: + - ! + version: '2019-06-01' + elementType: *ref_163 + language: ! + default: + name: ObjectReplicationPolicyFilterPrefixMatch + description: Optional. Filters the results to replicate only blobs whose names begin with the specified prefix. + protocol: ! {} + serializedName: prefixMatch + language: ! + default: + name: prefixMatch + description: Optional. Filters the results to replicate only blobs whose names begin with the specified prefix. + protocol: ! {} + - ! + schema: *ref_164 + serializedName: minCreationTime + language: ! + default: + name: minCreationTime + description: 'Blobs created after the time will be replicated to the destination. It must be in datetime format ''yyyy-MM-ddTHH:mm:ssZ''. Example: 2020-02-19T16:05:00Z' + protocol: ! {} + serializationFormats: + - json + usage: + - output + - input + language: ! + default: + name: ObjectReplicationPolicyFilter + description: 'Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters.' + namespace: '' + protocol: ! {} + required: false + serializedName: filters + language: ! + default: + name: filters + description: Optional. An object that defines the filter set. + protocol: ! {} + serializationFormats: + - json + usage: + - output + - input + language: ! + default: + name: ObjectReplicationPolicyRule + description: The replication policy rule between two containers. + namespace: '' + protocol: ! {} + language: ! + default: + name: ObjectReplicationPolicyPropertiesRules + description: The storage account object replication rules. + protocol: ! {} + flattenedNames: + - properties + - rules + serializedName: rules + language: ! + default: + name: rules + description: The storage account object replication rules. + protocol: ! {} + serializationFormats: + - json + usage: + - output + - input + language: ! + default: + name: ObjectReplicationPolicy + description: The replication policy between two storage accounts. Multiple rules can be defined in one policy. + namespace: '' + protocol: ! {} + - ! &ref_174 + type: object + apiVersions: + - ! + version: '2019-06-01' + parents: ! + all: + - *ref_6 + immediate: + - *ref_6 + properties: + - ! + schema: *ref_165 flattenedNames: - properties - source @@ -6196,7 +7015,7 @@ schemas: ! description: 'The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault.' protocol: ! {} - ! - schema: *ref_144 + schema: *ref_166 flattenedNames: - properties - state @@ -6207,7 +7026,7 @@ schemas: ! description: 'The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled.' protocol: ! {} - ! - schema: *ref_145 + schema: *ref_167 flattenedNames: - properties - creationTime @@ -6219,7 +7038,7 @@ schemas: ! description: Gets the creation date and time of the encryption scope in UTC. protocol: ! {} - ! - schema: *ref_146 + schema: *ref_168 flattenedNames: - properties - lastModifiedTime @@ -6231,14 +7050,14 @@ schemas: ! description: Gets the last modification date and time of the encryption scope in UTC. protocol: ! {} - ! - schema: ! &ref_288 + schema: ! &ref_316 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_147 + schema: *ref_169 serializedName: keyUri language: ! default: @@ -6279,15 +7098,16 @@ schemas: ! immediate: - *ref_4 - *ref_5 - - *ref_148 - - *ref_51 - - *ref_130 - - *ref_149 - - *ref_150 - - *ref_151 + - *ref_170 + - *ref_61 + - *ref_140 + - *ref_171 + - *ref_172 + - *ref_173 + - *ref_174 properties: - ! - schema: *ref_152 + schema: *ref_175 readOnly: true serializedName: id language: ! @@ -6296,7 +7116,7 @@ schemas: ! description: 'Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' protocol: ! {} - ! - schema: *ref_153 + schema: *ref_176 readOnly: true serializedName: name language: ! @@ -6305,7 +7125,7 @@ schemas: ! description: The name of the resource protocol: ! {} - ! - schema: *ref_154 + schema: *ref_177 readOnly: true serializedName: type language: ! @@ -6330,7 +7150,7 @@ schemas: ! - *ref_6 properties: - ! - schema: *ref_52 + schema: *ref_62 readOnly: true serializedName: sku language: ! @@ -6339,7 +7159,7 @@ schemas: ! description: Sku name and tier. protocol: ! {} - ! - schema: *ref_155 + schema: *ref_178 flattenedNames: - properties - cors @@ -6352,7 +7172,7 @@ schemas: ! for the Blob service. protocol: ! {} - ! - schema: *ref_156 + schema: *ref_179 flattenedNames: - properties - defaultServiceVersion @@ -6363,7 +7183,7 @@ schemas: ! description: DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions. protocol: ! {} - ! - schema: *ref_157 + schema: *ref_180 flattenedNames: - properties - deleteRetentionPolicy @@ -6374,7 +7194,7 @@ schemas: ! description: The blob service properties for blob soft delete. protocol: ! {} - ! - schema: *ref_158 + schema: *ref_181 flattenedNames: - properties - isVersioningEnabled @@ -6385,7 +7205,7 @@ schemas: ! description: Versioning is enabled if set to true. protocol: ! {} - ! - schema: *ref_159 + schema: *ref_182 flattenedNames: - properties - automaticSnapshotPolicyEnabled @@ -6396,14 +7216,14 @@ schemas: ! description: Deprecated in favor of isVersioningEnabled property. protocol: ! {} - ! - schema: ! &ref_165 + schema: ! &ref_188 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_160 + schema: *ref_183 serializedName: enabled language: ! default: @@ -6431,14 +7251,14 @@ schemas: ! description: The blob service properties for change feed events. protocol: ! {} - ! - schema: ! &ref_166 + schema: ! &ref_189 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_161 + schema: *ref_184 required: true serializedName: enabled language: ! @@ -6447,7 +7267,7 @@ schemas: ! description: Blob restore is enabled if set to true. protocol: ! {} - ! - schema: *ref_162 + schema: *ref_185 required: false serializedName: days language: ! @@ -6456,7 +7276,7 @@ schemas: ! description: how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days. protocol: ! {} - ! - schema: *ref_163 + schema: *ref_186 readOnly: true required: false serializedName: lastEnabledTime @@ -6486,7 +7306,7 @@ schemas: ! description: The blob service properties for blob restore policy. protocol: ! {} - ! - schema: *ref_157 + schema: *ref_180 flattenedNames: - properties - containerDeleteRetentionPolicy @@ -6531,25 +7351,25 @@ schemas: ! protocol: ! {} - *ref_6 - *ref_4 - - *ref_155 - - *ref_164 - - *ref_157 - - *ref_165 - - *ref_166 - - *ref_52 - - ! &ref_346 + - *ref_178 + - *ref_187 + - *ref_180 + - *ref_188 + - *ref_189 + - *ref_62 + - ! &ref_378 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_298 + schema: ! &ref_326 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_36 + elementType: *ref_46 language: ! default: name: ListContainerItemsValue @@ -6563,7 +7383,7 @@ schemas: ! description: List of blobs containers returned. protocol: ! {} - ! - schema: *ref_167 + schema: *ref_190 readOnly: true serializedName: nextLink language: ! @@ -6582,13 +7402,13 @@ schemas: ! namespace: '' protocol: ! {} - *ref_5 - - *ref_36 + - *ref_46 - *ref_31 - - *ref_168 + - *ref_191 - *ref_32 - - *ref_169 - - *ref_37 - - ! &ref_362 + - *ref_192 + - *ref_47 + - ! &ref_394 type: object apiVersions: - ! @@ -6606,13 +7426,13 @@ schemas: ! The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account. protocol: ! {} - - ! &ref_364 - schema: ! &ref_299 + - ! &ref_396 + schema: ! &ref_327 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_170 + elementType: *ref_193 language: ! default: name: LegalHoldTags @@ -6636,15 +7456,15 @@ schemas: ! description: The LegalHold property of a blob container. namespace: '' protocol: ! {} - - *ref_38 - - ! &ref_406 + - *ref_48 + - ! &ref_438 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_171 + schema: *ref_194 required: true serializedName: action language: ! @@ -6653,7 +7473,7 @@ schemas: ! description: Specifies the lease action. Can be one of the available actions. protocol: ! {} - ! - schema: *ref_172 + schema: *ref_195 required: false serializedName: leaseId language: ! @@ -6662,7 +7482,7 @@ schemas: ! description: Identifies the lease. Can be specified in any valid GUID string format. protocol: ! {} - ! - schema: *ref_173 + schema: *ref_196 required: false serializedName: breakPeriod language: ! @@ -6671,7 +7491,7 @@ schemas: ! description: 'Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60.' protocol: ! {} - ! - schema: *ref_174 + schema: *ref_197 required: false serializedName: leaseDuration language: ! @@ -6680,7 +7500,7 @@ schemas: ! description: 'Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires.' protocol: ! {} - ! - schema: *ref_175 + schema: *ref_198 required: false serializedName: proposedLeaseId language: ! @@ -6698,14 +7518,14 @@ schemas: ! description: Lease Container request schema. namespace: '' protocol: ! {} - - ! &ref_411 + - ! &ref_443 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_176 + schema: *ref_199 serializedName: leaseId language: ! default: @@ -6713,7 +7533,7 @@ schemas: ! description: 'Returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease.' protocol: ! {} - ! - schema: *ref_177 + schema: *ref_200 serializedName: leaseTimeSeconds language: ! default: @@ -6730,19 +7550,19 @@ schemas: ! description: Lease Container response schema. namespace: '' protocol: ! {} - - ! &ref_414 + - ! &ref_446 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_300 + schema: ! &ref_328 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_148 + elementType: *ref_170 language: ! default: name: FileServiceItemsValue @@ -6765,22 +7585,22 @@ schemas: ! description: '' namespace: '' protocol: ! {} - - *ref_148 - - ! &ref_415 + - *ref_170 + - ! &ref_447 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_181 + schema: ! &ref_204 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_178 + schema: *ref_201 serializedName: code language: ! default: @@ -6788,7 +7608,7 @@ schemas: ! description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. protocol: ! {} - ! - schema: *ref_179 + schema: *ref_202 serializedName: message language: ! default: @@ -6796,7 +7616,7 @@ schemas: ! description: 'A message describing the error, intended to be suitable for display in a user interface.' protocol: ! {} - ! - schema: *ref_180 + schema: *ref_203 serializedName: target language: ! default: @@ -6804,12 +7624,12 @@ schemas: ! description: 'The target of the particular error. For example, the name of the property in error.' protocol: ! {} - ! - schema: ! &ref_301 + schema: ! &ref_329 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_181 + elementType: *ref_204 language: ! default: name: CloudErrorBodyDetails @@ -6851,20 +7671,20 @@ schemas: ! description: An error response from the Storage service. namespace: '' protocol: ! {} - - *ref_181 - - ! &ref_429 + - *ref_204 + - ! &ref_462 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_302 + schema: ! &ref_330 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_39 + elementType: *ref_49 language: ! default: name: FileShareItemsValue @@ -6878,7 +7698,7 @@ schemas: ! description: List of file shares returned. protocol: ! {} - ! - schema: *ref_182 + schema: *ref_205 readOnly: true serializedName: nextLink language: ! @@ -6896,28 +7716,62 @@ schemas: ! description: 'Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares.' namespace: '' protocol: ! {} - - *ref_39 - - *ref_40 - - ! &ref_450 + - *ref_49 + - *ref_50 + - ! &ref_478 + type: object + apiVersions: + - ! + version: '2019-06-01' + properties: + - ! &ref_480 + schema: *ref_206 + required: true + serializedName: deletedShareName + language: ! + default: + name: deletedShareName + description: Required. Identify the name of the deleted share that will be restored. + protocol: ! {} + - ! &ref_481 + schema: *ref_207 + required: true + serializedName: deletedShareVersion + language: ! + default: + name: deletedShareVersion + description: Required. Identify the version of the deleted share that will be restored. + protocol: ! {} + serializationFormats: + - json + usage: + - input + language: ! + default: + name: DeletedShare + description: The deleted share to be restored. + namespace: '' + protocol: ! {} + - ! &ref_487 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_305 + schema: ! &ref_333 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_199 + elementType: ! &ref_224 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_183 + schema: *ref_208 serializedName: name language: ! default: @@ -6925,14 +7779,14 @@ schemas: ! description: 'Operation name: {provider}/{resource}/{operation}' protocol: ! {} - ! - schema: ! &ref_200 + schema: ! &ref_225 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_184 + schema: *ref_209 serializedName: provider language: ! default: @@ -6940,7 +7794,7 @@ schemas: ! description: 'Service provider: Microsoft Storage.' protocol: ! {} - ! - schema: *ref_185 + schema: *ref_210 serializedName: resource language: ! default: @@ -6948,7 +7802,7 @@ schemas: ! description: Resource on which the operation is performed etc. protocol: ! {} - ! - schema: *ref_186 + schema: *ref_211 serializedName: operation language: ! default: @@ -6956,7 +7810,7 @@ schemas: ! description: 'Type of operation: get, read, delete, etc.' protocol: ! {} - ! - schema: *ref_187 + schema: *ref_212 serializedName: description language: ! default: @@ -6983,7 +7837,7 @@ schemas: ! description: Display metadata associated with the operation. protocol: ! {} - ! - schema: *ref_188 + schema: *ref_213 serializedName: origin language: ! default: @@ -6991,26 +7845,26 @@ schemas: ! description: The origin of operations. protocol: ! {} - ! - schema: ! &ref_201 + schema: ! &ref_226 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_304 + schema: ! &ref_332 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_202 + elementType: ! &ref_227 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_189 + schema: *ref_214 serializedName: name language: ! default: @@ -7018,7 +7872,7 @@ schemas: ! description: Name of metric specification. protocol: ! {} - ! - schema: *ref_190 + schema: *ref_215 serializedName: displayName language: ! default: @@ -7026,7 +7880,7 @@ schemas: ! description: Display name of metric specification. protocol: ! {} - ! - schema: *ref_191 + schema: *ref_216 serializedName: displayDescription language: ! default: @@ -7034,7 +7888,7 @@ schemas: ! description: Display description of metric specification. protocol: ! {} - ! - schema: *ref_192 + schema: *ref_217 serializedName: unit language: ! default: @@ -7042,19 +7896,19 @@ schemas: ! description: Unit could be Bytes or Count. protocol: ! {} - ! - schema: ! &ref_303 + schema: ! &ref_331 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_203 + elementType: ! &ref_228 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_193 + schema: *ref_218 serializedName: name language: ! default: @@ -7062,7 +7916,7 @@ schemas: ! description: Display name of dimension. protocol: ! {} - ! - schema: *ref_194 + schema: *ref_219 serializedName: displayName language: ! default: @@ -7091,7 +7945,7 @@ schemas: ! description: 'Dimensions of blobs, including blob type and access tier.' protocol: ! {} - ! - schema: *ref_195 + schema: *ref_220 serializedName: aggregationType language: ! default: @@ -7099,7 +7953,7 @@ schemas: ! description: Aggregation type could be Average. protocol: ! {} - ! - schema: *ref_196 + schema: *ref_221 serializedName: fillGapWithZero language: ! default: @@ -7107,7 +7961,7 @@ schemas: ! description: The property to decide fill gap with zero or not. protocol: ! {} - ! - schema: *ref_197 + schema: *ref_222 serializedName: category language: ! default: @@ -7115,7 +7969,7 @@ schemas: ! description: 'The category this metric specification belong to, could be Capacity.' protocol: ! {} - ! - schema: *ref_198 + schema: *ref_223 serializedName: resourceIdDimensionNameOverride language: ! default: @@ -7193,31 +8047,31 @@ schemas: ! description: Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. namespace: '' protocol: ! {} - - *ref_199 - - *ref_200 - - *ref_201 - - *ref_202 - - *ref_203 - - ! &ref_451 + - *ref_224 + - *ref_225 + - *ref_226 + - *ref_227 + - *ref_228 + - ! &ref_488 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_310 + schema: ! &ref_338 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_211 + elementType: ! &ref_236 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_42 + schema: *ref_52 required: true serializedName: name language: ! @@ -7226,7 +8080,7 @@ schemas: ! description: 'The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType.' protocol: ! {} - ! - schema: *ref_43 + schema: *ref_53 readOnly: true required: false serializedName: tier @@ -7236,7 +8090,7 @@ schemas: ! description: The SKU tier. This is based on the SKU name. protocol: ! {} - ! - schema: *ref_204 + schema: *ref_229 readOnly: true required: false serializedName: resourceType @@ -7246,7 +8100,7 @@ schemas: ! description: 'The type of the resource, usually it is ''storageAccounts''.' protocol: ! {} - ! - schema: *ref_53 + schema: *ref_63 readOnly: true required: false serializedName: kind @@ -7256,12 +8110,12 @@ schemas: ! description: Indicates the type of storage account. protocol: ! {} - ! - schema: ! &ref_306 + schema: ! &ref_334 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_205 + elementType: *ref_230 language: ! default: name: SkuInformationLocations @@ -7276,19 +8130,19 @@ schemas: ! description: 'The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.).' protocol: ! {} - ! - schema: ! &ref_307 + schema: ! &ref_335 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_212 + elementType: ! &ref_237 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_206 + schema: *ref_231 readOnly: true serializedName: name language: ! @@ -7297,7 +8151,7 @@ schemas: ! description: 'The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc.' protocol: ! {} - ! - schema: *ref_207 + schema: *ref_232 readOnly: true serializedName: value language: ! @@ -7329,19 +8183,19 @@ schemas: ! description: 'The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc.' protocol: ! {} - ! - schema: ! &ref_309 + schema: ! &ref_337 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_213 + elementType: ! &ref_238 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_208 + schema: *ref_233 readOnly: true serializedName: type language: ! @@ -7350,12 +8204,12 @@ schemas: ! description: The type of restrictions. As of now only possible value for this is location. protocol: ! {} - ! - schema: ! &ref_308 + schema: ! &ref_336 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_209 + elementType: *ref_234 language: ! default: name: RestrictionValues @@ -7369,7 +8223,7 @@ schemas: ! description: The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. protocol: ! {} - ! - schema: *ref_210 + schema: *ref_235 serializedName: reasonCode language: ! default: @@ -7432,17 +8286,17 @@ schemas: ! description: The response from the List Storage SKUs operation. namespace: '' protocol: ! {} - - *ref_211 - - *ref_212 - - *ref_213 - - ! &ref_452 + - *ref_236 + - *ref_237 + - *ref_238 + - ! &ref_489 type: object apiVersions: - ! version: '2019-06-01' properties: - - ! &ref_454 - schema: *ref_214 + - ! &ref_491 + schema: *ref_239 required: true serializedName: name language: ! @@ -7450,8 +8304,8 @@ schemas: ! name: name description: The storage account name. protocol: ! {} - - ! &ref_455 - schema: *ref_215 + - ! &ref_492 + schema: *ref_240 required: true serializedName: type language: ! @@ -7469,14 +8323,14 @@ schemas: ! description: The parameters used to check the availability of the storage account name. namespace: '' protocol: ! {} - - ! &ref_457 + - ! &ref_494 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_216 + schema: *ref_241 readOnly: true serializedName: nameAvailable language: ! @@ -7485,7 +8339,7 @@ schemas: ! description: 'Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used.' protocol: ! {} - ! - schema: *ref_217 + schema: *ref_242 readOnly: true serializedName: reason language: ! @@ -7494,7 +8348,7 @@ schemas: ! description: Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false. protocol: ! {} - ! - schema: *ref_218 + schema: *ref_243 readOnly: true serializedName: message language: ! @@ -7512,14 +8366,14 @@ schemas: ! description: The CheckNameAvailability operation response. namespace: '' protocol: ! {} - - ! &ref_458 + - ! &ref_495 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_52 + schema: *ref_62 required: true serializedName: sku language: ! @@ -7528,7 +8382,7 @@ schemas: ! description: Required. Gets or sets the SKU name. protocol: ! {} - ! - schema: *ref_53 + schema: *ref_63 required: true serializedName: kind language: ! @@ -7537,7 +8391,7 @@ schemas: ! description: Required. Indicates the type of storage account. protocol: ! {} - ! - schema: *ref_219 + schema: *ref_244 required: true serializedName: location language: ! @@ -7548,7 +8402,7 @@ schemas: ! created, but if an identical geo region is specified on update, the request will succeed. protocol: ! {} - ! - schema: *ref_220 + schema: *ref_245 required: false serializedName: tags language: ! @@ -7559,7 +8413,7 @@ schemas: ! key with a length no greater than 128 characters and a value with a length no greater than 256 characters. protocol: ! {} - ! - schema: *ref_221 + schema: *ref_246 required: false serializedName: identity language: ! @@ -7568,7 +8422,7 @@ schemas: ! description: The identity of the resource. protocol: ! {} - ! - schema: *ref_222 + schema: *ref_247 flattenedNames: - properties - customDomain @@ -7582,7 +8436,7 @@ schemas: ! property. protocol: ! {} - ! - schema: *ref_223 + schema: *ref_248 flattenedNames: - properties - encryption @@ -7594,7 +8448,7 @@ schemas: ! description: Not applicable. Azure Storage encryption is enabled for all storage accounts and cannot be disabled. protocol: ! {} - ! - schema: *ref_224 + schema: *ref_249 flattenedNames: - properties - networkAcls @@ -7606,7 +8460,7 @@ schemas: ! description: Network rule set protocol: ! {} - ! - schema: *ref_92 + schema: *ref_102 flattenedNames: - properties - accessTier @@ -7618,7 +8472,7 @@ schemas: ! description: Required for storage accounts where kind = BlobStorage. The access tier used for billing. protocol: ! {} - ! - schema: *ref_225 + schema: *ref_250 flattenedNames: - properties - azureFilesIdentityBasedAuthentication @@ -7630,7 +8484,7 @@ schemas: ! description: Provides the identity based authentication settings for Azure Files. protocol: ! {} - ! - schema: *ref_226 + schema: *ref_251 flattenedNames: - properties - supportsHttpsTrafficOnly @@ -7642,7 +8496,7 @@ schemas: ! description: Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01. protocol: ! {} - ! - schema: *ref_107 + schema: *ref_117 flattenedNames: - properties - isHnsEnabled @@ -7654,7 +8508,7 @@ schemas: ! description: Account HierarchicalNamespace enabled if sets to true. protocol: ! {} - ! - schema: *ref_112 + schema: *ref_122 flattenedNames: - properties - largeFileSharesState @@ -7666,7 +8520,7 @@ schemas: ! description: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. protocol: ! {} - ! - schema: *ref_227 + schema: *ref_252 flattenedNames: - properties - routingPreference @@ -7687,38 +8541,38 @@ schemas: ! description: The parameters used when creating a storage account. namespace: '' protocol: ! {} - - *ref_221 - - *ref_222 - - *ref_223 - - *ref_228 - - *ref_85 - - *ref_229 - - *ref_224 - - *ref_230 - - *ref_231 - - *ref_225 - - *ref_232 - - *ref_227 - - *ref_51 - - *ref_127 - - *ref_81 - - *ref_233 - - *ref_234 - - *ref_235 - - *ref_130 - - *ref_236 - - *ref_237 - - *ref_238 - - *ref_239 - - *ref_240 - - ! &ref_468 + - *ref_246 + - *ref_247 + - *ref_248 + - *ref_253 + - *ref_95 + - *ref_254 + - *ref_249 + - *ref_255 + - *ref_256 + - *ref_250 + - *ref_257 + - *ref_252 + - *ref_61 + - *ref_137 + - *ref_91 + - *ref_258 + - *ref_259 + - *ref_260 + - *ref_140 + - *ref_261 + - *ref_262 + - *ref_263 + - *ref_264 + - *ref_265 + - ! &ref_505 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_52 + schema: *ref_62 serializedName: sku language: ! default: @@ -7726,7 +8580,7 @@ schemas: ! description: 'Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value.' protocol: ! {} - ! - schema: *ref_241 + schema: *ref_266 serializedName: tags language: ! default: @@ -7736,7 +8590,7 @@ schemas: ! key no greater in length than 128 characters and a value no greater in length than 256 characters. protocol: ! {} - ! - schema: *ref_221 + schema: *ref_246 serializedName: identity language: ! default: @@ -7744,7 +8598,7 @@ schemas: ! description: The identity of the resource. protocol: ! {} - ! - schema: *ref_53 + schema: *ref_63 serializedName: kind language: ! default: @@ -7752,7 +8606,7 @@ schemas: ! description: Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server. protocol: ! {} - ! - schema: *ref_222 + schema: *ref_247 flattenedNames: - properties - customDomain @@ -7765,7 +8619,7 @@ schemas: ! domain name property. protocol: ! {} - ! - schema: *ref_223 + schema: *ref_248 flattenedNames: - properties - encryption @@ -7776,7 +8630,7 @@ schemas: ! description: Provides the encryption settings on the account. The default setting is unencrypted. protocol: ! {} - ! - schema: *ref_92 + schema: *ref_102 flattenedNames: - properties - accessTier @@ -7787,7 +8641,7 @@ schemas: ! description: Required for storage accounts where kind = BlobStorage. The access tier used for billing. protocol: ! {} - ! - schema: *ref_225 + schema: *ref_250 flattenedNames: - properties - azureFilesIdentityBasedAuthentication @@ -7798,7 +8652,7 @@ schemas: ! description: Provides the identity based authentication settings for Azure Files. protocol: ! {} - ! - schema: *ref_100 + schema: *ref_110 flattenedNames: - properties - supportsHttpsTrafficOnly @@ -7809,7 +8663,7 @@ schemas: ! description: Allows https traffic only to storage service if sets to true. protocol: ! {} - ! - schema: *ref_224 + schema: *ref_249 flattenedNames: - properties - networkAcls @@ -7820,7 +8674,7 @@ schemas: ! description: Network rule set protocol: ! {} - ! - schema: *ref_112 + schema: *ref_122 flattenedNames: - properties - largeFileSharesState @@ -7831,7 +8685,7 @@ schemas: ! description: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. protocol: ! {} - ! - schema: *ref_227 + schema: *ref_252 flattenedNames: - properties - routingPreference @@ -7851,19 +8705,19 @@ schemas: ! description: The parameters that can be provided when updating the storage account properties. namespace: '' protocol: ! {} - - ! &ref_472 + - ! &ref_509 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_315 + schema: ! &ref_343 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_127 + elementType: *ref_137 language: ! default: name: StorageAccountListResultValue @@ -7877,7 +8731,7 @@ schemas: ! description: Gets the list of storage accounts and their properties. protocol: ! {} - ! - schema: *ref_242 + schema: *ref_267 readOnly: true serializedName: nextLink language: ! @@ -7895,26 +8749,26 @@ schemas: ! description: The response from the List Storage Accounts operation. namespace: '' protocol: ! {} - - ! &ref_477 + - ! &ref_514 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_316 + schema: ! &ref_344 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_246 + elementType: ! &ref_271 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_243 + schema: *ref_268 readOnly: true serializedName: keyName language: ! @@ -7923,7 +8777,7 @@ schemas: ! description: Name of the key. protocol: ! {} - ! - schema: *ref_244 + schema: *ref_269 readOnly: true serializedName: value language: ! @@ -7932,7 +8786,7 @@ schemas: ! description: Base 64-encoded value of the key. protocol: ! {} - ! - schema: *ref_245 + schema: *ref_270 readOnly: true serializedName: permissions language: ! @@ -7972,15 +8826,15 @@ schemas: ! description: The response from the ListKeys operation. namespace: '' protocol: ! {} - - *ref_246 - - ! &ref_478 + - *ref_271 + - ! &ref_515 type: object apiVersions: - ! version: '2019-06-01' properties: - - ! &ref_480 - schema: *ref_247 + - ! &ref_517 + schema: *ref_272 required: true serializedName: keyName language: ! @@ -7998,26 +8852,26 @@ schemas: ! description: The parameters used to regenerate the storage account key. namespace: '' protocol: ! {} - - ! &ref_506 + - ! &ref_543 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_317 + schema: ! &ref_345 type: array apiVersions: - ! version: '2019-06-01' - elementType: ! &ref_253 + elementType: ! &ref_278 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_248 + schema: *ref_273 readOnly: true serializedName: unit language: ! @@ -8026,7 +8880,7 @@ schemas: ! description: Gets the unit of measurement. protocol: ! {} - ! - schema: *ref_249 + schema: *ref_274 readOnly: true serializedName: currentValue language: ! @@ -8035,7 +8889,7 @@ schemas: ! description: Gets the current count of the allocated resources in the subscription. protocol: ! {} - ! - schema: *ref_250 + schema: *ref_275 readOnly: true serializedName: limit language: ! @@ -8044,14 +8898,14 @@ schemas: ! description: Gets the maximum count of the resources that can be allocated in the subscription. protocol: ! {} - ! - schema: ! &ref_254 + schema: ! &ref_279 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_251 + schema: *ref_276 readOnly: true serializedName: value language: ! @@ -8060,7 +8914,7 @@ schemas: ! description: Gets a string describing the resource name. protocol: ! {} - ! - schema: *ref_252 + schema: *ref_277 readOnly: true serializedName: localizedValue language: ! @@ -8116,16 +8970,16 @@ schemas: ! description: The response from the List Usages operation. namespace: '' protocol: ! {} - - *ref_253 - - *ref_254 - - ! &ref_484 + - *ref_278 + - *ref_279 + - ! &ref_521 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_255 + schema: *ref_280 required: true serializedName: signedServices language: ! @@ -8134,7 +8988,7 @@ schemas: ! description: 'The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f).' protocol: ! {} - ! - schema: *ref_256 + schema: *ref_281 required: true serializedName: signedResourceTypes language: ! @@ -8145,7 +8999,7 @@ schemas: ! table entities, and files. protocol: ! {} - ! - schema: *ref_257 + schema: *ref_282 required: true serializedName: signedPermission language: ! @@ -8154,7 +9008,7 @@ schemas: ! description: 'The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).' protocol: ! {} - ! - schema: *ref_258 + schema: *ref_283 required: false serializedName: signedIp language: ! @@ -8163,7 +9017,7 @@ schemas: ! description: An IP address or a range of IP addresses from which to accept requests. protocol: ! {} - ! - schema: *ref_259 + schema: *ref_284 required: false serializedName: signedProtocol language: ! @@ -8172,7 +9026,7 @@ schemas: ! description: The protocol permitted for a request made with the account SAS. protocol: ! {} - ! - schema: *ref_260 + schema: *ref_285 required: false serializedName: signedStart language: ! @@ -8181,7 +9035,7 @@ schemas: ! description: The time at which the SAS becomes valid. protocol: ! {} - ! - schema: *ref_261 + schema: *ref_286 required: true serializedName: signedExpiry language: ! @@ -8190,7 +9044,7 @@ schemas: ! description: The time at which the shared access signature becomes invalid. protocol: ! {} - ! - schema: *ref_262 + schema: *ref_287 required: false serializedName: keyToSign language: ! @@ -8208,14 +9062,14 @@ schemas: ! description: The parameters to list SAS credentials of a storage account. namespace: '' protocol: ! {} - - ! &ref_488 + - ! &ref_525 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_263 + schema: *ref_288 readOnly: true serializedName: accountSasToken language: ! @@ -8233,14 +9087,14 @@ schemas: ! description: The List SAS credentials operation response. namespace: '' protocol: ! {} - - ! &ref_489 + - ! &ref_526 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_264 + schema: *ref_289 required: true serializedName: canonicalizedResource language: ! @@ -8249,7 +9103,7 @@ schemas: ! description: The canonical path to the signed resource. protocol: ! {} - ! - schema: *ref_265 + schema: *ref_290 required: false serializedName: signedResource language: ! @@ -8258,7 +9112,7 @@ schemas: ! description: 'The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s).' protocol: ! {} - ! - schema: *ref_257 + schema: *ref_282 required: false serializedName: signedPermission language: ! @@ -8267,7 +9121,7 @@ schemas: ! description: 'The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p).' protocol: ! {} - ! - schema: *ref_258 + schema: *ref_283 required: false serializedName: signedIp language: ! @@ -8276,7 +9130,7 @@ schemas: ! description: An IP address or a range of IP addresses from which to accept requests. protocol: ! {} - ! - schema: *ref_259 + schema: *ref_284 required: false serializedName: signedProtocol language: ! @@ -8285,7 +9139,7 @@ schemas: ! description: The protocol permitted for a request made with the account SAS. protocol: ! {} - ! - schema: *ref_260 + schema: *ref_285 required: false serializedName: signedStart language: ! @@ -8294,7 +9148,7 @@ schemas: ! description: The time at which the SAS becomes valid. protocol: ! {} - ! - schema: *ref_261 + schema: *ref_286 required: false serializedName: signedExpiry language: ! @@ -8303,7 +9157,7 @@ schemas: ! description: The time at which the shared access signature becomes invalid. protocol: ! {} - ! - schema: *ref_266 + schema: *ref_291 required: false serializedName: signedIdentifier language: ! @@ -8312,7 +9166,7 @@ schemas: ! description: 'A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table.' protocol: ! {} - ! - schema: *ref_267 + schema: *ref_292 required: false serializedName: startPk language: ! @@ -8321,7 +9175,7 @@ schemas: ! description: The start of partition key. protocol: ! {} - ! - schema: *ref_268 + schema: *ref_293 required: false serializedName: endPk language: ! @@ -8330,7 +9184,7 @@ schemas: ! description: The end of partition key. protocol: ! {} - ! - schema: *ref_269 + schema: *ref_294 required: false serializedName: startRk language: ! @@ -8339,7 +9193,7 @@ schemas: ! description: The start of row key. protocol: ! {} - ! - schema: *ref_270 + schema: *ref_295 required: false serializedName: endRk language: ! @@ -8348,7 +9202,7 @@ schemas: ! description: The end of row key. protocol: ! {} - ! - schema: *ref_271 + schema: *ref_296 required: false serializedName: keyToSign language: ! @@ -8357,7 +9211,7 @@ schemas: ! description: The key to sign the account SAS token with. protocol: ! {} - ! - schema: *ref_272 + schema: *ref_297 required: false serializedName: rscc language: ! @@ -8366,7 +9220,7 @@ schemas: ! description: The response header override for cache control. protocol: ! {} - ! - schema: *ref_273 + schema: *ref_298 required: false serializedName: rscd language: ! @@ -8375,7 +9229,7 @@ schemas: ! description: The response header override for content disposition. protocol: ! {} - ! - schema: *ref_274 + schema: *ref_299 required: false serializedName: rsce language: ! @@ -8384,7 +9238,7 @@ schemas: ! description: The response header override for content encoding. protocol: ! {} - ! - schema: *ref_275 + schema: *ref_300 required: false serializedName: rscl language: ! @@ -8393,7 +9247,7 @@ schemas: ! description: The response header override for content language. protocol: ! {} - ! - schema: *ref_276 + schema: *ref_301 required: false serializedName: rsct language: ! @@ -8411,14 +9265,14 @@ schemas: ! description: The parameters to list service SAS credentials of a specific resource. namespace: '' protocol: ! {} - - ! &ref_493 + - ! &ref_530 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_277 + schema: *ref_302 readOnly: true serializedName: serviceSasToken language: ! @@ -8436,24 +9290,25 @@ schemas: ! description: The List service SAS credentials operation response. namespace: '' protocol: ! {} - - *ref_149 - - *ref_278 - - *ref_279 - - *ref_280 - - *ref_281 - - *ref_282 - - *ref_136 - - *ref_283 - - *ref_284 - - *ref_285 - - ! &ref_520 + - *ref_171 + - *ref_303 + - *ref_304 + - *ref_305 + - *ref_306 + - *ref_307 + - *ref_146 + - *ref_308 + - *ref_309 + - *ref_310 + - *ref_311 + - ! &ref_557 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: *ref_286 + schema: *ref_312 serializedName: code language: ! default: @@ -8461,7 +9316,7 @@ schemas: ! description: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. protocol: ! {} - ! - schema: *ref_287 + schema: *ref_313 serializedName: message language: ! default: @@ -8478,19 +9333,19 @@ schemas: ! description: An error response from the storage resource provider. namespace: '' protocol: ! {} - - ! &ref_534 + - ! &ref_571 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_323 + schema: ! &ref_352 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_150 + elementType: *ref_172 language: ! default: name: PrivateLinkResourceListResultValue @@ -8512,22 +9367,59 @@ schemas: ! description: A list of private link resources namespace: '' protocol: ! {} - - *ref_150 - - *ref_151 - - *ref_288 - - ! &ref_548 + - *ref_172 + - ! &ref_574 type: object apiVersions: - ! version: '2019-06-01' properties: - ! - schema: ! &ref_324 + schema: ! &ref_355 type: array apiVersions: - ! version: '2019-06-01' - elementType: *ref_151 + elementType: *ref_173 + language: ! + default: + name: ObjectReplicationPoliciesValue + description: The replication policy between two storage accounts. + protocol: ! {} + serializedName: value + language: ! + default: + name: value + description: The replication policy between two storage accounts. + protocol: ! {} + serializationFormats: + - json + usage: + - output + language: ! + default: + name: ObjectReplicationPolicies + description: List storage account object replication policies. + namespace: '' + protocol: ! {} + - *ref_173 + - *ref_314 + - *ref_315 + - *ref_174 + - *ref_316 + - ! &ref_599 + type: object + apiVersions: + - ! + version: '2019-06-01' + properties: + - ! + schema: ! &ref_356 + type: array + apiVersions: + - ! + version: '2019-06-01' + elementType: *ref_174 language: ! default: name: EncryptionScopeListResultValue @@ -8541,7 +9433,7 @@ schemas: ! description: List of encryption scopes requested. protocol: ! {} - ! - schema: *ref_289 + schema: *ref_317 readOnly: true serializedName: nextLink language: ! @@ -8560,34 +9452,6 @@ schemas: ! namespace: '' protocol: ! {} arrays: - - *ref_290 - - *ref_291 - - *ref_292 - - *ref_293 - - *ref_294 - - *ref_295 - - *ref_296 - - *ref_297 - - *ref_298 - - *ref_299 - - *ref_300 - - *ref_301 - - *ref_302 - - *ref_303 - - *ref_304 - - *ref_305 - - *ref_306 - - *ref_307 - - *ref_308 - - *ref_309 - - *ref_310 - - *ref_311 - - *ref_312 - - *ref_313 - - *ref_314 - - *ref_315 - - *ref_316 - - *ref_317 - *ref_318 - *ref_319 - *ref_320 @@ -8595,9 +9459,41 @@ schemas: ! - *ref_322 - *ref_323 - *ref_324 + - *ref_325 + - *ref_326 + - *ref_327 + - *ref_328 + - *ref_329 + - *ref_330 + - *ref_331 + - *ref_332 + - *ref_333 + - *ref_334 + - *ref_335 + - *ref_336 + - *ref_337 + - *ref_338 + - *ref_339 + - *ref_340 + - *ref_341 + - *ref_342 + - *ref_343 + - *ref_344 + - *ref_345 + - *ref_346 + - *ref_347 + - *ref_348 + - *ref_349 + - *ref_350 + - *ref_351 + - *ref_352 + - *ref_353 + - *ref_354 + - *ref_355 + - *ref_356 globalParameters: -- ! &ref_331 - schema: *ref_325 +- ! &ref_363 + schema: *ref_357 implementation: Client required: true extensions: @@ -8610,7 +9506,7 @@ globalParameters: protocol: ! http: ! in: path -- ! &ref_327 +- ! &ref_359 schema: *ref_0 clientDefaultValue: 'https://management.azure.com' implementation: Client @@ -8626,8 +9522,8 @@ globalParameters: protocol: ! http: ! in: uri -- ! &ref_330 - schema: *ref_326 +- ! &ref_362 + schema: *ref_358 implementation: Client origin: 'modelerfour:synthesized/api-version' required: true @@ -8648,9 +9544,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_332 - schema: *ref_328 + - *ref_359 + - ! &ref_364 + schema: *ref_360 implementation: Method required: true language: ! @@ -8661,8 +9557,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_333 - schema: *ref_329 + - ! &ref_365 + schema: *ref_361 implementation: Method required: true language: ! @@ -8673,8 +9569,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -8687,11 +9583,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_332 - - *ref_333 + - *ref_364 + - *ref_365 responses: - ! - schema: *ref_334 + schema: *ref_366 language: ! default: name: '' @@ -8785,9 +9681,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_338 - schema: *ref_328 + - *ref_359 + - ! &ref_370 + schema: *ref_360 implementation: Method required: true language: ! @@ -8798,8 +9694,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_339 - schema: *ref_329 + - ! &ref_371 + schema: *ref_361 implementation: Method required: true language: ! @@ -8810,10 +9706,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -8828,7 +9724,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -8840,7 +9736,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_337 + - ! &ref_369 schema: *ref_4 implementation: Method required: true @@ -8853,7 +9749,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_337 + - *ref_369 language: ! default: name: '' @@ -8867,8 +9763,8 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_338 - - *ref_339 + - *ref_370 + - *ref_371 responses: - ! schema: *ref_4 @@ -9011,9 +9907,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_340 - schema: *ref_328 + - *ref_359 + - ! &ref_372 + schema: *ref_360 implementation: Method required: true language: ! @@ -9024,8 +9920,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_341 - schema: *ref_329 + - ! &ref_373 + schema: *ref_361 implementation: Method required: true language: ! @@ -9036,10 +9932,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -9062,8 +9958,8 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_340 - - *ref_341 + - *ref_372 + - *ref_373 responses: - ! schema: *ref_4 @@ -9164,9 +10060,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_342 - schema: *ref_328 + - *ref_359 + - ! &ref_374 + schema: *ref_360 implementation: Method required: true language: ! @@ -9177,8 +10073,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_343 - schema: *ref_329 + - ! &ref_375 + schema: *ref_361 implementation: Method required: true language: ! @@ -9189,9 +10085,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_344 + - *ref_362 + - *ref_363 + - ! &ref_376 schema: *ref_1 implementation: Method language: ! @@ -9202,7 +10098,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_345 + - ! &ref_377 schema: *ref_1 implementation: Method language: ! @@ -9225,13 +10121,13 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_342 - - *ref_343 - - *ref_344 - - *ref_345 + - *ref_374 + - *ref_375 + - *ref_376 + - *ref_377 responses: - ! - schema: *ref_346 + schema: *ref_378 language: ! default: name: '' @@ -9294,9 +10190,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_349 - schema: *ref_328 + - *ref_359 + - ! &ref_381 + schema: *ref_360 implementation: Method required: true language: ! @@ -9307,8 +10203,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_350 - schema: *ref_329 + - ! &ref_382 + schema: *ref_361 implementation: Method required: true language: ! @@ -9319,8 +10215,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_351 - schema: *ref_347 + - ! &ref_383 + schema: *ref_379 implementation: Method required: true language: ! @@ -9333,13 +10229,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -9351,8 +10247,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_348 - schema: *ref_37 + - ! &ref_380 + schema: *ref_47 implementation: Method required: true language: ! @@ -9364,7 +10260,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_348 + - *ref_380 language: ! default: name: '' @@ -9378,12 +10274,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_349 - - *ref_350 - - *ref_351 + - *ref_381 + - *ref_382 + - *ref_383 responses: - ! - schema: *ref_37 + schema: *ref_47 language: ! default: name: '' @@ -9396,7 +10292,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_37 + schema: *ref_47 language: ! default: name: '' @@ -9469,9 +10365,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_353 - schema: *ref_328 + - *ref_359 + - ! &ref_385 + schema: *ref_360 implementation: Method required: true language: ! @@ -9482,8 +10378,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_354 - schema: *ref_329 + - ! &ref_386 + schema: *ref_361 implementation: Method required: true language: ! @@ -9494,8 +10390,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_355 - schema: *ref_347 + - ! &ref_387 + schema: *ref_379 implementation: Method required: true language: ! @@ -9508,13 +10404,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -9526,8 +10422,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_352 - schema: *ref_37 + - ! &ref_384 + schema: *ref_47 implementation: Method required: true language: ! @@ -9539,7 +10435,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_352 + - *ref_384 language: ! default: name: '' @@ -9553,12 +10449,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_353 - - *ref_354 - - *ref_355 + - *ref_385 + - *ref_386 + - *ref_387 responses: - ! - schema: *ref_37 + schema: *ref_47 language: ! default: name: '' @@ -9607,9 +10503,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_356 - schema: *ref_328 + - *ref_359 + - ! &ref_388 + schema: *ref_360 implementation: Method required: true language: ! @@ -9620,8 +10516,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_357 - schema: *ref_329 + - ! &ref_389 + schema: *ref_361 implementation: Method required: true language: ! @@ -9632,8 +10528,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_358 - schema: *ref_347 + - ! &ref_390 + schema: *ref_379 implementation: Method required: true language: ! @@ -9646,8 +10542,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -9660,12 +10556,12 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_356 - - *ref_357 - - *ref_358 + - *ref_388 + - *ref_389 + - *ref_390 responses: - ! - schema: *ref_37 + schema: *ref_47 language: ! default: name: '' @@ -9747,9 +10643,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_359 - schema: *ref_328 + - *ref_359 + - ! &ref_391 + schema: *ref_360 implementation: Method required: true language: ! @@ -9760,8 +10656,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_360 - schema: *ref_329 + - ! &ref_392 + schema: *ref_361 implementation: Method required: true language: ! @@ -9772,8 +10668,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_361 - schema: *ref_347 + - ! &ref_393 + schema: *ref_379 implementation: Method required: true language: ! @@ -9786,8 +10682,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -9800,9 +10696,9 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_359 - - *ref_360 - - *ref_361 + - *ref_391 + - *ref_392 + - *ref_393 responses: - ! language: ! @@ -9845,9 +10741,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_366 - schema: *ref_328 + - *ref_359 + - ! &ref_398 + schema: *ref_360 implementation: Method required: true language: ! @@ -9858,8 +10754,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_367 - schema: *ref_329 + - ! &ref_399 + schema: *ref_361 implementation: Method required: true language: ! @@ -9870,8 +10766,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_368 - schema: *ref_347 + - ! &ref_400 + schema: *ref_379 implementation: Method required: true language: ! @@ -9884,13 +10780,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -9902,8 +10798,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_363 - schema: *ref_362 + - ! &ref_395 + schema: *ref_394 flattened: true implementation: Method required: true @@ -9915,20 +10811,20 @@ operationGroups: http: ! in: body style: json - - ! &ref_365 - schema: *ref_299 + - ! &ref_397 + schema: *ref_327 implementation: Method - originalParameter: *ref_363 + originalParameter: *ref_395 pathToProperty: [] required: true - targetProperty: *ref_364 + targetProperty: *ref_396 language: ! default: name: tags description: Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP. protocol: ! {} signatureParameters: - - *ref_365 + - *ref_397 language: ! default: name: '' @@ -9942,12 +10838,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_366 - - *ref_367 - - *ref_368 + - *ref_398 + - *ref_399 + - *ref_400 responses: - ! - schema: *ref_362 + schema: *ref_394 language: ! default: name: '' @@ -9992,9 +10888,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_371 - schema: *ref_328 + - *ref_359 + - ! &ref_403 + schema: *ref_360 implementation: Method required: true language: ! @@ -10005,8 +10901,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_372 - schema: *ref_329 + - ! &ref_404 + schema: *ref_361 implementation: Method required: true language: ! @@ -10017,8 +10913,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_373 - schema: *ref_347 + - ! &ref_405 + schema: *ref_379 implementation: Method required: true language: ! @@ -10031,13 +10927,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -10049,8 +10945,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_369 - schema: *ref_362 + - ! &ref_401 + schema: *ref_394 flattened: true implementation: Method required: true @@ -10062,20 +10958,20 @@ operationGroups: http: ! in: body style: json - - ! &ref_370 - schema: *ref_299 + - ! &ref_402 + schema: *ref_327 implementation: Method - originalParameter: *ref_369 + originalParameter: *ref_401 pathToProperty: [] required: true - targetProperty: *ref_364 + targetProperty: *ref_396 language: ! default: name: tags description: Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP. protocol: ! {} signatureParameters: - - *ref_370 + - *ref_402 language: ! default: name: '' @@ -10089,12 +10985,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_371 - - *ref_372 - - *ref_373 + - *ref_403 + - *ref_404 + - *ref_405 responses: - ! - schema: *ref_362 + schema: *ref_394 language: ! default: name: '' @@ -10136,9 +11032,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_379 - schema: *ref_328 + - *ref_359 + - ! &ref_411 + schema: *ref_360 implementation: Method required: true language: ! @@ -10149,8 +11045,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_380 - schema: *ref_329 + - ! &ref_412 + schema: *ref_361 implementation: Method required: true language: ! @@ -10161,8 +11057,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_381 - schema: *ref_347 + - ! &ref_413 + schema: *ref_379 implementation: Method required: true language: ! @@ -10176,7 +11072,7 @@ operationGroups: http: ! in: path - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -10187,9 +11083,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_382 + - *ref_362 + - *ref_363 + - ! &ref_414 schema: *ref_1 implementation: Method language: ! @@ -10204,7 +11100,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -10216,8 +11112,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_374 - schema: *ref_38 + - ! &ref_406 + schema: *ref_48 flattened: true implementation: Method required: false @@ -10229,23 +11125,23 @@ operationGroups: http: ! in: body style: json - - ! &ref_377 + - ! &ref_409 schema: *ref_17 implementation: Method - originalParameter: *ref_374 + originalParameter: *ref_406 pathToProperty: [] - targetProperty: *ref_375 + targetProperty: *ref_407 language: ! default: name: immutabilityPeriodSinceCreationInDays description: 'The immutability period for the blobs in the container since the policy creation, in days.' protocol: ! {} - - ! &ref_378 + - ! &ref_410 schema: *ref_23 implementation: Method - originalParameter: *ref_374 + originalParameter: *ref_406 pathToProperty: [] - targetProperty: *ref_376 + targetProperty: *ref_408 language: ! default: name: allowProtectedAppendWrites @@ -10254,8 +11150,8 @@ operationGroups: any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API protocol: ! {} signatureParameters: - - *ref_377 - - *ref_378 + - *ref_409 + - *ref_410 language: ! default: name: '' @@ -10269,13 +11165,13 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_379 - - *ref_380 - - *ref_381 - - *ref_382 + - *ref_411 + - *ref_412 + - *ref_413 + - *ref_414 responses: - ! - schema: *ref_38 + schema: *ref_48 language: ! default: name: '' @@ -10327,9 +11223,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_384 - schema: *ref_328 + - *ref_359 + - ! &ref_416 + schema: *ref_360 implementation: Method required: true language: ! @@ -10340,8 +11236,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_385 - schema: *ref_329 + - ! &ref_417 + schema: *ref_361 implementation: Method required: true language: ! @@ -10352,8 +11248,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_386 - schema: *ref_347 + - ! &ref_418 + schema: *ref_379 implementation: Method required: true language: ! @@ -10367,7 +11263,7 @@ operationGroups: http: ! in: path - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -10378,10 +11274,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_387 - schema: *ref_383 + - *ref_362 + - *ref_363 + - ! &ref_419 + schema: *ref_415 implementation: Method language: ! default: @@ -10403,13 +11299,13 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_384 - - *ref_385 - - *ref_386 - - *ref_387 + - *ref_416 + - *ref_417 + - *ref_418 + - *ref_419 responses: - ! - schema: *ref_38 + schema: *ref_48 language: ! default: name: '' @@ -10418,7 +11314,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_383 + schema: *ref_415 header: ETag knownMediaType: json mediaTypes: @@ -10457,9 +11353,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_389 - schema: *ref_328 + - *ref_359 + - ! &ref_421 + schema: *ref_360 implementation: Method required: true language: ! @@ -10470,8 +11366,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_390 - schema: *ref_329 + - ! &ref_422 + schema: *ref_361 implementation: Method required: true language: ! @@ -10482,8 +11378,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_391 - schema: *ref_347 + - ! &ref_423 + schema: *ref_379 implementation: Method required: true language: ! @@ -10497,7 +11393,7 @@ operationGroups: http: ! in: path - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -10508,10 +11404,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_392 - schema: *ref_388 + - *ref_362 + - *ref_363 + - ! &ref_424 + schema: *ref_420 implementation: Method required: true language: ! @@ -10534,13 +11430,13 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_389 - - *ref_390 - - *ref_391 - - *ref_392 + - *ref_421 + - *ref_422 + - *ref_423 + - *ref_424 responses: - ! - schema: *ref_38 + schema: *ref_48 language: ! default: name: '' @@ -10549,7 +11445,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_388 + schema: *ref_420 header: ETag knownMediaType: json mediaTypes: @@ -10590,9 +11486,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_394 - schema: *ref_328 + - *ref_359 + - ! &ref_426 + schema: *ref_360 implementation: Method required: true language: ! @@ -10603,8 +11499,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_395 - schema: *ref_329 + - ! &ref_427 + schema: *ref_361 implementation: Method required: true language: ! @@ -10615,8 +11511,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_396 - schema: *ref_347 + - ! &ref_428 + schema: *ref_379 implementation: Method required: true language: ! @@ -10629,10 +11525,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_397 - schema: *ref_393 + - *ref_362 + - *ref_363 + - ! &ref_429 + schema: *ref_425 implementation: Method required: true language: ! @@ -10655,13 +11551,13 @@ operationGroups: method: post uri: '{$host}' signatureParameters: - - *ref_394 - - *ref_395 - - *ref_396 - - *ref_397 + - *ref_426 + - *ref_427 + - *ref_428 + - *ref_429 responses: - ! - schema: *ref_38 + schema: *ref_48 language: ! default: name: '' @@ -10670,7 +11566,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_393 + schema: *ref_425 header: ETag knownMediaType: json mediaTypes: @@ -10708,9 +11604,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_402 - schema: *ref_328 + - *ref_359 + - ! &ref_434 + schema: *ref_360 implementation: Method required: true language: ! @@ -10721,8 +11617,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_403 - schema: *ref_329 + - ! &ref_435 + schema: *ref_361 implementation: Method required: true language: ! @@ -10733,8 +11629,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_404 - schema: *ref_347 + - ! &ref_436 + schema: *ref_379 implementation: Method required: true language: ! @@ -10747,10 +11643,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_405 - schema: *ref_398 + - *ref_362 + - *ref_363 + - ! &ref_437 + schema: *ref_430 implementation: Method required: true language: ! @@ -10765,7 +11661,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -10777,8 +11673,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_399 - schema: *ref_38 + - ! &ref_431 + schema: *ref_48 flattened: true implementation: Method required: false @@ -10790,23 +11686,23 @@ operationGroups: http: ! in: body style: json - - ! &ref_400 + - ! &ref_432 schema: *ref_17 implementation: Method - originalParameter: *ref_399 + originalParameter: *ref_431 pathToProperty: [] - targetProperty: *ref_375 + targetProperty: *ref_407 language: ! default: name: immutabilityPeriodSinceCreationInDays description: 'The immutability period for the blobs in the container since the policy creation, in days.' protocol: ! {} - - ! &ref_401 + - ! &ref_433 schema: *ref_23 implementation: Method - originalParameter: *ref_399 + originalParameter: *ref_431 pathToProperty: [] - targetProperty: *ref_376 + targetProperty: *ref_408 language: ! default: name: allowProtectedAppendWrites @@ -10815,8 +11711,8 @@ operationGroups: any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API protocol: ! {} signatureParameters: - - *ref_400 - - *ref_401 + - *ref_432 + - *ref_433 language: ! default: name: '' @@ -10830,13 +11726,13 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_402 - - *ref_403 - - *ref_404 - - *ref_405 + - *ref_434 + - *ref_435 + - *ref_436 + - *ref_437 responses: - ! - schema: *ref_38 + schema: *ref_48 language: ! default: name: '' @@ -10845,7 +11741,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_398 + schema: *ref_430 header: ETag knownMediaType: json mediaTypes: @@ -10886,9 +11782,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_408 - schema: *ref_328 + - *ref_359 + - ! &ref_440 + schema: *ref_360 implementation: Method required: true language: ! @@ -10899,8 +11795,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_409 - schema: *ref_329 + - ! &ref_441 + schema: *ref_361 implementation: Method required: true language: ! @@ -10911,8 +11807,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_410 - schema: *ref_347 + - ! &ref_442 + schema: *ref_379 implementation: Method required: true language: ! @@ -10925,13 +11821,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -10943,8 +11839,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_407 - schema: *ref_406 + - ! &ref_439 + schema: *ref_438 implementation: Method required: false language: ! @@ -10956,7 +11852,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_407 + - *ref_439 language: ! default: name: '' @@ -10970,12 +11866,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_408 - - *ref_409 - - *ref_410 + - *ref_440 + - *ref_441 + - *ref_442 responses: - ! - schema: *ref_411 + schema: *ref_443 language: ! default: name: '' @@ -11043,9 +11939,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_412 - schema: *ref_328 + - *ref_359 + - ! &ref_444 + schema: *ref_360 implementation: Method required: true language: ! @@ -11056,8 +11952,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_413 - schema: *ref_329 + - ! &ref_445 + schema: *ref_361 implementation: Method required: true language: ! @@ -11068,8 +11964,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -11082,11 +11978,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_412 - - *ref_413 + - *ref_444 + - *ref_445 responses: - ! - schema: *ref_414 + schema: *ref_446 language: ! default: name: '' @@ -11100,7 +11996,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -11183,9 +12079,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_421 - schema: *ref_328 + - *ref_359 + - ! &ref_453 + schema: *ref_360 implementation: Method required: true language: ! @@ -11196,8 +12092,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_422 - schema: *ref_329 + - ! &ref_454 + schema: *ref_361 implementation: Method required: true language: ! @@ -11208,10 +12104,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -11226,7 +12122,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -11238,8 +12134,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_416 - schema: *ref_148 + - ! &ref_448 + schema: *ref_170 flattened: true implementation: Method required: true @@ -11251,12 +12147,12 @@ operationGroups: http: ! in: body style: json - - ! &ref_419 - schema: *ref_155 + - ! &ref_451 + schema: *ref_178 implementation: Method - originalParameter: *ref_416 + originalParameter: *ref_448 pathToProperty: [] - targetProperty: *ref_417 + targetProperty: *ref_449 language: ! default: name: cors @@ -11264,20 +12160,20 @@ operationGroups: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service. protocol: ! {} - - ! &ref_420 - schema: *ref_157 + - ! &ref_452 + schema: *ref_180 implementation: Method - originalParameter: *ref_416 + originalParameter: *ref_448 pathToProperty: [] - targetProperty: *ref_418 + targetProperty: *ref_450 language: ! default: name: shareDeleteRetentionPolicy description: The file service properties for share soft delete. protocol: ! {} signatureParameters: - - *ref_419 - - *ref_420 + - *ref_451 + - *ref_452 language: ! default: name: '' @@ -11291,11 +12187,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_421 - - *ref_422 + - *ref_453 + - *ref_454 responses: - ! - schema: *ref_148 + schema: *ref_170 language: ! default: name: '' @@ -11309,7 +12205,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -11435,9 +12331,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_423 - schema: *ref_328 + - *ref_359 + - ! &ref_455 + schema: *ref_360 implementation: Method required: true language: ! @@ -11448,8 +12344,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_424 - schema: *ref_329 + - ! &ref_456 + schema: *ref_361 implementation: Method required: true language: ! @@ -11460,10 +12356,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_335 + schema: *ref_367 implementation: Method required: true language: ! @@ -11486,11 +12382,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_423 - - *ref_424 + - *ref_455 + - *ref_456 responses: - ! - schema: *ref_148 + schema: *ref_170 language: ! default: name: '' @@ -11504,7 +12400,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -11595,9 +12491,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_425 - schema: *ref_328 + - *ref_359 + - ! &ref_458 + schema: *ref_360 implementation: Method required: true language: ! @@ -11608,8 +12504,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_426 - schema: *ref_329 + - ! &ref_459 + schema: *ref_361 implementation: Method required: true language: ! @@ -11620,9 +12516,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_427 + - *ref_362 + - *ref_363 + - ! &ref_460 schema: *ref_2 implementation: Method language: ! @@ -11633,7 +12529,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_428 + - ! &ref_461 schema: *ref_2 implementation: Method language: ! @@ -11644,6 +12540,17 @@ operationGroups: protocol: ! http: ! in: query + - ! + schema: *ref_457 + implementation: Method + language: ! + default: + name: expand + description: 'Optional, used to expand the properties within share''s properties.' + serializedName: $expand + protocol: ! + http: ! + in: query requests: - ! language: ! @@ -11656,13 +12563,13 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_425 - - *ref_426 - - *ref_427 - - *ref_428 + - *ref_458 + - *ref_459 + - *ref_460 + - *ref_461 responses: - ! - schema: *ref_429 + schema: *ref_462 language: ! default: name: '' @@ -11676,7 +12583,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -11690,6 +12597,36 @@ operationGroups: - default extensions: x-ms-examples: + ListDeletedShares: + parameters: + $expand: deleted + accountName: sto1590 + api-version: '2019-06-01' + monitor: 'true' + resourceGroupName: res9290 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + value: + - name: share1644 + type: Microsoft.Storage/storageAccounts/fileServices/shares + etag: '"0x8D589847D51C7DE"' + id: '/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644_1234567890' + properties: + deleted: true + deletedTime: '2019-12-14T08:20:47Z' + lastModifiedTime: '2019-05-14T08:20:47Z' + remainingRetentionDays: 30 + shareQuota: 1024 + version: '1234567890' + - name: share4052 + type: Microsoft.Storage/storageAccounts/fileServices/shares + etag: '"0x8D589847DAB5AF9"' + id: '/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052' + properties: + lastModifiedTime: '2019-05-14T08:20:47Z' + shareQuota: 1024 ListShares: parameters: accountName: sto1590 @@ -11731,9 +12668,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_435 - schema: *ref_328 + - *ref_359 + - ! &ref_464 + schema: *ref_360 implementation: Method required: true language: ! @@ -11744,8 +12681,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_436 - schema: *ref_329 + - ! &ref_465 + schema: *ref_361 implementation: Method required: true language: ! @@ -11756,8 +12693,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_437 - schema: *ref_347 + - ! &ref_466 + schema: *ref_379 implementation: Method required: true language: ! @@ -11770,13 +12707,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -11788,9 +12725,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_430 - schema: *ref_40 - flattened: true + - ! &ref_463 + schema: *ref_50 implementation: Method required: true language: ! @@ -11801,31 +12737,8 @@ operationGroups: http: ! in: body style: json - - ! &ref_433 - schema: *ref_34 - implementation: Method - originalParameter: *ref_430 - pathToProperty: [] - targetProperty: *ref_431 - language: ! - default: - name: metadata - description: A name-value pair to associate with the share as metadata. - protocol: ! {} - - ! &ref_434 - schema: *ref_35 - implementation: Method - originalParameter: *ref_430 - pathToProperty: [] - targetProperty: *ref_432 - language: ! - default: - name: shareQuota - description: 'The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.' - protocol: ! {} signatureParameters: - - *ref_433 - - *ref_434 + - *ref_463 language: ! default: name: '' @@ -11839,12 +12752,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_435 - - *ref_436 - - *ref_437 + - *ref_464 + - *ref_465 + - *ref_466 responses: - ! - schema: *ref_40 + schema: *ref_50 language: ! default: name: '' @@ -11857,7 +12770,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_40 + schema: *ref_50 language: ! default: name: '' @@ -11871,7 +12784,7 @@ operationGroups: - '201' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -11885,6 +12798,32 @@ operationGroups: - default extensions: x-ms-examples: + Create NFS Shares: + parameters: + accountName: sto666 + api-version: '2019-06-01' + fileShare: + properties: + enabledProtocols: NFS + monitor: 'true' + resourceGroupName: res346 + shareName: share1235 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: share1235 + type: Microsoft.Storage/storageAccounts/fileServices/shares + id: '/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235' + properties: + enabledProtocols: NFS + '201': + body: + name: share1235 + type: Microsoft.Storage/storageAccounts/fileServices/shares + id: '/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235' + properties: + enabledProtocols: NFS PutShares: parameters: accountName: sto328 @@ -11905,6 +12844,32 @@ operationGroups: name: share6185 type: Microsoft.Storage/storageAccounts/fileServices/shares id: '/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185' + PutShares with Access Tier: + parameters: + accountName: sto666 + api-version: '2019-06-01' + fileShare: + properties: + accessTier: Hot + monitor: 'true' + resourceGroupName: res346 + shareName: share1235 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: share1235 + type: Microsoft.Storage/storageAccounts/fileServices/shares + id: '/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235' + properties: + accessTier: Hot + '201': + body: + name: share1235 + type: Microsoft.Storage/storageAccounts/fileServices/shares + id: '/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235' + properties: + accessTier: Hot language: ! default: name: Create @@ -11915,9 +12880,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_441 - schema: *ref_328 + - *ref_359 + - ! &ref_468 + schema: *ref_360 implementation: Method required: true language: ! @@ -11928,8 +12893,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_442 - schema: *ref_329 + - ! &ref_469 + schema: *ref_361 implementation: Method required: true language: ! @@ -11940,8 +12905,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_443 - schema: *ref_347 + - ! &ref_470 + schema: *ref_379 implementation: Method required: true language: ! @@ -11954,13 +12919,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -11972,9 +12937,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_438 - schema: *ref_40 - flattened: true + - ! &ref_467 + schema: *ref_50 implementation: Method required: true language: ! @@ -11985,31 +12949,8 @@ operationGroups: http: ! in: body style: json - - ! &ref_439 - schema: *ref_34 - implementation: Method - originalParameter: *ref_438 - pathToProperty: [] - targetProperty: *ref_431 - language: ! - default: - name: metadata - description: A name-value pair to associate with the share as metadata. - protocol: ! {} - - ! &ref_440 - schema: *ref_35 - implementation: Method - originalParameter: *ref_438 - pathToProperty: [] - targetProperty: *ref_432 - language: ! - default: - name: shareQuota - description: 'The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400.' - protocol: ! {} signatureParameters: - - *ref_439 - - *ref_440 + - *ref_467 language: ! default: name: '' @@ -12023,12 +12964,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_441 - - *ref_442 - - *ref_443 + - *ref_468 + - *ref_469 + - *ref_470 responses: - ! - schema: *ref_40 + schema: *ref_50 language: ! default: name: '' @@ -12042,7 +12983,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -12087,9 +13028,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_444 - schema: *ref_328 + - *ref_359 + - ! &ref_472 + schema: *ref_360 implementation: Method required: true language: ! @@ -12100,8 +13041,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_445 - schema: *ref_329 + - ! &ref_473 + schema: *ref_361 implementation: Method required: true language: ! @@ -12112,8 +13053,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_446 - schema: *ref_347 + - ! &ref_474 + schema: *ref_379 implementation: Method required: true language: ! @@ -12126,8 +13067,19 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 + - ! + schema: *ref_471 + implementation: Method + language: ! + default: + name: expand + description: 'Optional, used to expand the properties within share''s properties.' + serializedName: $expand + protocol: ! + http: ! + in: query requests: - ! language: ! @@ -12140,12 +13092,12 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_444 - - *ref_445 - - *ref_446 + - *ref_472 + - *ref_473 + - *ref_474 responses: - ! - schema: *ref_40 + schema: *ref_50 language: ! default: name: '' @@ -12159,7 +13111,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -12173,6 +13125,26 @@ operationGroups: - default extensions: x-ms-examples: + GetShareStats: + parameters: + $expand: stats + accountName: sto6217 + api-version: '2019-06-01' + monitor: 'true' + resourceGroupName: res9871 + shareName: share1634 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: share1634 + type: Microsoft.Storage/storageAccounts/fileServices/shares + etag: '"0x8D592D74CC20EBA"' + id: '/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634' + properties: + lastModifiedTime: '2019-05-26T05:06:14Z' + shareQuota: 1024 + shareUsageBytes: 652945 GetShares: parameters: accountName: sto6217 @@ -12201,9 +13173,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_447 - schema: *ref_328 + - *ref_359 + - ! &ref_475 + schema: *ref_360 implementation: Method required: true language: ! @@ -12214,8 +13186,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_448 - schema: *ref_329 + - ! &ref_476 + schema: *ref_361 implementation: Method required: true language: ! @@ -12226,8 +13198,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_449 - schema: *ref_347 + - ! &ref_477 + schema: *ref_379 implementation: Method required: true language: ! @@ -12240,8 +13212,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -12254,9 +13226,9 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_447 - - *ref_448 - - *ref_449 + - *ref_475 + - *ref_476 + - *ref_477 responses: - ! language: ! @@ -12278,7 +13250,7 @@ operationGroups: - '204' exceptions: - ! - schema: *ref_415 + schema: *ref_447 language: ! default: name: '' @@ -12308,6 +13280,168 @@ operationGroups: name: Delete description: Deletes specified share under its account. protocol: ! {} + - ! + apiVersions: + - ! + version: '2019-06-01' + parameters: + - *ref_359 + - ! &ref_484 + schema: *ref_360 + implementation: Method + required: true + language: ! + default: + name: resourceGroupName + description: The name of the resource group within the user's subscription. The name is case insensitive. + serializedName: resourceGroupName + protocol: ! + http: ! + in: path + - ! &ref_485 + schema: *ref_361 + implementation: Method + required: true + language: ! + default: + name: accountName + description: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + serializedName: accountName + protocol: ! + http: ! + in: path + - ! &ref_486 + schema: *ref_379 + implementation: Method + required: true + language: ! + default: + name: shareName + description: >- + The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately + preceded and followed by a letter or number. + serializedName: shareName + protocol: ! + http: ! + in: path + - *ref_362 + - *ref_363 + requests: + - ! + parameters: + - ! + schema: *ref_368 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Body Parameter content-type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_479 + schema: *ref_478 + flattened: true + implementation: Method + required: true + language: ! + default: + name: deletedShare + description: '' + protocol: ! + http: ! + in: body + style: json + - ! &ref_482 + schema: *ref_206 + implementation: Method + originalParameter: *ref_479 + pathToProperty: [] + required: true + targetProperty: *ref_480 + language: ! + default: + name: deletedShareName + description: Required. Identify the name of the deleted share that will be restored. + protocol: ! {} + - ! &ref_483 + schema: *ref_207 + implementation: Method + originalParameter: *ref_479 + pathToProperty: [] + required: true + targetProperty: *ref_481 + language: ! + default: + name: deletedShareVersion + description: Required. Identify the version of the deleted share that will be restored. + protocol: ! {} + signatureParameters: + - *ref_482 + - *ref_483 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore' + method: post + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_484 + - *ref_485 + - *ref_486 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + exceptions: + - ! + schema: *ref_447 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + RestoreShares: + parameters: + accountName: sto328 + api-version: '2019-06-01' + deletedShare: + deletedShareName: share1249 + deletedShareVersion: '1234567890' + monitor: 'true' + resourceGroupName: res3376 + shareName: share1249 + subscriptionId: '{subscription-id}' + responses: + '200': {} + language: ! + default: + name: Restore + description: Restore a file share within a valid retention days if share soft delete is enabled + protocol: ! {} language: ! default: name: FileShares @@ -12321,8 +13455,8 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - *ref_330 + - *ref_359 + - *ref_362 requests: - ! language: ! @@ -12337,7 +13471,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_450 + schema: *ref_487 language: ! default: name: '' @@ -12699,9 +13833,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - *ref_330 - - *ref_331 + - *ref_359 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -12716,7 +13850,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_451 + schema: *ref_488 language: ! default: name: '' @@ -16476,14 +17610,14 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - *ref_330 - - *ref_331 + - *ref_359 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -16495,8 +17629,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_453 - schema: *ref_452 + - ! &ref_490 + schema: *ref_489 flattened: true implementation: Method required: true @@ -16508,32 +17642,32 @@ operationGroups: http: ! in: body style: json - - ! &ref_456 - schema: *ref_214 + - ! &ref_493 + schema: *ref_239 implementation: Method - originalParameter: *ref_453 + originalParameter: *ref_490 pathToProperty: [] required: true - targetProperty: *ref_454 + targetProperty: *ref_491 language: ! default: name: name description: The storage account name. protocol: ! {} - ! - schema: *ref_215 + schema: *ref_240 implementation: Method - originalParameter: *ref_453 + originalParameter: *ref_490 pathToProperty: [] required: true - targetProperty: *ref_455 + targetProperty: *ref_492 language: ! default: name: type description: 'The type of resource, Microsoft.Storage/storageAccounts' protocol: ! {} signatureParameters: - - *ref_456 + - *ref_493 language: ! default: name: '' @@ -16549,7 +17683,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_457 + schema: *ref_494 language: ! default: name: '' @@ -16584,9 +17718,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_460 - schema: *ref_328 + - *ref_359 + - ! &ref_497 + schema: *ref_360 implementation: Method required: true language: ! @@ -16597,8 +17731,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_461 - schema: *ref_329 + - ! &ref_498 + schema: *ref_361 implementation: Method required: true language: ! @@ -16609,13 +17743,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -16627,8 +17761,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_459 - schema: *ref_458 + - ! &ref_496 + schema: *ref_495 implementation: Method required: true language: ! @@ -16640,7 +17774,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_459 + - *ref_496 language: ! default: name: '' @@ -16654,11 +17788,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_460 - - *ref_461 + - *ref_497 + - *ref_498 responses: - ! - schema: *ref_127 + schema: *ref_137 language: ! default: name: '' @@ -16781,9 +17915,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_462 - schema: *ref_328 + - *ref_359 + - ! &ref_499 + schema: *ref_360 implementation: Method required: true language: ! @@ -16794,8 +17928,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_463 - schema: *ref_329 + - ! &ref_500 + schema: *ref_361 implementation: Method required: true language: ! @@ -16806,8 +17940,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -16820,8 +17954,8 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_462 - - *ref_463 + - *ref_499 + - *ref_500 responses: - ! language: ! @@ -16863,9 +17997,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_465 - schema: *ref_328 + - *ref_359 + - ! &ref_502 + schema: *ref_360 implementation: Method required: true language: ! @@ -16876,8 +18010,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_466 - schema: *ref_329 + - ! &ref_503 + schema: *ref_361 implementation: Method required: true language: ! @@ -16888,10 +18022,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_467 - schema: *ref_464 + - *ref_362 + - *ref_363 + - ! &ref_504 + schema: *ref_501 implementation: Method language: ! default: @@ -16913,12 +18047,12 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_465 - - *ref_466 - - *ref_467 + - *ref_502 + - *ref_503 + - *ref_504 responses: - ! - schema: *ref_127 + schema: *ref_137 language: ! default: name: '' @@ -17098,9 +18232,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_470 - schema: *ref_328 + - *ref_359 + - ! &ref_507 + schema: *ref_360 implementation: Method required: true language: ! @@ -17111,8 +18245,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_471 - schema: *ref_329 + - ! &ref_508 + schema: *ref_361 implementation: Method required: true language: ! @@ -17123,13 +18257,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -17141,8 +18275,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_469 - schema: *ref_468 + - ! &ref_506 + schema: *ref_505 implementation: Method required: true language: ! @@ -17154,7 +18288,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_469 + - *ref_506 language: ! default: name: '' @@ -17168,11 +18302,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_470 - - *ref_471 + - *ref_507 + - *ref_508 responses: - ! - schema: *ref_127 + schema: *ref_137 language: ! default: name: '' @@ -17413,9 +18547,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - *ref_330 - - *ref_331 + - *ref_359 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -17430,7 +18564,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_472 + schema: *ref_509 language: ! default: name: '' @@ -17702,9 +18836,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_473 - schema: *ref_328 + - *ref_359 + - ! &ref_510 + schema: *ref_360 implementation: Method required: true language: ! @@ -17715,8 +18849,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -17729,10 +18863,10 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_473 + - *ref_510 responses: - ! - schema: *ref_472 + schema: *ref_509 language: ! default: name: '' @@ -17820,9 +18954,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_475 - schema: *ref_328 + - *ref_359 + - ! &ref_512 + schema: *ref_360 implementation: Method required: true language: ! @@ -17833,8 +18967,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_476 - schema: *ref_329 + - ! &ref_513 + schema: *ref_361 implementation: Method required: true language: ! @@ -17845,10 +18979,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_474 + schema: *ref_511 implementation: Method language: ! default: @@ -17870,11 +19004,11 @@ operationGroups: method: post uri: '{$host}' signatureParameters: - - *ref_475 - - *ref_476 + - *ref_512 + - *ref_513 responses: - ! - schema: *ref_477 + schema: *ref_514 language: ! default: name: '' @@ -17915,9 +19049,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_482 - schema: *ref_328 + - *ref_359 + - ! &ref_519 + schema: *ref_360 implementation: Method required: true language: ! @@ -17928,8 +19062,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_483 - schema: *ref_329 + - ! &ref_520 + schema: *ref_361 implementation: Method required: true language: ! @@ -17940,13 +19074,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -17958,8 +19092,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_479 - schema: *ref_478 + - ! &ref_516 + schema: *ref_515 flattened: true implementation: Method required: true @@ -17971,20 +19105,20 @@ operationGroups: http: ! in: body style: json - - ! &ref_481 - schema: *ref_247 + - ! &ref_518 + schema: *ref_272 implementation: Method - originalParameter: *ref_479 + originalParameter: *ref_516 pathToProperty: [] required: true - targetProperty: *ref_480 + targetProperty: *ref_517 language: ! default: name: keyName description: 'The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2.' protocol: ! {} signatureParameters: - - *ref_481 + - *ref_518 language: ! default: name: '' @@ -17998,11 +19132,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_482 - - *ref_483 + - *ref_519 + - *ref_520 responses: - ! - schema: *ref_477 + schema: *ref_514 language: ! default: name: '' @@ -18067,9 +19201,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_486 - schema: *ref_328 + - *ref_359 + - ! &ref_523 + schema: *ref_360 implementation: Method required: true language: ! @@ -18080,8 +19214,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_487 - schema: *ref_329 + - ! &ref_524 + schema: *ref_361 implementation: Method required: true language: ! @@ -18092,13 +19226,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18110,8 +19244,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_485 - schema: *ref_484 + - ! &ref_522 + schema: *ref_521 implementation: Method required: true language: ! @@ -18123,7 +19257,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_485 + - *ref_522 language: ! default: name: '' @@ -18137,11 +19271,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_486 - - *ref_487 + - *ref_523 + - *ref_524 responses: - ! - schema: *ref_488 + schema: *ref_525 language: ! default: name: '' @@ -18184,9 +19318,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_491 - schema: *ref_328 + - *ref_359 + - ! &ref_528 + schema: *ref_360 implementation: Method required: true language: ! @@ -18197,8 +19331,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_492 - schema: *ref_329 + - ! &ref_529 + schema: *ref_361 implementation: Method required: true language: ! @@ -18209,13 +19343,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18227,8 +19361,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_490 - schema: *ref_489 + - ! &ref_527 + schema: *ref_526 implementation: Method required: true language: ! @@ -18240,7 +19374,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_490 + - *ref_527 language: ! default: name: '' @@ -18254,11 +19388,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_491 - - *ref_492 + - *ref_528 + - *ref_529 responses: - ! - schema: *ref_493 + schema: *ref_530 language: ! default: name: '' @@ -18298,9 +19432,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_494 - schema: *ref_328 + - *ref_359 + - ! &ref_531 + schema: *ref_360 implementation: Method required: true language: ! @@ -18311,8 +19445,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_495 - schema: *ref_329 + - ! &ref_532 + schema: *ref_361 implementation: Method required: true language: ! @@ -18323,8 +19457,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -18337,8 +19471,8 @@ operationGroups: method: post uri: '{$host}' signatureParameters: - - *ref_494 - - *ref_495 + - *ref_531 + - *ref_532 responses: - ! language: ! @@ -18385,9 +19519,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_501 - schema: *ref_328 + - *ref_359 + - ! &ref_538 + schema: *ref_360 implementation: Method required: true language: ! @@ -18398,8 +19532,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_502 - schema: *ref_329 + - ! &ref_539 + schema: *ref_361 implementation: Method required: true language: ! @@ -18410,13 +19544,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18428,8 +19562,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_496 - schema: *ref_239 + - ! &ref_533 + schema: *ref_264 flattened: true implementation: Method required: true @@ -18441,33 +19575,33 @@ operationGroups: http: ! in: body style: json - - ! &ref_499 - schema: *ref_124 + - ! &ref_536 + schema: *ref_134 implementation: Method - originalParameter: *ref_496 + originalParameter: *ref_533 pathToProperty: [] required: true - targetProperty: *ref_497 + targetProperty: *ref_534 language: ! default: name: timeToRestore description: Restore blob to the specified time. protocol: ! {} - - ! &ref_500 - schema: *ref_314 + - ! &ref_537 + schema: *ref_342 implementation: Method - originalParameter: *ref_496 + originalParameter: *ref_533 pathToProperty: [] required: true - targetProperty: *ref_498 + targetProperty: *ref_535 language: ! default: name: blobRanges description: Blob ranges to restore. protocol: ! {} signatureParameters: - - *ref_499 - - *ref_500 + - *ref_536 + - *ref_537 language: ! default: name: '' @@ -18481,11 +19615,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_501 - - *ref_502 + - *ref_538 + - *ref_539 responses: - ! - schema: *ref_238 + schema: *ref_263 language: ! default: name: '' @@ -18498,7 +19632,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_238 + schema: *ref_263 language: ! default: name: '' @@ -18561,9 +19695,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_503 - schema: *ref_328 + - *ref_359 + - ! &ref_540 + schema: *ref_360 implementation: Method required: true language: ! @@ -18574,8 +19708,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_504 - schema: *ref_329 + - ! &ref_541 + schema: *ref_361 implementation: Method required: true language: ! @@ -18586,8 +19720,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -18600,8 +19734,8 @@ operationGroups: method: post uri: '{$host}' signatureParameters: - - *ref_503 - - *ref_504 + - *ref_540 + - *ref_541 responses: - ! language: ! @@ -18640,10 +19774,10 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - *ref_330 - - *ref_331 - - ! &ref_505 + - *ref_359 + - *ref_362 + - *ref_363 + - ! &ref_542 schema: *ref_2 implementation: Method required: true @@ -18667,10 +19801,10 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_505 + - *ref_542 responses: - ! - schema: *ref_506 + schema: *ref_543 language: ! default: name: '' @@ -18721,9 +19855,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_508 - schema: *ref_328 + - *ref_359 + - ! &ref_545 + schema: *ref_360 implementation: Method required: true language: ! @@ -18734,8 +19868,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_509 - schema: *ref_329 + - ! &ref_546 + schema: *ref_361 implementation: Method required: true language: ! @@ -18746,10 +19880,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_507 + schema: *ref_544 implementation: Method required: true language: ! @@ -18772,11 +19906,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_508 - - *ref_509 + - *ref_545 + - *ref_546 responses: - ! - schema: *ref_149 + schema: *ref_171 language: ! default: name: '' @@ -18838,9 +19972,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_513 - schema: *ref_328 + - *ref_359 + - ! &ref_550 + schema: *ref_360 implementation: Method required: true language: ! @@ -18851,8 +19985,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_514 - schema: *ref_329 + - ! &ref_551 + schema: *ref_361 implementation: Method required: true language: ! @@ -18863,10 +19997,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_507 + schema: *ref_544 implementation: Method required: true language: ! @@ -18881,7 +20015,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18893,8 +20027,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_510 - schema: *ref_149 + - ! &ref_547 + schema: *ref_171 flattened: true implementation: Method required: true @@ -18906,19 +20040,19 @@ operationGroups: http: ! in: body style: json - - ! &ref_512 - schema: *ref_278 + - ! &ref_549 + schema: *ref_303 implementation: Method - originalParameter: *ref_510 + originalParameter: *ref_547 pathToProperty: [] - targetProperty: *ref_511 + targetProperty: *ref_548 language: ! default: name: policy description: 'The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts.' protocol: ! {} signatureParameters: - - *ref_512 + - *ref_549 language: ! default: name: '' @@ -18932,11 +20066,11 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_513 - - *ref_514 + - *ref_550 + - *ref_551 responses: - ! - schema: *ref_149 + schema: *ref_171 language: ! default: name: '' @@ -18960,7 +20094,7 @@ operationGroups: properties: policy: rules: - - name: olcmtest + - name: olcmtest1 type: Lifecycle definition: actions: @@ -18978,7 +20112,31 @@ operationGroups: blobTypes: - blockBlob prefixMatch: - - olcmtestcontainer + - olcmtestcontainer1 + enabled: true + - name: olcmtest2 + type: Lifecycle + definition: + actions: + baseBlob: + delete: + daysAfterModificationGreaterThan: 1000 + tierToArchive: + daysAfterModificationGreaterThan: 90 + tierToCool: + daysAfterModificationGreaterThan: 30 + filters: + blobIndexMatch: + - name: tag1 + op: == + value: val1 + - name: tag2 + op: == + value: val2 + blobTypes: + - blockBlob + prefixMatch: + - olcmtestcontainer2 enabled: true resourceGroupName: res7687 subscriptionId: '{subscription-id}' @@ -18992,7 +20150,7 @@ operationGroups: lastModifiedTime: '2018-06-08T02:53:39.0932539Z' policy: rules: - - name: olcmtest + - name: olcmtest1 type: Lifecycle definition: actions: @@ -19010,7 +20168,31 @@ operationGroups: blobTypes: - blockBlob prefixMatch: - - olcmtestcontainer + - olcmtestcontainer1 + enabled: true + - name: olcmtest2 + type: Lifecycle + definition: + actions: + baseBlob: + delete: + daysAfterModificationGreaterThan: 1000 + tierToArchive: + daysAfterModificationGreaterThan: 90 + tierToCool: + daysAfterModificationGreaterThan: 30 + filters: + blobIndexMatch: + - name: tag1 + op: == + value: val1 + - name: tag2 + op: == + value: val2 + blobTypes: + - blockBlob + prefixMatch: + - olcmtestcontainer2 enabled: true language: ! default: @@ -19022,9 +20204,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_515 - schema: *ref_328 + - *ref_359 + - ! &ref_552 + schema: *ref_360 implementation: Method required: true language: ! @@ -19035,8 +20217,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_516 - schema: *ref_329 + - ! &ref_553 + schema: *ref_361 implementation: Method required: true language: ! @@ -19047,10 +20229,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 - ! - schema: *ref_507 + schema: *ref_544 implementation: Method required: true language: ! @@ -19073,8 +20255,8 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_515 - - *ref_516 + - *ref_552 + - *ref_553 responses: - ! language: ! @@ -19125,9 +20307,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_517 - schema: *ref_328 + - *ref_359 + - ! &ref_554 + schema: *ref_360 implementation: Method required: true language: ! @@ -19138,8 +20320,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_518 - schema: *ref_329 + - ! &ref_555 + schema: *ref_361 implementation: Method required: true language: ! @@ -19150,9 +20332,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_519 + - *ref_362 + - *ref_363 + - ! &ref_556 schema: *ref_2 implementation: Method required: true @@ -19176,12 +20358,12 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_517 - - *ref_518 - - *ref_519 + - *ref_554 + - *ref_555 + - *ref_556 responses: - ! - schema: *ref_130 + schema: *ref_140 language: ! default: name: '' @@ -19195,7 +20377,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -19241,9 +20423,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_526 - schema: *ref_328 + - *ref_359 + - ! &ref_563 + schema: *ref_360 implementation: Method required: true language: ! @@ -19254,8 +20436,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_527 - schema: *ref_329 + - ! &ref_564 + schema: *ref_361 implementation: Method required: true language: ! @@ -19266,9 +20448,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_528 + - *ref_362 + - *ref_363 + - ! &ref_565 schema: *ref_2 implementation: Method required: true @@ -19284,7 +20466,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -19296,8 +20478,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_521 - schema: *ref_130 + - ! &ref_558 + schema: *ref_140 flattened: true implementation: Method required: true @@ -19309,31 +20491,31 @@ operationGroups: http: ! in: body style: json - - ! &ref_524 - schema: *ref_236 + - ! &ref_561 + schema: *ref_261 implementation: Method - originalParameter: *ref_521 + originalParameter: *ref_558 pathToProperty: [] - targetProperty: *ref_522 + targetProperty: *ref_559 language: ! default: name: privateEndpoint description: The resource of private end point. protocol: ! {} - - ! &ref_525 - schema: *ref_237 + - ! &ref_562 + schema: *ref_262 implementation: Method - originalParameter: *ref_521 + originalParameter: *ref_558 pathToProperty: [] - targetProperty: *ref_523 + targetProperty: *ref_560 language: ! default: name: privateLinkServiceConnectionState description: A collection of information about the state of the connection between service consumer and provider. protocol: ! {} signatureParameters: - - *ref_524 - - *ref_525 + - *ref_561 + - *ref_562 language: ! default: name: '' @@ -19347,12 +20529,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_526 - - *ref_527 - - *ref_528 + - *ref_563 + - *ref_564 + - *ref_565 responses: - ! - schema: *ref_130 + schema: *ref_140 language: ! default: name: '' @@ -19366,7 +20548,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -19417,9 +20599,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_529 - schema: *ref_328 + - *ref_359 + - ! &ref_566 + schema: *ref_360 implementation: Method required: true language: ! @@ -19430,8 +20612,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_530 - schema: *ref_329 + - ! &ref_567 + schema: *ref_361 implementation: Method required: true language: ! @@ -19442,9 +20624,9 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_531 + - *ref_362 + - *ref_363 + - ! &ref_568 schema: *ref_2 implementation: Method required: true @@ -19468,9 +20650,9 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_529 - - *ref_530 - - *ref_531 + - *ref_566 + - *ref_567 + - *ref_568 responses: - ! language: ! @@ -19492,7 +20674,7 @@ operationGroups: - '204' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -19535,9 +20717,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_532 - schema: *ref_328 + - *ref_359 + - ! &ref_569 + schema: *ref_360 implementation: Method required: true language: ! @@ -19548,8 +20730,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_533 - schema: *ref_329 + - ! &ref_570 + schema: *ref_361 implementation: Method required: true language: ! @@ -19560,8 +20742,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -19574,11 +20756,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_532 - - *ref_533 + - *ref_569 + - *ref_570 responses: - ! - schema: *ref_534 + schema: *ref_571 language: ! default: name: '' @@ -19668,16 +20850,16 @@ operationGroups: description: '' protocol: ! {} - ! - $key: EncryptionScopes + $key: ObjectReplicationPolicies operations: - ! apiVersions: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_536 - schema: *ref_328 + - *ref_359 + - ! &ref_572 + schema: *ref_360 implementation: Method required: true language: ! @@ -19688,8 +20870,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_537 - schema: *ref_329 + - ! &ref_573 + schema: *ref_361 implementation: Method required: true language: ! @@ -19700,10 +20882,653 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_538 - schema: *ref_347 + - *ref_362 + - *ref_363 + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies' + method: get + uri: '{$host}' + signatureParameters: + - *ref_572 + - *ref_573 + responses: + - ! + schema: *ref_574 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - ! + schema: *ref_557 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StorageAccountListObjectReplicationPolicies: + parameters: + accountName: sto2527 + api-version: '2019-06-01' + monitor: 'true' + resourceGroupName: res6977 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + value: + - name: c6c23999-fd4e-433a-bcf9-1db69d27cd8a + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/c6c23999-fd4e-433a-bcf9-1db69d27cd8a' + properties: + destinationAccount: destAccount1 + sourceAccount: sto2527 + - name: 141d23dc-8958-4b48-b6e6-5a40bf1af116 + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/objectReplicationPolicies/141d23dc-8958-4b48-b6e6-5a40bf1af116' + properties: + destinationAccount: destAccount2 + sourceAccount: sto2527 + x-ms-pageable: + nextLinkName: null + language: ! + default: + name: List + description: List the object replication policies associated with the storage account. + paging: + nextLinkName: null + protocol: ! {} + - ! + apiVersions: + - ! + version: '2019-06-01' + parameters: + - *ref_359 + - ! &ref_576 + schema: *ref_360 + implementation: Method + required: true + language: ! + default: + name: resourceGroupName + description: The name of the resource group within the user's subscription. The name is case insensitive. + serializedName: resourceGroupName + protocol: ! + http: ! + in: path + - ! &ref_577 + schema: *ref_361 + implementation: Method + required: true + language: ! + default: + name: accountName + description: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + serializedName: accountName + protocol: ! + http: ! + in: path + - *ref_362 + - *ref_363 + - ! &ref_578 + schema: *ref_575 + implementation: Method + required: true + language: ! + default: + name: objectReplicationPolicyId + description: The ID of object replication policy or 'default' if the policy ID is unknown. + serializedName: objectReplicationPolicyId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_576 + - *ref_577 + - *ref_578 + responses: + - ! + schema: *ref_173 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - ! + schema: *ref_557 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StorageAccountGetObjectReplicationPolicies: + parameters: + accountName: sto2527 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: '{objectReplicationPolicy-Id}' + resourceGroupName: res6977 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: '{objectReplicationPolicy-Id}' + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/{objectReplicationPolicy-Id}' + properties: + destinationAccount: destAccount1 + enabledTime: '2019-06-08T03:01:55.7168089Z' + policyId: '{objectReplicationPolicy-Id}' + rules: + - destinationContainer: destContainer1 + filters: + prefixMatch: + - blobA + - blobB + sourceContainer: sourceContainer1 + - destinationContainer: destContainer1 + filters: + prefixMatch: + - blobC + - blobD + sourceContainer: sourceContainer1 + sourceAccount: sto2527 + language: ! + default: + name: Get + description: Get the object replication policy of the storage account by policy ID. + protocol: ! {} + - ! + apiVersions: + - ! + version: '2019-06-01' + parameters: + - *ref_359 + - ! &ref_580 + schema: *ref_360 + implementation: Method + required: true + language: ! + default: + name: resourceGroupName + description: The name of the resource group within the user's subscription. The name is case insensitive. + serializedName: resourceGroupName + protocol: ! + http: ! + in: path + - ! &ref_581 + schema: *ref_361 + implementation: Method + required: true + language: ! + default: + name: accountName + description: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + serializedName: accountName + protocol: ! + http: ! + in: path + - *ref_362 + - *ref_363 + - ! &ref_582 + schema: *ref_575 + implementation: Method + required: true + language: ! + default: + name: objectReplicationPolicyId + description: The ID of object replication policy or 'default' if the policy ID is unknown. + serializedName: objectReplicationPolicyId + protocol: ! + http: ! + in: path + requests: + - ! + parameters: + - ! + schema: *ref_368 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Body Parameter content-type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_579 + schema: *ref_173 + implementation: Method + required: true + language: ! + default: + name: properties + description: The object replication policy set to a storage account. A unique policy ID will be created if absent. + protocol: ! + http: ! + in: body + style: json + signatureParameters: + - *ref_579 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}' + method: put + knownMediaType: json + mediaTypes: + - application/json + uri: '{$host}' + signatureParameters: + - *ref_580 + - *ref_581 + - *ref_582 + responses: + - ! + schema: *ref_173 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - '200' + exceptions: + - ! + schema: *ref_557 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StorageAccountCreateObjectReplicationPolicyOnDestination: + parameters: + accountName: dst112 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: default + properties: + properties: + destinationAccount: dst112 + rules: + - destinationContainer: dcont139 + filters: + prefixMatch: + - blobA + - blobB + sourceContainer: scont139 + sourceAccount: src1122 + resourceGroupName: res7687 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: 2a20bb73-5717-4635-985a-5d4cf777438f + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f' + properties: + destinationAccount: dst112 + policyId: 2a20bb73-5717-4635-985a-5d4cf777438f + rules: + - destinationContainer: destContainer1 + filters: + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: sourceContainer1 + sourceAccount: src1122 + StorageAccountCreateObjectReplicationPolicyOnSource: + parameters: + accountName: src1122 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: 2a20bb73-5717-4635-985a-5d4cf777438f + properties: + properties: + destinationAccount: dst112 + rules: + - destinationContainer: dcont139 + filters: + minCreationTime: '2020-02-19T16:05:00Z' + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: scont139 + sourceAccount: src1122 + resourceGroupName: res7687 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: 2a20bb73-5717-4635-985a-5d4cf777438f + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f' + properties: + destinationAccount: dst112 + enabledTime: '2019-06-08T03:01:55.7168089Z' + policyId: 2a20bb73-5717-4635-985a-5d4cf777438f + rules: + - destinationContainer: destContainer1 + filters: + minCreationTime: '2020-02-19T16:05:00Z' + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: sourceContainer1 + sourceAccount: src1122 + StorageAccountUpdateObjectReplicationPolicyOnDestination: + parameters: + accountName: dst112 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: 2a20bb73-5717-4635-985a-5d4cf777438f + properties: + properties: + destinationAccount: dst112 + rules: + - destinationContainer: dcont139 + filters: + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: scont139 + - destinationContainer: dcont179 + sourceContainer: scont179 + sourceAccount: src1122 + resourceGroupName: res7687 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: 2a20bb73-5717-4635-985a-5d4cf777438f + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f' + properties: + destinationAccount: dst112 + policyId: 2a20bb73-5717-4635-985a-5d4cf777438f + rules: + - destinationContainer: destContainer1 + filters: + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: sourceContainer1 + - destinationContainer: dcont179 + ruleId: cfbb4bc2-8b60-429f-b05a-d1e0942b33b2 + sourceContainer: scont179 + sourceAccount: src1122 + StorageAccountUpdateObjectReplicationPolicyOnSource: + parameters: + accountName: src1122 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: 2a20bb73-5717-4635-985a-5d4cf777438f + properties: + properties: + destinationAccount: dst112 + rules: + - destinationContainer: dcont139 + filters: + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: scont139 + - destinationContainer: dcont179 + ruleId: cfbb4bc2-8b60-429f-b05a-d1e0942b33b2 + sourceContainer: scont179 + sourceAccount: src1122 + resourceGroupName: res7687 + subscriptionId: '{subscription-id}' + responses: + '200': + body: + name: 2a20bb73-5717-4635-985a-5d4cf777438f + type: Microsoft.Storage/storageAccounts/objectReplicationPolicies + id: '/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f' + properties: + destinationAccount: dst112 + enabledTime: '2019-06-08T03:01:55.7168089Z' + policyId: 2a20bb73-5717-4635-985a-5d4cf777438f + rules: + - destinationContainer: destContainer1 + filters: + prefixMatch: + - blobA + - blobB + ruleId: d5d18a48-8801-4554-aeaa-74faf65f5ef9 + sourceContainer: sourceContainer1 + - destinationContainer: dcont179 + ruleId: cfbb4bc2-8b60-429f-b05a-d1e0942b33b2 + sourceContainer: scont179 + sourceAccount: src1122 + language: ! + default: + name: CreateOrUpdate + description: Create or update the object replication policy of the storage account. + protocol: ! {} + - ! + apiVersions: + - ! + version: '2019-06-01' + parameters: + - *ref_359 + - ! &ref_583 + schema: *ref_360 + implementation: Method + required: true + language: ! + default: + name: resourceGroupName + description: The name of the resource group within the user's subscription. The name is case insensitive. + serializedName: resourceGroupName + protocol: ! + http: ! + in: path + - ! &ref_584 + schema: *ref_361 + implementation: Method + required: true + language: ! + default: + name: accountName + description: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + serializedName: accountName + protocol: ! + http: ! + in: path + - *ref_362 + - *ref_363 + - ! &ref_585 + schema: *ref_575 + implementation: Method + required: true + language: ! + default: + name: objectReplicationPolicyId + description: The ID of object replication policy or 'default' if the policy ID is unknown. + serializedName: objectReplicationPolicyId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_583 + - *ref_584 + - *ref_585 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '204' + exceptions: + - ! + schema: *ref_557 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + knownMediaType: json + mediaTypes: + - application/json + statusCodes: + - default + extensions: + x-ms-examples: + StorageAccountDeleteObjectReplicationPolicies: + parameters: + accountName: sto2527 + api-version: '2019-06-01' + monitor: 'true' + objectReplicationPolicyId: '{objectReplicationPolicy-Id}' + resourceGroupName: res6977 + subscriptionId: '{subscription-id}' + responses: + '200': {} + '204': {} + language: ! + default: + name: Delete + description: Deletes the object replication policy associated with the specified storage account. + protocol: ! {} + language: ! + default: + name: ObjectReplicationPolicies + description: '' + protocol: ! {} +- ! + $key: EncryptionScopes + operations: + - ! + apiVersions: + - ! + version: '2019-06-01' + parameters: + - *ref_359 + - ! &ref_587 + schema: *ref_360 + implementation: Method + required: true + language: ! + default: + name: resourceGroupName + description: The name of the resource group within the user's subscription. The name is case insensitive. + serializedName: resourceGroupName + protocol: ! + http: ! + in: path + - ! &ref_588 + schema: *ref_361 + implementation: Method + required: true + language: ! + default: + name: accountName + description: The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + serializedName: accountName + protocol: ! + http: ! + in: path + - *ref_362 + - *ref_363 + - ! &ref_589 + schema: *ref_379 implementation: Method required: true language: ! @@ -19720,7 +21545,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -19732,8 +21557,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_535 - schema: *ref_151 + - ! &ref_586 + schema: *ref_174 implementation: Method required: true language: ! @@ -19745,7 +21570,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_535 + - *ref_586 language: ! default: name: '' @@ -19759,12 +21584,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_536 - - *ref_537 - - *ref_538 + - *ref_587 + - *ref_588 + - *ref_589 responses: - ! - schema: *ref_151 + schema: *ref_174 language: ! default: name: '' @@ -19777,7 +21602,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_151 + schema: *ref_174 language: ! default: name: '' @@ -19791,7 +21616,7 @@ operationGroups: - '201' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -19847,9 +21672,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_540 - schema: *ref_328 + - *ref_359 + - ! &ref_591 + schema: *ref_360 implementation: Method required: true language: ! @@ -19860,8 +21685,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_541 - schema: *ref_329 + - ! &ref_592 + schema: *ref_361 implementation: Method required: true language: ! @@ -19872,10 +21697,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_542 - schema: *ref_347 + - *ref_362 + - *ref_363 + - ! &ref_593 + schema: *ref_379 implementation: Method required: true language: ! @@ -19892,7 +21717,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_336 + schema: *ref_368 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -19904,8 +21729,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_539 - schema: *ref_151 + - ! &ref_590 + schema: *ref_174 implementation: Method required: true language: ! @@ -19917,7 +21742,7 @@ operationGroups: in: body style: json signatureParameters: - - *ref_539 + - *ref_590 language: ! default: name: '' @@ -19931,12 +21756,12 @@ operationGroups: - application/json uri: '{$host}' signatureParameters: - - *ref_540 - - *ref_541 - - *ref_542 + - *ref_591 + - *ref_592 + - *ref_593 responses: - ! - schema: *ref_151 + schema: *ref_174 language: ! default: name: '' @@ -19950,7 +21775,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -20000,9 +21825,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_543 - schema: *ref_328 + - *ref_359 + - ! &ref_594 + schema: *ref_360 implementation: Method required: true language: ! @@ -20013,8 +21838,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_544 - schema: *ref_329 + - ! &ref_595 + schema: *ref_361 implementation: Method required: true language: ! @@ -20025,10 +21850,10 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 - - ! &ref_545 - schema: *ref_347 + - *ref_362 + - *ref_363 + - ! &ref_596 + schema: *ref_379 implementation: Method required: true language: ! @@ -20053,12 +21878,12 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_543 - - *ref_544 - - *ref_545 + - *ref_594 + - *ref_595 + - *ref_596 responses: - ! - schema: *ref_151 + schema: *ref_174 language: ! default: name: '' @@ -20072,7 +21897,7 @@ operationGroups: - '200' exceptions: - ! - schema: *ref_520 + schema: *ref_557 language: ! default: name: '' @@ -20115,9 +21940,9 @@ operationGroups: - ! version: '2019-06-01' parameters: - - *ref_327 - - ! &ref_546 - schema: *ref_328 + - *ref_359 + - ! &ref_597 + schema: *ref_360 implementation: Method required: true language: ! @@ -20128,8 +21953,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_547 - schema: *ref_329 + - ! &ref_598 + schema: *ref_361 implementation: Method required: true language: ! @@ -20140,8 +21965,8 @@ operationGroups: protocol: ! http: ! in: path - - *ref_330 - - *ref_331 + - *ref_362 + - *ref_363 requests: - ! language: ! @@ -20154,11 +21979,11 @@ operationGroups: method: get uri: '{$host}' signatureParameters: - - *ref_546 - - *ref_547 + - *ref_597 + - *ref_598 responses: - ! - schema: *ref_548 + schema: *ref_599 language: ! default: name: '' diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesClient.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesClient.cs index 82beafaf..cf588b37 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesClient.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesClient.cs @@ -6,7 +6,6 @@ #nullable disable using System; -using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -40,16 +39,15 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties of the file share to create. /// The cancellation token to use. - public virtual async Task> CreateAsync(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public virtual async Task> CreateAsync(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Create"); scope.Start(); try { - return await RestClient.CreateAsync(resourceGroupName, accountName, shareName, metadata, shareQuota, cancellationToken).ConfigureAwait(false); + return await RestClient.CreateAsync(resourceGroupName, accountName, shareName, fileShare, cancellationToken).ConfigureAwait(false); } catch (Exception e) { @@ -62,16 +60,15 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties of the file share to create. /// The cancellation token to use. - public virtual Response Create(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public virtual Response Create(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Create"); scope.Start(); try { - return RestClient.Create(resourceGroupName, accountName, shareName, metadata, shareQuota, cancellationToken); + return RestClient.Create(resourceGroupName, accountName, shareName, fileShare, cancellationToken); } catch (Exception e) { @@ -84,16 +81,15 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties to update for the file share. /// The cancellation token to use. - public virtual async Task> UpdateAsync(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public virtual async Task> UpdateAsync(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Update"); scope.Start(); try { - return await RestClient.UpdateAsync(resourceGroupName, accountName, shareName, metadata, shareQuota, cancellationToken).ConfigureAwait(false); + return await RestClient.UpdateAsync(resourceGroupName, accountName, shareName, fileShare, cancellationToken).ConfigureAwait(false); } catch (Exception e) { @@ -106,16 +102,15 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties to update for the file share. /// The cancellation token to use. - public virtual Response Update(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public virtual Response Update(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Update"); scope.Start(); try { - return RestClient.Update(resourceGroupName, accountName, shareName, metadata, shareQuota, cancellationToken); + return RestClient.Update(resourceGroupName, accountName, shareName, fileShare, cancellationToken); } catch (Exception e) { @@ -204,6 +199,50 @@ namespace Azure.Management.Storage } } + /// Restore a file share within a valid retention days if share soft delete is enabled. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. + /// Required. Identify the name of the deleted share that will be restored. + /// Required. Identify the version of the deleted share that will be restored. + /// The cancellation token to use. + public virtual async Task RestoreAsync(string resourceGroupName, string accountName, string shareName, string deletedShareName, string deletedShareVersion, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Restore"); + scope.Start(); + try + { + return await RestClient.RestoreAsync(resourceGroupName, accountName, shareName, deletedShareName, deletedShareVersion, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Restore a file share within a valid retention days if share soft delete is enabled. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. + /// Required. Identify the name of the deleted share that will be restored. + /// Required. Identify the version of the deleted share that will be restored. + /// The cancellation token to use. + public virtual Response Restore(string resourceGroupName, string accountName, string shareName, string deletedShareName, string deletedShareVersion, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("FileSharesClient.Restore"); + scope.Start(); + try + { + return RestClient.Restore(resourceGroupName, accountName, shareName, deletedShareName, deletedShareVersion, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + /// Lists all shares. /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesRestClient.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesRestClient.cs index 30abf019..1757d56e 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesRestClient.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/FileSharesRestClient.cs @@ -6,7 +6,6 @@ #nullable disable using System; -using System.Collections.Generic; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -71,6 +70,7 @@ namespace Azure.Management.Storage { uri.AppendQuery("$filter", filter, true); } + uri.AppendQuery("$expand", "deleted", true); request.Uri = uri; return message; } @@ -155,7 +155,7 @@ namespace Azure.Management.Storage } } - internal HttpMessage CreateCreateRequest(string resourceGroupName, string accountName, string shareName, IDictionary metadata, int? shareQuota) + internal HttpMessage CreateCreateRequest(string resourceGroupName, string accountName, string shareName, FileShare fileShare) { var message = _pipeline.CreateMessage(); var request = message.Request; @@ -173,13 +173,8 @@ namespace Azure.Management.Storage uri.AppendQuery("api-version", apiVersion, true); request.Uri = uri; request.Headers.Add("Content-Type", "application/json"); - var model = new FileShare() - { - Metadata = metadata, - ShareQuota = shareQuota - }; using var content = new Utf8JsonRequestContent(); - content.JsonWriter.WriteObjectValue(model); + content.JsonWriter.WriteObjectValue(fileShare); request.Content = content; return message; } @@ -188,10 +183,9 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties of the file share to create. /// The cancellation token to use. - public async ValueTask> CreateAsync(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public async ValueTask> CreateAsync(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { @@ -205,8 +199,12 @@ namespace Azure.Management.Storage { throw new ArgumentNullException(nameof(shareName)); } + if (fileShare == null) + { + throw new ArgumentNullException(nameof(fileShare)); + } - using var message = CreateCreateRequest(resourceGroupName, accountName, shareName, metadata, shareQuota); + using var message = CreateCreateRequest(resourceGroupName, accountName, shareName, fileShare); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { @@ -234,10 +232,9 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties of the file share to create. /// The cancellation token to use. - public Response Create(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public Response Create(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { @@ -251,8 +248,12 @@ namespace Azure.Management.Storage { throw new ArgumentNullException(nameof(shareName)); } + if (fileShare == null) + { + throw new ArgumentNullException(nameof(fileShare)); + } - using var message = CreateCreateRequest(resourceGroupName, accountName, shareName, metadata, shareQuota); + using var message = CreateCreateRequest(resourceGroupName, accountName, shareName, fileShare); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { @@ -276,7 +277,7 @@ namespace Azure.Management.Storage } } - internal HttpMessage CreateUpdateRequest(string resourceGroupName, string accountName, string shareName, IDictionary metadata, int? shareQuota) + internal HttpMessage CreateUpdateRequest(string resourceGroupName, string accountName, string shareName, FileShare fileShare) { var message = _pipeline.CreateMessage(); var request = message.Request; @@ -294,13 +295,8 @@ namespace Azure.Management.Storage uri.AppendQuery("api-version", apiVersion, true); request.Uri = uri; request.Headers.Add("Content-Type", "application/json"); - var model = new FileShare() - { - Metadata = metadata, - ShareQuota = shareQuota - }; using var content = new Utf8JsonRequestContent(); - content.JsonWriter.WriteObjectValue(model); + content.JsonWriter.WriteObjectValue(fileShare); request.Content = content; return message; } @@ -309,10 +305,9 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties to update for the file share. /// The cancellation token to use. - public async ValueTask> UpdateAsync(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public async ValueTask> UpdateAsync(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { @@ -326,8 +321,12 @@ namespace Azure.Management.Storage { throw new ArgumentNullException(nameof(shareName)); } + if (fileShare == null) + { + throw new ArgumentNullException(nameof(fileShare)); + } - using var message = CreateUpdateRequest(resourceGroupName, accountName, shareName, metadata, shareQuota); + using var message = CreateUpdateRequest(resourceGroupName, accountName, shareName, fileShare); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { @@ -354,10 +353,9 @@ namespace Azure.Management.Storage /// The name of the resource group within the user's subscription. The name is case insensitive. /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. - /// A name-value pair to associate with the share as metadata. - /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + /// Properties to update for the file share. /// The cancellation token to use. - public Response Update(string resourceGroupName, string accountName, string shareName, IDictionary metadata = null, int? shareQuota = null, CancellationToken cancellationToken = default) + public Response Update(string resourceGroupName, string accountName, string shareName, FileShare fileShare, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { @@ -371,8 +369,12 @@ namespace Azure.Management.Storage { throw new ArgumentNullException(nameof(shareName)); } + if (fileShare == null) + { + throw new ArgumentNullException(nameof(fileShare)); + } - using var message = CreateUpdateRequest(resourceGroupName, accountName, shareName, metadata, shareQuota); + using var message = CreateUpdateRequest(resourceGroupName, accountName, shareName, fileShare); _pipeline.Send(message, cancellationToken); switch (message.Response.Status) { @@ -411,6 +413,7 @@ namespace Azure.Management.Storage uri.AppendPath("/fileServices/default/shares/", false); uri.AppendPath(shareName, true); uri.AppendQuery("api-version", apiVersion, true); + uri.AppendQuery("$expand", "stats", true); request.Uri = uri; return message; } @@ -585,6 +588,114 @@ namespace Azure.Management.Storage } } + internal HttpMessage CreateRestoreRequest(string resourceGroupName, string accountName, string shareName, string deletedShareName, string deletedShareVersion) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendPath("/restore", false); + uri.AppendQuery("api-version", apiVersion, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/json"); + var model = new DeletedShare(deletedShareName, deletedShareVersion); + using var content = new Utf8JsonRequestContent(); + content.JsonWriter.WriteObjectValue(model); + request.Content = content; + return message; + } + + /// Restore a file share within a valid retention days if share soft delete is enabled. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. + /// Required. Identify the name of the deleted share that will be restored. + /// Required. Identify the version of the deleted share that will be restored. + /// The cancellation token to use. + public async ValueTask RestoreAsync(string resourceGroupName, string accountName, string shareName, string deletedShareName, string deletedShareVersion, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (shareName == null) + { + throw new ArgumentNullException(nameof(shareName)); + } + if (deletedShareName == null) + { + throw new ArgumentNullException(nameof(deletedShareName)); + } + if (deletedShareVersion == null) + { + throw new ArgumentNullException(nameof(deletedShareVersion)); + } + + using var message = CreateRestoreRequest(resourceGroupName, accountName, shareName, deletedShareName, deletedShareVersion); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Restore a file share within a valid retention days if share soft delete is enabled. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. + /// Required. Identify the name of the deleted share that will be restored. + /// Required. Identify the version of the deleted share that will be restored. + /// The cancellation token to use. + public Response Restore(string resourceGroupName, string accountName, string shareName, string deletedShareName, string deletedShareVersion, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (shareName == null) + { + throw new ArgumentNullException(nameof(shareName)); + } + if (deletedShareName == null) + { + throw new ArgumentNullException(nameof(deletedShareName)); + } + if (deletedShareVersion == null) + { + throw new ArgumentNullException(nameof(deletedShareVersion)); + } + + using var message = CreateRestoreRequest(resourceGroupName, accountName, shareName, deletedShareName, deletedShareVersion); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string resourceGroupName, string accountName, string maxpagesize, string filter) { var message = _pipeline.CreateMessage(); diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.Serialization.cs new file mode 100644 index 00000000..c7d65d69 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.Serialization.cs @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class DeletedShare : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("deletedShareName"); + writer.WriteStringValue(DeletedShareName); + writer.WritePropertyName("deletedShareVersion"); + writer.WriteStringValue(DeletedShareVersion); + writer.WriteEndObject(); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.cs new file mode 100644 index 00000000..02ff3cd1 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/DeletedShare.cs @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.Management.Storage.Models +{ + /// The deleted share to be restored. + public partial class DeletedShare + { + /// Initializes a new instance of DeletedShare. + /// Required. Identify the name of the deleted share that will be restored. + /// Required. Identify the version of the deleted share that will be restored. + public DeletedShare(string deletedShareName, string deletedShareVersion) + { + if (deletedShareName == null) + { + throw new ArgumentNullException(nameof(deletedShareName)); + } + if (deletedShareVersion == null) + { + throw new ArgumentNullException(nameof(deletedShareVersion)); + } + + DeletedShareName = deletedShareName; + DeletedShareVersion = deletedShareVersion; + } + + /// Required. Identify the name of the deleted share that will be restored. + public string DeletedShareName { get; } + /// Required. Identify the version of the deleted share that will be restored. + public string DeletedShareVersion { get; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/EnabledProtocols.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/EnabledProtocols.cs new file mode 100644 index 00000000..92f6ba72 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/EnabledProtocols.cs @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ComponentModel; + +namespace Azure.Management.Storage.Models +{ + /// The authentication protocol that is used for the file share. Can only be specified when creating a share. + public readonly partial struct EnabledProtocols : IEquatable + { + private readonly string _value; + + /// Determines if two values are the same. + public EnabledProtocols(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string SMBValue = "SMB"; + private const string NFSValue = "NFS"; + + /// SMB. + public static EnabledProtocols SMB { get; } = new EnabledProtocols(SMBValue); + /// NFS. + public static EnabledProtocols NFS { get; } = new EnabledProtocols(NFSValue); + /// Determines if two values are the same. + public static bool operator ==(EnabledProtocols left, EnabledProtocols right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(EnabledProtocols left, EnabledProtocols right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator EnabledProtocols(string value) => new EnabledProtocols(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is EnabledProtocols other && Equals(other); + /// + public bool Equals(EnabledProtocols other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + /// + public override string ToString() => _value; + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.Serialization.cs index 94c8f745..2ea6d133 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.Serialization.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.Serialization.cs @@ -60,6 +60,56 @@ namespace Azure.Management.Storage.Models writer.WritePropertyName("shareQuota"); writer.WriteNumberValue(ShareQuota.Value); } + if (EnabledProtocols != null) + { + writer.WritePropertyName("enabledProtocols"); + writer.WriteStringValue(EnabledProtocols.Value.ToString()); + } + if (RootSquash != null) + { + writer.WritePropertyName("rootSquash"); + writer.WriteStringValue(RootSquash.Value.ToString()); + } + if (Version != null) + { + writer.WritePropertyName("version"); + writer.WriteStringValue(Version); + } + if (Deleted != null) + { + writer.WritePropertyName("deleted"); + writer.WriteBooleanValue(Deleted.Value); + } + if (DeletedTime != null) + { + writer.WritePropertyName("deletedTime"); + writer.WriteStringValue(DeletedTime.Value, "S"); + } + if (RemainingRetentionDays != null) + { + writer.WritePropertyName("remainingRetentionDays"); + writer.WriteNumberValue(RemainingRetentionDays.Value); + } + if (AccessTier != null) + { + writer.WritePropertyName("accessTier"); + writer.WriteStringValue(AccessTier.Value.ToString()); + } + if (AccessTierChangeTime != null) + { + writer.WritePropertyName("accessTierChangeTime"); + writer.WriteStringValue(AccessTierChangeTime.Value, "S"); + } + if (AccessTierStatus != null) + { + writer.WritePropertyName("accessTierStatus"); + writer.WriteStringValue(AccessTierStatus); + } + if (ShareUsageBytes != null) + { + writer.WritePropertyName("shareUsageBytes"); + writer.WriteNumberValue(ShareUsageBytes.Value); + } writer.WriteEndObject(); writer.WriteEndObject(); } @@ -73,6 +123,16 @@ namespace Azure.Management.Storage.Models DateTimeOffset? lastModifiedTime = default; IDictionary metadata = default; int? shareQuota = default; + EnabledProtocols? enabledProtocols = default; + RootSquashType? rootSquash = default; + string version = default; + bool? deleted = default; + DateTimeOffset? deletedTime = default; + int? remainingRetentionDays = default; + ShareAccessTier? accessTier = default; + DateTimeOffset? accessTierChangeTime = default; + string accessTierStatus = default; + int? shareUsageBytes = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("etag")) @@ -154,11 +214,101 @@ namespace Azure.Management.Storage.Models shareQuota = property0.Value.GetInt32(); continue; } + if (property0.NameEquals("enabledProtocols")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + enabledProtocols = new EnabledProtocols(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("rootSquash")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + rootSquash = new RootSquashType(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("version")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + version = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("deleted")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + deleted = property0.Value.GetBoolean(); + continue; + } + if (property0.NameEquals("deletedTime")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + deletedTime = property0.Value.GetDateTimeOffset("S"); + continue; + } + if (property0.NameEquals("remainingRetentionDays")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + remainingRetentionDays = property0.Value.GetInt32(); + continue; + } + if (property0.NameEquals("accessTier")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTier = new ShareAccessTier(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("accessTierChangeTime")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTierChangeTime = property0.Value.GetDateTimeOffset("S"); + continue; + } + if (property0.NameEquals("accessTierStatus")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTierStatus = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("shareUsageBytes")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + shareUsageBytes = property0.Value.GetInt32(); + continue; + } } continue; } } - return new FileShare(id, name, type, etag, lastModifiedTime, metadata, shareQuota); + return new FileShare(id, name, type, etag, lastModifiedTime, metadata, shareQuota, enabledProtocols, rootSquash, version, deleted, deletedTime, remainingRetentionDays, accessTier, accessTierChangeTime, accessTierStatus, shareUsageBytes); } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.cs index e2bbeb8f..10fe28f5 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShare.cs @@ -26,11 +26,31 @@ namespace Azure.Management.Storage.Models /// Returns the date and time the share was last modified. /// A name-value pair to associate with the share as metadata. /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. - internal FileShare(string id, string name, string type, string etag, DateTimeOffset? lastModifiedTime, IDictionary metadata, int? shareQuota) : base(id, name, type, etag) + /// The authentication protocol that is used for the file share. Can only be specified when creating a share. + /// The property is for NFS share only. The default is NoRootSquash. + /// The version of the share. + /// Indicates whether the share was deleted. + /// The deleted time if the share was deleted. + /// Remaining retention days for share that was soft deleted. + /// Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. + /// Indicates the last modification time for share access tier. + /// Indicates if there is a pending transition for access tier. + /// The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + internal FileShare(string id, string name, string type, string etag, DateTimeOffset? lastModifiedTime, IDictionary metadata, int? shareQuota, EnabledProtocols? enabledProtocols, RootSquashType? rootSquash, string version, bool? deleted, DateTimeOffset? deletedTime, int? remainingRetentionDays, ShareAccessTier? accessTier, DateTimeOffset? accessTierChangeTime, string accessTierStatus, int? shareUsageBytes) : base(id, name, type, etag) { LastModifiedTime = lastModifiedTime; Metadata = metadata; ShareQuota = shareQuota; + EnabledProtocols = enabledProtocols; + RootSquash = rootSquash; + Version = version; + Deleted = deleted; + DeletedTime = deletedTime; + RemainingRetentionDays = remainingRetentionDays; + AccessTier = accessTier; + AccessTierChangeTime = accessTierChangeTime; + AccessTierStatus = accessTierStatus; + ShareUsageBytes = shareUsageBytes; } /// Returns the date and time the share was last modified. @@ -39,5 +59,25 @@ namespace Azure.Management.Storage.Models public IDictionary Metadata { get; set; } /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. public int? ShareQuota { get; set; } + /// The authentication protocol that is used for the file share. Can only be specified when creating a share. + public EnabledProtocols? EnabledProtocols { get; set; } + /// The property is for NFS share only. The default is NoRootSquash. + public RootSquashType? RootSquash { get; set; } + /// The version of the share. + public string Version { get; } + /// Indicates whether the share was deleted. + public bool? Deleted { get; } + /// The deleted time if the share was deleted. + public DateTimeOffset? DeletedTime { get; } + /// Remaining retention days for share that was soft deleted. + public int? RemainingRetentionDays { get; } + /// Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. + public ShareAccessTier? AccessTier { get; set; } + /// Indicates the last modification time for share access tier. + public DateTimeOffset? AccessTierChangeTime { get; } + /// Indicates if there is a pending transition for access tier. + public string AccessTierStatus { get; } + /// The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + public int? ShareUsageBytes { get; } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.Serialization.cs index 109192c6..1b9e1b5a 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.Serialization.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.Serialization.cs @@ -60,6 +60,56 @@ namespace Azure.Management.Storage.Models writer.WritePropertyName("shareQuota"); writer.WriteNumberValue(ShareQuota.Value); } + if (EnabledProtocols != null) + { + writer.WritePropertyName("enabledProtocols"); + writer.WriteStringValue(EnabledProtocols.Value.ToString()); + } + if (RootSquash != null) + { + writer.WritePropertyName("rootSquash"); + writer.WriteStringValue(RootSquash.Value.ToString()); + } + if (Version != null) + { + writer.WritePropertyName("version"); + writer.WriteStringValue(Version); + } + if (Deleted != null) + { + writer.WritePropertyName("deleted"); + writer.WriteBooleanValue(Deleted.Value); + } + if (DeletedTime != null) + { + writer.WritePropertyName("deletedTime"); + writer.WriteStringValue(DeletedTime.Value, "S"); + } + if (RemainingRetentionDays != null) + { + writer.WritePropertyName("remainingRetentionDays"); + writer.WriteNumberValue(RemainingRetentionDays.Value); + } + if (AccessTier != null) + { + writer.WritePropertyName("accessTier"); + writer.WriteStringValue(AccessTier.Value.ToString()); + } + if (AccessTierChangeTime != null) + { + writer.WritePropertyName("accessTierChangeTime"); + writer.WriteStringValue(AccessTierChangeTime.Value, "S"); + } + if (AccessTierStatus != null) + { + writer.WritePropertyName("accessTierStatus"); + writer.WriteStringValue(AccessTierStatus); + } + if (ShareUsageBytes != null) + { + writer.WritePropertyName("shareUsageBytes"); + writer.WriteNumberValue(ShareUsageBytes.Value); + } writer.WriteEndObject(); writer.WriteEndObject(); } @@ -73,6 +123,16 @@ namespace Azure.Management.Storage.Models DateTimeOffset? lastModifiedTime = default; IDictionary metadata = default; int? shareQuota = default; + EnabledProtocols? enabledProtocols = default; + RootSquashType? rootSquash = default; + string version = default; + bool? deleted = default; + DateTimeOffset? deletedTime = default; + int? remainingRetentionDays = default; + ShareAccessTier? accessTier = default; + DateTimeOffset? accessTierChangeTime = default; + string accessTierStatus = default; + int? shareUsageBytes = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("etag")) @@ -154,11 +214,101 @@ namespace Azure.Management.Storage.Models shareQuota = property0.Value.GetInt32(); continue; } + if (property0.NameEquals("enabledProtocols")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + enabledProtocols = new EnabledProtocols(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("rootSquash")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + rootSquash = new RootSquashType(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("version")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + version = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("deleted")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + deleted = property0.Value.GetBoolean(); + continue; + } + if (property0.NameEquals("deletedTime")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + deletedTime = property0.Value.GetDateTimeOffset("S"); + continue; + } + if (property0.NameEquals("remainingRetentionDays")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + remainingRetentionDays = property0.Value.GetInt32(); + continue; + } + if (property0.NameEquals("accessTier")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTier = new ShareAccessTier(property0.Value.GetString()); + continue; + } + if (property0.NameEquals("accessTierChangeTime")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTierChangeTime = property0.Value.GetDateTimeOffset("S"); + continue; + } + if (property0.NameEquals("accessTierStatus")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + accessTierStatus = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("shareUsageBytes")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + shareUsageBytes = property0.Value.GetInt32(); + continue; + } } continue; } } - return new FileShareItem(id, name, type, etag, lastModifiedTime, metadata, shareQuota); + return new FileShareItem(id, name, type, etag, lastModifiedTime, metadata, shareQuota, enabledProtocols, rootSquash, version, deleted, deletedTime, remainingRetentionDays, accessTier, accessTierChangeTime, accessTierStatus, shareUsageBytes); } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.cs index 3d164e84..8ec75be3 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/FileShareItem.cs @@ -26,11 +26,31 @@ namespace Azure.Management.Storage.Models /// Returns the date and time the share was last modified. /// A name-value pair to associate with the share as metadata. /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. - internal FileShareItem(string id, string name, string type, string etag, DateTimeOffset? lastModifiedTime, IDictionary metadata, int? shareQuota) : base(id, name, type, etag) + /// The authentication protocol that is used for the file share. Can only be specified when creating a share. + /// The property is for NFS share only. The default is NoRootSquash. + /// The version of the share. + /// Indicates whether the share was deleted. + /// The deleted time if the share was deleted. + /// Remaining retention days for share that was soft deleted. + /// Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. + /// Indicates the last modification time for share access tier. + /// Indicates if there is a pending transition for access tier. + /// The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + internal FileShareItem(string id, string name, string type, string etag, DateTimeOffset? lastModifiedTime, IDictionary metadata, int? shareQuota, EnabledProtocols? enabledProtocols, RootSquashType? rootSquash, string version, bool? deleted, DateTimeOffset? deletedTime, int? remainingRetentionDays, ShareAccessTier? accessTier, DateTimeOffset? accessTierChangeTime, string accessTierStatus, int? shareUsageBytes) : base(id, name, type, etag) { LastModifiedTime = lastModifiedTime; Metadata = metadata; ShareQuota = shareQuota; + EnabledProtocols = enabledProtocols; + RootSquash = rootSquash; + Version = version; + Deleted = deleted; + DeletedTime = deletedTime; + RemainingRetentionDays = remainingRetentionDays; + AccessTier = accessTier; + AccessTierChangeTime = accessTierChangeTime; + AccessTierStatus = accessTierStatus; + ShareUsageBytes = shareUsageBytes; } /// Returns the date and time the share was last modified. @@ -39,5 +59,25 @@ namespace Azure.Management.Storage.Models public IDictionary Metadata { get; set; } /// The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. public int? ShareQuota { get; set; } + /// The authentication protocol that is used for the file share. Can only be specified when creating a share. + public EnabledProtocols? EnabledProtocols { get; set; } + /// The property is for NFS share only. The default is NoRootSquash. + public RootSquashType? RootSquash { get; set; } + /// The version of the share. + public string Version { get; } + /// Indicates whether the share was deleted. + public bool? Deleted { get; } + /// The deleted time if the share was deleted. + public DateTimeOffset? DeletedTime { get; } + /// Remaining retention days for share that was soft deleted. + public int? RemainingRetentionDays { get; } + /// Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. + public ShareAccessTier? AccessTier { get; set; } + /// Indicates the last modification time for share access tier. + public DateTimeOffset? AccessTierChangeTime { get; } + /// Indicates if there is a pending transition for access tier. + public string AccessTierStatus { get; } + /// The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. + public int? ShareUsageBytes { get; } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.Serialization.cs index 14beff4c..fd9e9ae2 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.Serialization.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.Serialization.cs @@ -33,6 +33,16 @@ namespace Azure.Management.Storage.Models writer.WriteStringValue(item); } writer.WriteEndArray(); + if (BlobIndexMatch != null) + { + writer.WritePropertyName("blobIndexMatch"); + writer.WriteStartArray(); + foreach (var item in BlobIndexMatch) + { + writer.WriteObjectValue(item); + } + writer.WriteEndArray(); + } writer.WriteEndObject(); } @@ -40,6 +50,7 @@ namespace Azure.Management.Storage.Models { IList prefixMatch = default; IList blobTypes = default; + IList blobIndexMatch = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("prefixMatch")) @@ -80,8 +91,29 @@ namespace Azure.Management.Storage.Models blobTypes = array; continue; } + if (property.NameEquals("blobIndexMatch")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + List array = new List(); + foreach (var item in property.Value.EnumerateArray()) + { + if (item.ValueKind == JsonValueKind.Null) + { + array.Add(null); + } + else + { + array.Add(TagFilter.DeserializeTagFilter(item)); + } + } + blobIndexMatch = array; + continue; + } } - return new ManagementPolicyFilter(prefixMatch, blobTypes); + return new ManagementPolicyFilter(prefixMatch, blobTypes, blobIndexMatch); } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.cs index 5a2f8e73..4375e6d1 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ManagementPolicyFilter.cs @@ -29,15 +29,19 @@ namespace Azure.Management.Storage.Models /// Initializes a new instance of ManagementPolicyFilter. /// An array of strings for prefixes to be match. /// An array of predefined enum values. Only blockBlob is supported. - internal ManagementPolicyFilter(IList prefixMatch, IList blobTypes) + /// An array of blob index tag based filters, there can be at most 10 tag filters. + internal ManagementPolicyFilter(IList prefixMatch, IList blobTypes, IList blobIndexMatch) { PrefixMatch = prefixMatch; BlobTypes = blobTypes; + BlobIndexMatch = blobIndexMatch; } /// An array of strings for prefixes to be match. public IList PrefixMatch { get; set; } /// An array of predefined enum values. Only blockBlob is supported. public IList BlobTypes { get; set; } + /// An array of blob index tag based filters, there can be at most 10 tag filters. + public IList BlobIndexMatch { get; set; } } } diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.Serialization.cs new file mode 100644 index 00000000..9cc5dc64 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.Serialization.cs @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class ObjectReplicationPolicies + { + internal static ObjectReplicationPolicies DeserializeObjectReplicationPolicies(JsonElement element) + { + IReadOnlyList value = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("value")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + List array = new List(); + foreach (var item in property.Value.EnumerateArray()) + { + if (item.ValueKind == JsonValueKind.Null) + { + array.Add(null); + } + else + { + array.Add(ObjectReplicationPolicy.DeserializeObjectReplicationPolicy(item)); + } + } + value = array; + continue; + } + } + return new ObjectReplicationPolicies(value); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.cs new file mode 100644 index 00000000..a832d115 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicies.cs @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Collections.Generic; + +namespace Azure.Management.Storage.Models +{ + /// List storage account object replication policies. + public partial class ObjectReplicationPolicies + { + /// Initializes a new instance of ObjectReplicationPolicies. + internal ObjectReplicationPolicies() + { + } + + /// Initializes a new instance of ObjectReplicationPolicies. + /// The replication policy between two storage accounts. + internal ObjectReplicationPolicies(IReadOnlyList value) + { + Value = value; + } + + /// The replication policy between two storage accounts. + public IReadOnlyList Value { get; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.Serialization.cs new file mode 100644 index 00000000..164f6402 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.Serialization.cs @@ -0,0 +1,178 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class ObjectReplicationPolicy : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (Id != null) + { + writer.WritePropertyName("id"); + writer.WriteStringValue(Id); + } + if (Name != null) + { + writer.WritePropertyName("name"); + writer.WriteStringValue(Name); + } + if (Type != null) + { + writer.WritePropertyName("type"); + writer.WriteStringValue(Type); + } + writer.WritePropertyName("properties"); + writer.WriteStartObject(); + if (PolicyId != null) + { + writer.WritePropertyName("policyId"); + writer.WriteStringValue(PolicyId); + } + if (EnabledTime != null) + { + writer.WritePropertyName("enabledTime"); + writer.WriteStringValue(EnabledTime.Value, "S"); + } + if (SourceAccount != null) + { + writer.WritePropertyName("sourceAccount"); + writer.WriteStringValue(SourceAccount); + } + if (DestinationAccount != null) + { + writer.WritePropertyName("destinationAccount"); + writer.WriteStringValue(DestinationAccount); + } + if (Rules != null) + { + writer.WritePropertyName("rules"); + writer.WriteStartArray(); + foreach (var item in Rules) + { + writer.WriteObjectValue(item); + } + writer.WriteEndArray(); + } + writer.WriteEndObject(); + writer.WriteEndObject(); + } + + internal static ObjectReplicationPolicy DeserializeObjectReplicationPolicy(JsonElement element) + { + string id = default; + string name = default; + string type = default; + string policyId = default; + DateTimeOffset? enabledTime = default; + string sourceAccount = default; + string destinationAccount = default; + IList rules = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("id")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + id = property.Value.GetString(); + continue; + } + if (property.NameEquals("name")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + name = property.Value.GetString(); + continue; + } + if (property.NameEquals("type")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + type = property.Value.GetString(); + continue; + } + if (property.NameEquals("properties")) + { + foreach (var property0 in property.Value.EnumerateObject()) + { + if (property0.NameEquals("policyId")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + policyId = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("enabledTime")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + enabledTime = property0.Value.GetDateTimeOffset("S"); + continue; + } + if (property0.NameEquals("sourceAccount")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + sourceAccount = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("destinationAccount")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + destinationAccount = property0.Value.GetString(); + continue; + } + if (property0.NameEquals("rules")) + { + if (property0.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + List array = new List(); + foreach (var item in property0.Value.EnumerateArray()) + { + if (item.ValueKind == JsonValueKind.Null) + { + array.Add(null); + } + else + { + array.Add(ObjectReplicationPolicyRule.DeserializeObjectReplicationPolicyRule(item)); + } + } + rules = array; + continue; + } + } + continue; + } + } + return new ObjectReplicationPolicy(id, name, type, policyId, enabledTime, sourceAccount, destinationAccount, rules); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.cs new file mode 100644 index 00000000..61854e3b --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicy.cs @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; + +namespace Azure.Management.Storage.Models +{ + /// The replication policy between two storage accounts. Multiple rules can be defined in one policy. + public partial class ObjectReplicationPolicy : Resource + { + /// Initializes a new instance of ObjectReplicationPolicy. + public ObjectReplicationPolicy() + { + } + + /// Initializes a new instance of ObjectReplicationPolicy. + /// Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + /// The name of the resource. + /// The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + /// A unique id for object replication policy. + /// Indicates when the policy is enabled on the source account. + /// Required. Source account name. + /// Required. Destination account name. + /// The storage account object replication rules. + internal ObjectReplicationPolicy(string id, string name, string type, string policyId, DateTimeOffset? enabledTime, string sourceAccount, string destinationAccount, IList rules) : base(id, name, type) + { + PolicyId = policyId; + EnabledTime = enabledTime; + SourceAccount = sourceAccount; + DestinationAccount = destinationAccount; + Rules = rules; + } + + /// A unique id for object replication policy. + public string PolicyId { get; } + /// Indicates when the policy is enabled on the source account. + public DateTimeOffset? EnabledTime { get; } + /// Required. Source account name. + public string SourceAccount { get; set; } + /// Required. Destination account name. + public string DestinationAccount { get; set; } + /// The storage account object replication rules. + public IList Rules { get; set; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.Serialization.cs new file mode 100644 index 00000000..f568bcee --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.Serialization.cs @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class ObjectReplicationPolicyFilter : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (PrefixMatch != null) + { + writer.WritePropertyName("prefixMatch"); + writer.WriteStartArray(); + foreach (var item in PrefixMatch) + { + writer.WriteStringValue(item); + } + writer.WriteEndArray(); + } + if (MinCreationTime != null) + { + writer.WritePropertyName("minCreationTime"); + writer.WriteStringValue(MinCreationTime); + } + writer.WriteEndObject(); + } + + internal static ObjectReplicationPolicyFilter DeserializeObjectReplicationPolicyFilter(JsonElement element) + { + IList prefixMatch = default; + string minCreationTime = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("prefixMatch")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + List array = new List(); + foreach (var item in property.Value.EnumerateArray()) + { + if (item.ValueKind == JsonValueKind.Null) + { + array.Add(null); + } + else + { + array.Add(item.GetString()); + } + } + prefixMatch = array; + continue; + } + if (property.NameEquals("minCreationTime")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + minCreationTime = property.Value.GetString(); + continue; + } + } + return new ObjectReplicationPolicyFilter(prefixMatch, minCreationTime); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.cs new file mode 100644 index 00000000..d08f38ac --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyFilter.cs @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Collections.Generic; + +namespace Azure.Management.Storage.Models +{ + /// Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters. + public partial class ObjectReplicationPolicyFilter + { + /// Initializes a new instance of ObjectReplicationPolicyFilter. + public ObjectReplicationPolicyFilter() + { + } + + /// Initializes a new instance of ObjectReplicationPolicyFilter. + /// Optional. Filters the results to replicate only blobs whose names begin with the specified prefix. + /// Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. + internal ObjectReplicationPolicyFilter(IList prefixMatch, string minCreationTime) + { + PrefixMatch = prefixMatch; + MinCreationTime = minCreationTime; + } + + /// Optional. Filters the results to replicate only blobs whose names begin with the specified prefix. + public IList PrefixMatch { get; set; } + /// Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. + public string MinCreationTime { get; set; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.Serialization.cs new file mode 100644 index 00000000..22032e9a --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.Serialization.cs @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class ObjectReplicationPolicyRule : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (RuleId != null) + { + writer.WritePropertyName("ruleId"); + writer.WriteStringValue(RuleId); + } + writer.WritePropertyName("sourceContainer"); + writer.WriteStringValue(SourceContainer); + writer.WritePropertyName("destinationContainer"); + writer.WriteStringValue(DestinationContainer); + if (Filters != null) + { + writer.WritePropertyName("filters"); + writer.WriteObjectValue(Filters); + } + writer.WriteEndObject(); + } + + internal static ObjectReplicationPolicyRule DeserializeObjectReplicationPolicyRule(JsonElement element) + { + string ruleId = default; + string sourceContainer = default; + string destinationContainer = default; + ObjectReplicationPolicyFilter filters = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("ruleId")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + ruleId = property.Value.GetString(); + continue; + } + if (property.NameEquals("sourceContainer")) + { + sourceContainer = property.Value.GetString(); + continue; + } + if (property.NameEquals("destinationContainer")) + { + destinationContainer = property.Value.GetString(); + continue; + } + if (property.NameEquals("filters")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + filters = ObjectReplicationPolicyFilter.DeserializeObjectReplicationPolicyFilter(property.Value); + continue; + } + } + return new ObjectReplicationPolicyRule(ruleId, sourceContainer, destinationContainer, filters); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.cs new file mode 100644 index 00000000..0a4f6576 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ObjectReplicationPolicyRule.cs @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.Management.Storage.Models +{ + /// The replication policy rule between two containers. + public partial class ObjectReplicationPolicyRule + { + /// Initializes a new instance of ObjectReplicationPolicyRule. + /// Required. Source container name. + /// Required. Destination container name. + public ObjectReplicationPolicyRule(string sourceContainer, string destinationContainer) + { + if (sourceContainer == null) + { + throw new ArgumentNullException(nameof(sourceContainer)); + } + if (destinationContainer == null) + { + throw new ArgumentNullException(nameof(destinationContainer)); + } + + SourceContainer = sourceContainer; + DestinationContainer = destinationContainer; + } + + /// Initializes a new instance of ObjectReplicationPolicyRule. + /// Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account. + /// Required. Source container name. + /// Required. Destination container name. + /// Optional. An object that defines the filter set. + internal ObjectReplicationPolicyRule(string ruleId, string sourceContainer, string destinationContainer, ObjectReplicationPolicyFilter filters) + { + RuleId = ruleId; + SourceContainer = sourceContainer; + DestinationContainer = destinationContainer; + Filters = filters; + } + + /// Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account. + public string RuleId { get; set; } + /// Required. Source container name. + public string SourceContainer { get; set; } + /// Required. Destination container name. + public string DestinationContainer { get; set; } + /// Optional. An object that defines the filter set. + public ObjectReplicationPolicyFilter Filters { get; set; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/RootSquashType.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/RootSquashType.cs new file mode 100644 index 00000000..43716143 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/RootSquashType.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ComponentModel; + +namespace Azure.Management.Storage.Models +{ + /// The property is for NFS share only. The default is NoRootSquash. + public readonly partial struct RootSquashType : IEquatable + { + private readonly string _value; + + /// Determines if two values are the same. + public RootSquashType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string NoRootSquashValue = "NoRootSquash"; + private const string RootSquashValue = "RootSquash"; + private const string AllSquashValue = "AllSquash"; + + /// NoRootSquash. + public static RootSquashType NoRootSquash { get; } = new RootSquashType(NoRootSquashValue); + /// RootSquash. + public static RootSquashType RootSquash { get; } = new RootSquashType(RootSquashValue); + /// AllSquash. + public static RootSquashType AllSquash { get; } = new RootSquashType(AllSquashValue); + /// Determines if two values are the same. + public static bool operator ==(RootSquashType left, RootSquashType right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(RootSquashType left, RootSquashType right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator RootSquashType(string value) => new RootSquashType(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is RootSquashType other && Equals(other); + /// + public bool Equals(RootSquashType other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + /// + public override string ToString() => _value; + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ShareAccessTier.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ShareAccessTier.cs new file mode 100644 index 00000000..5b1623c3 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/ShareAccessTier.cs @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ComponentModel; + +namespace Azure.Management.Storage.Models +{ + /// Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. + public readonly partial struct ShareAccessTier : IEquatable + { + private readonly string _value; + + /// Determines if two values are the same. + public ShareAccessTier(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + private const string TransactionOptimizedValue = "TransactionOptimized"; + private const string HotValue = "Hot"; + private const string CoolValue = "Cool"; + private const string PremiumValue = "Premium"; + + /// TransactionOptimized. + public static ShareAccessTier TransactionOptimized { get; } = new ShareAccessTier(TransactionOptimizedValue); + /// Hot. + public static ShareAccessTier Hot { get; } = new ShareAccessTier(HotValue); + /// Cool. + public static ShareAccessTier Cool { get; } = new ShareAccessTier(CoolValue); + /// Premium. + public static ShareAccessTier Premium { get; } = new ShareAccessTier(PremiumValue); + /// Determines if two values are the same. + public static bool operator ==(ShareAccessTier left, ShareAccessTier right) => left.Equals(right); + /// Determines if two values are not the same. + public static bool operator !=(ShareAccessTier left, ShareAccessTier right) => !left.Equals(right); + /// Converts a string to a . + public static implicit operator ShareAccessTier(string value) => new ShareAccessTier(value); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object obj) => obj is ShareAccessTier other && Equals(other); + /// + public bool Equals(ShareAccessTier other) => string.Equals(_value, other._value, StringComparison.InvariantCultureIgnoreCase); + + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + /// + public override string ToString() => _value; + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.Serialization.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.Serialization.cs new file mode 100644 index 00000000..74802bb2 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.Serialization.cs @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace Azure.Management.Storage.Models +{ + public partial class TagFilter : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("name"); + writer.WriteStringValue(Name); + writer.WritePropertyName("op"); + writer.WriteStringValue(Op); + writer.WritePropertyName("value"); + writer.WriteStringValue(Value); + writer.WriteEndObject(); + } + + internal static TagFilter DeserializeTagFilter(JsonElement element) + { + string name = default; + string op = default; + string value = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("name")) + { + name = property.Value.GetString(); + continue; + } + if (property.NameEquals("op")) + { + op = property.Value.GetString(); + continue; + } + if (property.NameEquals("value")) + { + value = property.Value.GetString(); + continue; + } + } + return new TagFilter(name, op, value); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.cs new file mode 100644 index 00000000..045ca427 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/Models/TagFilter.cs @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; + +namespace Azure.Management.Storage.Models +{ + /// Blob index tag based filtering for blob objects. + public partial class TagFilter + { + /// Initializes a new instance of TagFilter. + /// This is the filter tag name, it can have 1 - 128 characters. + /// This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported. + /// This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters. + public TagFilter(string name, string op, string value) + { + if (name == null) + { + throw new ArgumentNullException(nameof(name)); + } + if (op == null) + { + throw new ArgumentNullException(nameof(op)); + } + if (value == null) + { + throw new ArgumentNullException(nameof(value)); + } + + Name = name; + Op = op; + Value = value; + } + + /// This is the filter tag name, it can have 1 - 128 characters. + public string Name { get; set; } + /// This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported. + public string Op { get; set; } + /// This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters. + public string Value { get; set; } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesClient.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesClient.cs new file mode 100644 index 00000000..7db194b8 --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesClient.cs @@ -0,0 +1,226 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.Core.Pipeline; +using Azure.Management.Storage.Models; + +namespace Azure.Management.Storage +{ + /// The ObjectReplicationPolicies service client. + public partial class ObjectReplicationPoliciesClient + { + private readonly ClientDiagnostics _clientDiagnostics; + private readonly HttpPipeline _pipeline; + internal ObjectReplicationPoliciesRestClient RestClient { get; } + /// Initializes a new instance of ObjectReplicationPoliciesClient for mocking. + protected ObjectReplicationPoliciesClient() + { + } + + /// Initializes a new instance of ObjectReplicationPoliciesClient. + public ObjectReplicationPoliciesClient(string subscriptionId, TokenCredential tokenCredential, StorageManagementClientOptions options = null) + { + options ??= new StorageManagementClientOptions(); + _clientDiagnostics = new ClientDiagnostics(options); + _pipeline = ManagementPipelineBuilder.Build(tokenCredential, options); + RestClient = new ObjectReplicationPoliciesRestClient(_clientDiagnostics, _pipeline, subscriptionId: subscriptionId); + } + + /// Get the object replication policy of the storage account by policy ID. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public virtual async Task> GetAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.Get"); + scope.Start(); + try + { + return await RestClient.GetAsync(resourceGroupName, accountName, objectReplicationPolicyId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Get the object replication policy of the storage account by policy ID. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public virtual Response Get(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.Get"); + scope.Start(); + try + { + return RestClient.Get(resourceGroupName, accountName, objectReplicationPolicyId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Create or update the object replication policy of the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The object replication policy set to a storage account. A unique policy ID will be created if absent. + /// The cancellation token to use. + public virtual async Task> CreateOrUpdateAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicy properties, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.CreateOrUpdate"); + scope.Start(); + try + { + return await RestClient.CreateOrUpdateAsync(resourceGroupName, accountName, objectReplicationPolicyId, properties, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Create or update the object replication policy of the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The object replication policy set to a storage account. A unique policy ID will be created if absent. + /// The cancellation token to use. + public virtual Response CreateOrUpdate(string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicy properties, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.CreateOrUpdate"); + scope.Start(); + try + { + return RestClient.CreateOrUpdate(resourceGroupName, accountName, objectReplicationPolicyId, properties, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Deletes the object replication policy associated with the specified storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public virtual async Task DeleteAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.Delete"); + scope.Start(); + try + { + return await RestClient.DeleteAsync(resourceGroupName, accountName, objectReplicationPolicyId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Deletes the object replication policy associated with the specified storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public virtual Response Delete(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.Delete"); + scope.Start(); + try + { + return RestClient.Delete(resourceGroupName, accountName, objectReplicationPolicyId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// List the object replication policies associated with the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The cancellation token to use. + public virtual AsyncPageable ListAsync(string resourceGroupName, string accountName, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + + async Task> FirstPageFunc(int? pageSizeHint) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.List"); + scope.Start(); + try + { + var response = await RestClient.ListAsync(resourceGroupName, accountName, cancellationToken).ConfigureAwait(false); + return Page.FromValues(response.Value.Value, null, response.GetRawResponse()); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + return PageableHelpers.CreateAsyncEnumerable(FirstPageFunc, null); + } + + /// List the object replication policies associated with the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The cancellation token to use. + public virtual Pageable List(string resourceGroupName, string accountName, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + + Page FirstPageFunc(int? pageSizeHint) + { + using var scope = _clientDiagnostics.CreateScope("ObjectReplicationPoliciesClient.List"); + scope.Start(); + try + { + var response = RestClient.List(resourceGroupName, accountName, cancellationToken); + return Page.FromValues(response.Value.Value, null, response.GetRawResponse()); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + return PageableHelpers.CreateEnumerable(FirstPageFunc, null); + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesRestClient.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesRestClient.cs new file mode 100644 index 00000000..d1f39ffe --- /dev/null +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/ObjectReplicationPoliciesRestClient.cs @@ -0,0 +1,455 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.Core.Pipeline; +using Azure.Management.Storage.Models; + +namespace Azure.Management.Storage +{ + internal partial class ObjectReplicationPoliciesRestClient + { + private string subscriptionId; + private string host; + private string apiVersion; + private ClientDiagnostics _clientDiagnostics; + private HttpPipeline _pipeline; + + /// Initializes a new instance of ObjectReplicationPoliciesRestClient. + public ObjectReplicationPoliciesRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string subscriptionId, string host = "https://management.azure.com", string apiVersion = "2019-06-01") + { + if (subscriptionId == null) + { + throw new ArgumentNullException(nameof(subscriptionId)); + } + if (host == null) + { + throw new ArgumentNullException(nameof(host)); + } + if (apiVersion == null) + { + throw new ArgumentNullException(nameof(apiVersion)); + } + + this.subscriptionId = subscriptionId; + this.host = host; + this.apiVersion = apiVersion; + _clientDiagnostics = clientDiagnostics; + _pipeline = pipeline; + } + + internal HttpMessage CreateListRequest(string resourceGroupName, string accountName) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies", false); + uri.AppendQuery("api-version", apiVersion, true); + request.Uri = uri; + return message; + } + + /// List the object replication policies associated with the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The cancellation token to use. + public async ValueTask> ListAsync(string resourceGroupName, string accountName, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + + using var message = CreateListRequest(resourceGroupName, accountName); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicies value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicies.DeserializeObjectReplicationPolicies(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// List the object replication policies associated with the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The cancellation token to use. + public Response List(string resourceGroupName, string accountName, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + + using var message = CreateListRequest(resourceGroupName, accountName); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicies value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicies.DeserializeObjectReplicationPolicies(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetRequest(string resourceGroupName, string accountName, string objectReplicationPolicyId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", apiVersion, true); + request.Uri = uri; + return message; + } + + /// Get the object replication policy of the storage account by policy ID. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public async ValueTask> GetAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + + using var message = CreateGetRequest(resourceGroupName, accountName, objectReplicationPolicyId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicy value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicy.DeserializeObjectReplicationPolicy(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Get the object replication policy of the storage account by policy ID. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public Response Get(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + + using var message = CreateGetRequest(resourceGroupName, accountName, objectReplicationPolicyId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicy value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicy.DeserializeObjectReplicationPolicy(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateCreateOrUpdateRequest(string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicy properties) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Put; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", apiVersion, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/json"); + using var content = new Utf8JsonRequestContent(); + content.JsonWriter.WriteObjectValue(properties); + request.Content = content; + return message; + } + + /// Create or update the object replication policy of the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The object replication policy set to a storage account. A unique policy ID will be created if absent. + /// The cancellation token to use. + public async ValueTask> CreateOrUpdateAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicy properties, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + if (properties == null) + { + throw new ArgumentNullException(nameof(properties)); + } + + using var message = CreateCreateOrUpdateRequest(resourceGroupName, accountName, objectReplicationPolicyId, properties); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicy value = default; + using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicy.DeserializeObjectReplicationPolicy(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Create or update the object replication policy of the storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The object replication policy set to a storage account. A unique policy ID will be created if absent. + /// The cancellation token to use. + public Response CreateOrUpdate(string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicy properties, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + if (properties == null) + { + throw new ArgumentNullException(nameof(properties)); + } + + using var message = CreateCreateOrUpdateRequest(resourceGroupName, accountName, objectReplicationPolicyId, properties); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + { + ObjectReplicationPolicy value = default; + using var document = JsonDocument.Parse(message.Response.ContentStream); + if (document.RootElement.ValueKind == JsonValueKind.Null) + { + value = null; + } + else + { + value = ObjectReplicationPolicy.DeserializeObjectReplicationPolicy(document.RootElement); + } + return Response.FromValue(value, message.Response); + } + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRequest(string resourceGroupName, string accountName, string objectReplicationPolicyId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", apiVersion, true); + request.Uri = uri; + return message; + } + + /// Deletes the object replication policy associated with the specified storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public async ValueTask DeleteAsync(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + + using var message = CreateDeleteRequest(resourceGroupName, accountName, objectReplicationPolicyId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 204: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Deletes the object replication policy associated with the specified storage account. + /// The name of the resource group within the user's subscription. The name is case insensitive. + /// The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. + /// The ID of object replication policy or 'default' if the policy ID is unknown. + /// The cancellation token to use. + public Response Delete(string resourceGroupName, string accountName, string objectReplicationPolicyId, CancellationToken cancellationToken = default) + { + if (resourceGroupName == null) + { + throw new ArgumentNullException(nameof(resourceGroupName)); + } + if (accountName == null) + { + throw new ArgumentNullException(nameof(accountName)); + } + if (objectReplicationPolicyId == null) + { + throw new ArgumentNullException(nameof(objectReplicationPolicyId)); + } + + using var message = CreateDeleteRequest(resourceGroupName, accountName, objectReplicationPolicyId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 204: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + } +} diff --git a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/StorageManagementClient.cs b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/StorageManagementClient.cs index 2e280637..2ebcfdce 100644 --- a/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/StorageManagementClient.cs +++ b/samples/Azure.Management.Storage/Azure.Management.Storage/Generated/StorageManagementClient.cs @@ -96,6 +96,12 @@ namespace Azure.Management.Storage return new PrivateLinkResourcesClient(_subscriptionId, _tokenCredential, _options); } + /// Creates a new instance of ObjectReplicationPoliciesClient. + public ObjectReplicationPoliciesClient GetObjectReplicationPoliciesClient() + { + return new ObjectReplicationPoliciesClient(_subscriptionId, _tokenCredential, _options); + } + /// Creates a new instance of EncryptionScopesClient. public EncryptionScopesClient GetEncryptionScopesClient() { diff --git a/samples/Azure.Management.Storage/readme.md b/samples/Azure.Management.Storage/readme.md index c86d57ac..45606612 100644 --- a/samples/Azure.Management.Storage/readme.md +++ b/samples/Azure.Management.Storage/readme.md @@ -7,9 +7,9 @@ azure-arm: true require: $(this-folder)/../../readme.md input-file: - - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7586a4893bbafd6d1f90b983bc091c7abf3eed59/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json - - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7586a4893bbafd6d1f90b983bc091c7abf3eed59/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json - - https://raw.githubusercontent.com/Azure/azure-rest-api-specs/7586a4893bbafd6d1f90b983bc091c7abf3eed59/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json + - https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json + - https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/file.json + - https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json namespace: Azure.Management.Storage payload-flattening-threshold: 2 ``` diff --git a/samples/Azure.Network.Management.Interface/readme.md b/samples/Azure.Network.Management.Interface/readme.md index 129f7dde..124dec85 100644 --- a/samples/Azure.Network.Management.Interface/readme.md +++ b/samples/Azure.Network.Management.Interface/readme.md @@ -5,6 +5,6 @@ ``` yaml title: Azure.Network.Management.Interface require: $(this-folder)/../../readme.md -input-file: https://github.com/Azure/azure-rest-api-specs/blob/master/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkInterface.json +input-file: https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/networkInterface.json namespace: Azure.Network.Management.Interface -``` \ No newline at end of file +``` diff --git a/samples/Azure.Storage.Tables/Azure.Storage.Tables/CodeModel.yaml b/samples/Azure.Storage.Tables/Azure.Storage.Tables/CodeModel.yaml index 07df09d2..f5b20975 100644 --- a/samples/Azure.Storage.Tables/Azure.Storage.Tables/CodeModel.yaml +++ b/samples/Azure.Storage.Tables/Azure.Storage.Tables/CodeModel.yaml @@ -371,7 +371,18 @@ schemas: ! default: name: String description: '' - header: x-ms-continuation-NextTableName + header: x-ms-continuation-NextPartitionKey + protocol: ! {} + - ! &ref_101 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-continuation-NextRowKey protocol: ! {} - ! &ref_19 type: string @@ -383,7 +394,7 @@ schemas: ! name: TableEntityQueryResponseOdataMetadata description: The metadata response of the table. protocol: ! {} - - ! &ref_101 + - ! &ref_102 type: string apiVersions: - ! @@ -394,7 +405,7 @@ schemas: ! description: '' header: x-ms-error-code protocol: ! {} - - ! &ref_105 + - ! &ref_106 type: string apiVersions: - ! @@ -405,17 +416,6 @@ schemas: ! description: '' header: x-ms-client-request-id protocol: ! {} - - ! &ref_111 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-request-id - protocol: ! {} - ! &ref_112 type: string apiVersions: @@ -425,9 +425,9 @@ schemas: ! default: name: String description: '' - header: x-ms-version + header: x-ms-request-id protocol: ! {} - - ! &ref_114 + - ! &ref_113 type: string apiVersions: - ! @@ -436,9 +436,31 @@ schemas: ! default: name: String description: '' - header: x-ms-continuation-NextTableName + header: x-ms-version protocol: ! {} - ! &ref_115 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-continuation-NextPartitionKey + protocol: ! {} + - ! &ref_116 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-continuation-NextRowKey + protocol: ! {} + - ! &ref_117 type: string apiVersions: - ! @@ -449,28 +471,6 @@ schemas: ! description: '' header: x-ms-error-code protocol: ! {} - - ! &ref_124 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_125 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-request-id - protocol: ! {} - ! &ref_126 type: string apiVersions: @@ -480,9 +480,31 @@ schemas: ! default: name: String description: '' - header: x-ms-version + header: x-ms-client-request-id + protocol: ! {} + - ! &ref_127 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-request-id protocol: ! {} - ! &ref_128 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-version + protocol: ! {} + - ! &ref_130 type: string apiVersions: - ! @@ -493,28 +515,6 @@ schemas: ! description: '' header: x-ms-error-code protocol: ! {} - - ! &ref_136 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_137 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-request-id - protocol: ! {} - ! &ref_138 type: string apiVersions: @@ -524,9 +524,31 @@ schemas: ! default: name: String description: '' - header: x-ms-version + header: x-ms-client-request-id + protocol: ! {} + - ! &ref_139 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-request-id protocol: ! {} - ! &ref_140 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-version + protocol: ! {} + - ! &ref_142 type: string apiVersions: - ! @@ -537,51 +559,7 @@ schemas: ! description: '' header: x-ms-error-code protocol: ! {} - - ! &ref_147 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_148 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-request-id - protocol: ! {} - ! &ref_149 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-version - protocol: ! {} - - ! &ref_151 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-error-code - protocol: ! {} - - ! &ref_157 type: string apiVersions: - ! @@ -592,7 +570,7 @@ schemas: ! description: '' header: x-ms-client-request-id protocol: ! {} - - ! &ref_158 + - ! &ref_150 type: string apiVersions: - ! @@ -603,7 +581,51 @@ schemas: ! description: '' header: x-ms-request-id protocol: ! {} + - ! &ref_151 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-version + protocol: ! {} + - ! &ref_153 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-error-code + protocol: ! {} - ! &ref_159 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-client-request-id + protocol: ! {} + - ! &ref_160 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-request-id + protocol: ! {} + - ! &ref_161 type: string apiVersions: - ! @@ -634,7 +656,7 @@ schemas: ! name: AccessPolicyPermission description: the permissions for the acl policy protocol: ! {} - - ! &ref_161 + - ! &ref_163 type: string apiVersions: - ! @@ -645,7 +667,7 @@ schemas: ! description: '' header: x-ms-error-code protocol: ! {} - - ! &ref_167 + - ! &ref_169 type: string apiVersions: - ! @@ -656,7 +678,7 @@ schemas: ! description: '' header: x-ms-client-request-id protocol: ! {} - - ! &ref_168 + - ! &ref_170 type: string apiVersions: - ! @@ -667,7 +689,7 @@ schemas: ! description: '' header: x-ms-request-id protocol: ! {} - - ! &ref_169 + - ! &ref_171 type: string apiVersions: - ! @@ -678,7 +700,7 @@ schemas: ! description: '' header: x-ms-version protocol: ! {} - - ! &ref_171 + - ! &ref_173 type: string apiVersions: - ! @@ -751,28 +773,6 @@ schemas: ! name: CorsRuleExposedHeaders description: The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer protocol: ! {} - - ! &ref_178 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_179 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-request-id - protocol: ! {} - ! &ref_180 type: string apiVersions: @@ -782,31 +782,9 @@ schemas: ! default: name: String description: '' - header: x-ms-version + header: x-ms-client-request-id protocol: ! {} - ! &ref_181 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-error-code - protocol: ! {} - - ! &ref_184 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_185 type: string apiVersions: - ! @@ -817,6 +795,28 @@ schemas: ! description: '' header: x-ms-request-id protocol: ! {} + - ! &ref_182 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-version + protocol: ! {} + - ! &ref_183 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-error-code + protocol: ! {} - ! &ref_186 type: string apiVersions: @@ -826,31 +826,9 @@ schemas: ! default: name: String description: '' - header: x-ms-version + header: x-ms-client-request-id protocol: ! {} - ! &ref_187 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-error-code - protocol: ! {} - - ! &ref_192 - type: string - apiVersions: - - ! - version: '2018-10-10' - language: ! - default: - name: String - description: '' - header: x-ms-client-request-id - protocol: ! {} - - ! &ref_193 type: string apiVersions: - ! @@ -861,7 +839,7 @@ schemas: ! description: '' header: x-ms-request-id protocol: ! {} - - ! &ref_194 + - ! &ref_188 type: string apiVersions: - ! @@ -872,7 +850,51 @@ schemas: ! description: '' header: x-ms-version protocol: ! {} + - ! &ref_189 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-error-code + protocol: ! {} + - ! &ref_194 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-client-request-id + protocol: ! {} + - ! &ref_195 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-request-id + protocol: ! {} - ! &ref_196 + type: string + apiVersions: + - ! + version: '2018-10-10' + language: ! + default: + name: String + description: '' + header: x-ms-version + protocol: ! {} + - ! &ref_198 type: string apiVersions: - ! @@ -978,14 +1000,14 @@ schemas: ! - ! &ref_66 type: constant value: ! - value: application/json;odata=fullmetadata + value: application/json;odata=nometadata valueType: *ref_0 language: ! default: - name: ApplicationJsonOdataFullmetadata - description: Content Type 'application/json;odata=fullmetadata' + name: ApplicationJsonOdataNometadata + description: Content Type 'application/json;odata=nometadata' protocol: ! {} - - ! &ref_152 + - ! &ref_154 type: constant value: ! value: acl @@ -995,7 +1017,7 @@ schemas: ! name: Constant5 description: '' protocol: ! {} - - ! &ref_162 + - ! &ref_164 type: constant value: ! value: application/xml @@ -1005,7 +1027,7 @@ schemas: ! name: ApplicationXml description: Content Type 'application/xml' protocol: ! {} - - ! &ref_172 + - ! &ref_174 type: constant value: ! value: service @@ -1015,7 +1037,7 @@ schemas: ! name: Constant7 description: '' protocol: ! {} - - ! &ref_173 + - ! &ref_175 type: constant value: ! value: properties @@ -1025,7 +1047,7 @@ schemas: ! name: Constant8 description: '' protocol: ! {} - - ! &ref_188 + - ! &ref_190 type: constant value: ! value: stats @@ -1113,7 +1135,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_113 + - ! &ref_114 type: date-time format: date-time-rfc1123 apiVersions: @@ -1125,7 +1147,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_127 + - ! &ref_129 type: date-time format: date-time-rfc1123 apiVersions: @@ -1137,7 +1159,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_139 + - ! &ref_141 type: date-time format: date-time-rfc1123 apiVersions: @@ -1149,7 +1171,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_150 + - ! &ref_152 type: date-time format: date-time-rfc1123 apiVersions: @@ -1161,7 +1183,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_160 + - ! &ref_162 type: date-time format: date-time-rfc1123 apiVersions: @@ -1195,7 +1217,7 @@ schemas: ! name: AccessPolicyExpiry description: the date-time the policy expires protocol: ! {} - - ! &ref_170 + - ! &ref_172 type: date-time format: date-time-rfc1123 apiVersions: @@ -1207,7 +1229,7 @@ schemas: ! description: '' header: Date protocol: ! {} - - ! &ref_195 + - ! &ref_197 type: date-time format: date-time-rfc1123 apiVersions: @@ -1294,7 +1316,7 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_102 + - ! &ref_103 schema: *ref_2 groupedBy: ! &ref_8 schema: *ref_3 @@ -1313,9 +1335,9 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_116 + - ! &ref_118 schema: *ref_2 - groupedBy: ! &ref_117 + groupedBy: ! &ref_119 schema: *ref_3 implementation: Method language: ! @@ -1332,9 +1354,9 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_129 + - ! &ref_131 schema: *ref_2 - groupedBy: ! &ref_130 + groupedBy: ! &ref_132 schema: *ref_3 implementation: Method language: ! @@ -1351,9 +1373,9 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_141 + - ! &ref_143 schema: *ref_2 - groupedBy: ! &ref_142 + groupedBy: ! &ref_144 schema: *ref_3 implementation: Method language: ! @@ -1436,7 +1458,7 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_103 + - ! &ref_104 schema: *ref_7 groupedBy: *ref_8 implementation: Method @@ -1481,7 +1503,7 @@ schemas: ! protocol: ! http: ! in: query - - ! &ref_104 + - ! &ref_105 schema: *ref_7 groupedBy: *ref_8 implementation: Method @@ -1801,7 +1823,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_25 - - ! &ref_174 + - ! &ref_176 type: object apiVersions: - ! @@ -2080,7 +2102,7 @@ schemas: ! - *ref_35 - *ref_36 - *ref_43 - - ! &ref_191 + - ! &ref_193 type: object apiVersions: - ! @@ -2143,7 +2165,7 @@ schemas: ! arrays: - *ref_47 - *ref_48 - - ! &ref_156 + - ! &ref_158 type: array apiVersions: - ! @@ -2276,9 +2298,26 @@ operationGroups: header: x-ms-continuation-NextTableName knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - '200' + extensions: + x-ms-examples: + TableGet: + parameters: + $top: 1 + DataServiceVersion: '3.0' + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '200': + body: + odata.metadata: 'https://myaccount.table.core.windows.net/$metadata#Tables' + value: + - TableName: mytable + odata.editLink: Tables('mytable') + odata.id: 'https://myaccount.table.core.windows.net/Tables(''mytable'')' + odata.type: myaccount.Tables language: ! default: name: Query @@ -2357,7 +2396,7 @@ operationGroups: method: post knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata uri: '{url}' signatureParameters: - *ref_70 @@ -2385,7 +2424,7 @@ operationGroups: header: Date knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - '201' - ! @@ -2425,9 +2464,27 @@ operationGroups: header: x-ms-error-code knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - default + extensions: + x-ms-examples: + TableCreate: + parameters: + DataServiceVersion: '3.0' + tableProperties: + TableName: mytable + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '201': + body: + TableName: mytable + odata.editLink: Tables('mytable') + odata.id: 'https://myaccount.table.core.windows.net/Tables(''mytable'')' + odata.metadata: 'https://myaccount.table.core.windows.net/$metadata#Tables/@Element' + odata.type: ' myaccount.Tables' + '204': {} language: ! default: name: Create @@ -2515,9 +2572,18 @@ operationGroups: header: x-ms-error-code knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - default + extensions: + x-ms-examples: + TableDelete: + parameters: + table: mytable + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '204': {} language: ! default: name: Delete @@ -2625,10 +2691,13 @@ operationGroups: header: Date - ! schema: *ref_100 - header: x-ms-continuation-NextTableName + header: x-ms-continuation-NextPartitionKey + - ! + schema: *ref_101 + header: x-ms-continuation-NextRowKey knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - '200' exceptions: @@ -2642,13 +2711,37 @@ operationGroups: http: ! headers: - ! - schema: *ref_101 + schema: *ref_102 header: x-ms-error-code knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - default + extensions: + x-ms-examples: + TableQueryEntities: + parameters: + $top: 1 + DataServiceVersion: '3.0' + table: Customer + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '200': + body: + odata.metadata: ' https://myaccount.table.core.windows.net/metadata#Customers' + value: + - CustomerSince: '2008-10-01T15:25:05.2852025Z' + CustomerSince@odata.type: Edm.DateTime + PartitionKey: Customer + RowKey: Name + Timestamp: '2013-08-22T00:20:16.3134645Z' + Timestamp@odata.type: Edm.DateTime + odata.editLink: 'Customers(PartitionKey=Customer'',RowKey=''Name'')' + odata.etag: W/"0x5B168C7B6E589D2" + odata.id: 'https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer'',RowKey=''Name'')' + odata.type: myaccount.Customers language: ! default: name: QueryEntities @@ -2660,7 +2753,7 @@ operationGroups: version: '2018-10-10' parameters: - *ref_52 - - ! &ref_106 + - ! &ref_107 schema: *ref_4 implementation: Method language: ! @@ -2674,7 +2767,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_107 + - ! &ref_108 schema: *ref_7 implementation: Method language: ! @@ -2697,10 +2790,10 @@ operationGroups: protocol: ! http: ! in: header - - *ref_102 - *ref_103 - *ref_104 - - ! &ref_108 + - *ref_105 + - ! &ref_109 schema: *ref_81 implementation: Method required: true @@ -2712,8 +2805,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_109 - schema: *ref_105 + - ! &ref_110 + schema: *ref_106 implementation: Method required: true language: ! @@ -2724,8 +2817,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_110 - schema: *ref_105 + - ! &ref_111 + schema: *ref_106 implementation: Method required: true language: ! @@ -2752,11 +2845,11 @@ operationGroups: method: get uri: '{url}' signatureParameters: - - *ref_106 - *ref_107 - *ref_108 - *ref_109 - *ref_110 + - *ref_111 responses: - ! schema: *ref_95 @@ -2768,23 +2861,26 @@ operationGroups: http: ! headers: - ! - schema: *ref_105 + schema: *ref_106 header: x-ms-client-request-id - ! - schema: *ref_111 + schema: *ref_112 header: x-ms-request-id - ! - schema: *ref_112 + schema: *ref_113 header: x-ms-version - ! - schema: *ref_113 + schema: *ref_114 header: Date - ! - schema: *ref_114 - header: x-ms-continuation-NextTableName + schema: *ref_115 + header: x-ms-continuation-NextPartitionKey + - ! + schema: *ref_116 + header: x-ms-continuation-NextRowKey knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - '200' exceptions: @@ -2798,13 +2894,38 @@ operationGroups: http: ! headers: - ! - schema: *ref_115 + schema: *ref_117 header: x-ms-error-code knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - default + extensions: + x-ms-examples: + TableQueryEntitiesWithPartitionAndRowKey: + parameters: + DataServiceVersion: '3.0' + partitionKey: Customer + rowKey: Name + table: Customers + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '200': + body: + odata.metadata: ' https://myaccount.table.core.windows.net/metadata#Customers' + value: + - CustomerSince: '2008-10-01T15:25:05.2852025Z' + CustomerSince@odata.type: Edm.DateTime + PartitionKey: Customer + RowKey: Name + Timestamp: '2013-08-22T00:20:16.3134645Z' + Timestamp@odata.type: Edm.DateTime + odata.editLink: 'Customers(PartitionKey=Customer'',RowKey=''Name'')' + odata.etag: W/"0x5B168C7B6E589D2" + odata.id: 'https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer'',RowKey=''Name'')' + odata.type: myaccount.Customers language: ! default: name: QueryEntitiesWithPartitionAndRowKey @@ -2816,7 +2937,7 @@ operationGroups: version: '2018-10-10' parameters: - *ref_52 - - ! &ref_119 + - ! &ref_121 schema: *ref_4 implementation: Method language: ! @@ -2830,7 +2951,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_120 + - ! &ref_122 schema: *ref_7 implementation: Method language: ! @@ -2853,8 +2974,8 @@ operationGroups: protocol: ! http: ! in: header - - *ref_116 - - ! &ref_121 + - *ref_118 + - ! &ref_123 schema: *ref_81 implementation: Method required: true @@ -2866,8 +2987,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_122 - schema: *ref_105 + - ! &ref_124 + schema: *ref_106 implementation: Method required: true language: ! @@ -2878,8 +2999,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_123 - schema: *ref_105 + - ! &ref_125 + schema: *ref_106 implementation: Method required: true language: ! @@ -2906,7 +3027,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_118 + - ! &ref_120 schema: *ref_20 implementation: Method required: false @@ -2918,10 +3039,10 @@ operationGroups: http: ! in: body style: json - - *ref_117 + - *ref_119 signatureParameters: - - *ref_118 - - *ref_117 + - *ref_120 + - *ref_119 language: ! default: name: '' @@ -2932,14 +3053,14 @@ operationGroups: method: put knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata uri: '{url}' signatureParameters: - - *ref_119 - - *ref_120 - *ref_121 - *ref_122 - *ref_123 + - *ref_124 + - *ref_125 responses: - ! language: ! @@ -2949,164 +3070,17 @@ operationGroups: protocol: ! http: ! headers: - - ! - schema: *ref_124 - header: x-ms-client-request-id - - ! - schema: *ref_125 - header: x-ms-request-id - ! schema: *ref_126 - header: x-ms-version - - ! - schema: *ref_127 - header: Date - statusCodes: - - '200' - exceptions: - - ! - schema: *ref_79 - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - headers: - - ! - schema: *ref_128 - header: x-ms-error-code - knownMediaType: json - mediaTypes: - - application/json;odata=fullmetadata - statusCodes: - - default - language: ! - default: - name: UpdateEntity - description: Update entity in a table. - protocol: ! {} - - ! - apiVersions: - - ! - version: '2018-10-10' - parameters: - - *ref_52 - - ! &ref_131 - schema: *ref_4 - implementation: Method - language: ! - default: - name: timeout - description: >- - The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service + Operations. + serializedName: timeout + protocol: ! + http: ! + in: query + - *ref_53 + - ! &ref_147 + schema: *ref_7 + implementation: Method + language: ! + default: + name: requestId + description: 'Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled.' + serializedName: x-ms-client-request-id + protocol: ! + http: ! + in: header + - ! + schema: *ref_54 + implementation: Method + required: true + language: ! + default: + name: dataServiceVersion + description: Specifies the data service version + serializedName: DataServiceVersion + protocol: ! + http: ! + in: header + - *ref_143 + - ! &ref_148 schema: *ref_81 implementation: Method required: true @@ -3205,7 +3363,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_143 + - ! &ref_145 schema: *ref_20 implementation: Method required: false @@ -3217,10 +3375,10 @@ operationGroups: http: ! in: body style: json - - *ref_142 + - *ref_144 signatureParameters: - - *ref_143 - - *ref_142 + - *ref_145 + - *ref_144 language: ! default: name: '' @@ -3231,12 +3389,12 @@ operationGroups: method: post knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata uri: '{url}' signatureParameters: - - *ref_144 - - *ref_145 - *ref_146 + - *ref_147 + - *ref_148 responses: - ! schema: *ref_20 @@ -3248,20 +3406,20 @@ operationGroups: http: ! headers: - ! - schema: *ref_147 + schema: *ref_149 header: x-ms-client-request-id - ! - schema: *ref_148 + schema: *ref_150 header: x-ms-request-id - ! - schema: *ref_149 + schema: *ref_151 header: x-ms-version - ! - schema: *ref_150 + schema: *ref_152 header: Date knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - '201' exceptions: @@ -3275,13 +3433,56 @@ operationGroups: http: ! headers: - ! - schema: *ref_151 + schema: *ref_153 header: x-ms-error-code knownMediaType: json mediaTypes: - - application/json;odata=fullmetadata + - application/json;odata=nometadata statusCodes: - default + extensions: + x-ms-examples: + TableInsertEntity: + parameters: + DataServiceVersion: '3.0' + table: Customer + tableEntityProperties: + Address: Mountain View + Age: 23 + AmountDue: 200.23 + CustomerCode: c9da6455-213d-42c9-9a79-3e9149a57833 + CustomerCode@odata.type: Edm.Guid + CustomerSince: '2008-07-10T00:00:00' + CustomerSince@odata.type: Edm.DateTime + IsActive: true + NumberOfOrders: '255' + NumberOfOrders@odata.type: Edm.Int64 + PartitionKey: mypartitionkey + RowKey: myrowkey + url: myaccount.table.core.windows.net + x-ms-version: '2018-10-10' + responses: + '201': + body: + Address: Mountain View + Age: 23 + AmountDue: 200.23 + CustomerCode: c9da6455-213d-42c9-9a79-3e9149a57833 + CustomerCode@odata.type: Edm.Guid + CustomerSince: '2008-07-10T00:00:00' + CustomerSince@odata.type: Edm.DateTime + IsActive: true + NumberOfOrders: '255' + NumberOfOrders@odata.type: Edm.Int64 + PartitionKey: mypartitionkey + RowKey: myrowkey + Timestamp: '2013-08-22T01:12:06.2608595Z' + Timestamp@odata.type: Edm.DateTime + odata.editLink: 'Customers(PartitionKey=''mypartitionkey'',RowKey=''myrowkey'')' + odata.etag: W/"0x5B168C7B6E589D2" + odata.id: ' https://myaccount.table.core.windows.net/Customers(PartitionKey=''mypartitionkey'',RowKey=''myrowkey'')' + odata.metadata: 'https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element' + odata.type: myaccount.Customers language: ! default: name: InsertEntity @@ -3293,7 +3494,7 @@ operationGroups: version: '2018-10-10' parameters: - *ref_52 - - ! &ref_153 + - ! &ref_155 schema: *ref_4 implementation: Method language: ! @@ -3307,7 +3508,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_154 + - ! &ref_156 schema: *ref_7 implementation: Method language: ! @@ -3318,7 +3519,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_155 + - ! &ref_157 schema: *ref_81 implementation: Method required: true @@ -3331,7 +3532,7 @@ operationGroups: http: ! in: path - ! - schema: *ref_152 + schema: *ref_154 implementation: Method required: true language: ! @@ -3354,12 +3555,12 @@ operationGroups: method: get uri: '{url}' signatureParameters: - - *ref_153 - - *ref_154 - *ref_155 + - *ref_156 + - *ref_157 responses: - ! - schema: *ref_156 + schema: *ref_158 language: ! default: name: '' @@ -3368,16 +3569,16 @@ operationGroups: http: ! headers: - ! - schema: *ref_157 + schema: *ref_159 header: x-ms-client-request-id - ! - schema: *ref_158 + schema: *ref_160 header: x-ms-request-id - ! - schema: *ref_159 + schema: *ref_161 header: x-ms-version - ! - schema: *ref_160 + schema: *ref_162 header: Date knownMediaType: xml mediaTypes: @@ -3395,7 +3596,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_161 + schema: *ref_163 header: x-ms-error-code knownMediaType: xml mediaTypes: @@ -3413,7 +3614,7 @@ operationGroups: version: '2018-10-10' parameters: - *ref_52 - - ! &ref_164 + - ! &ref_166 schema: *ref_4 implementation: Method language: ! @@ -3427,7 +3628,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_165 + - ! &ref_167 schema: *ref_7 implementation: Method language: ! @@ -3438,7 +3639,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_166 + - ! &ref_168 schema: *ref_81 implementation: Method required: true @@ -3451,7 +3652,7 @@ operationGroups: http: ! in: path - ! - schema: *ref_152 + schema: *ref_154 implementation: Method required: true language: ! @@ -3466,7 +3667,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_162 + schema: *ref_164 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3478,8 +3679,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_163 - schema: *ref_156 + - ! &ref_165 + schema: *ref_158 implementation: Method required: false language: ! @@ -3491,7 +3692,7 @@ operationGroups: in: body style: xml signatureParameters: - - *ref_163 + - *ref_165 language: ! default: name: '' @@ -3505,9 +3706,9 @@ operationGroups: - application/xml uri: '{url}' signatureParameters: - - *ref_164 - - *ref_165 - *ref_166 + - *ref_167 + - *ref_168 responses: - ! language: ! @@ -3518,16 +3719,16 @@ operationGroups: http: ! headers: - ! - schema: *ref_167 + schema: *ref_169 header: x-ms-client-request-id - ! - schema: *ref_168 + schema: *ref_170 header: x-ms-request-id - ! - schema: *ref_169 + schema: *ref_171 header: x-ms-version - ! - schema: *ref_170 + schema: *ref_172 header: Date statusCodes: - '204' @@ -3542,7 +3743,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_171 + schema: *ref_173 header: x-ms-error-code knownMediaType: xml mediaTypes: @@ -3569,7 +3770,7 @@ operationGroups: parameters: - *ref_52 - ! - schema: *ref_172 + schema: *ref_174 implementation: Method required: true language: ! @@ -3581,7 +3782,7 @@ operationGroups: http: ! in: query - ! - schema: *ref_173 + schema: *ref_175 implementation: Method required: true language: ! @@ -3592,7 +3793,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_176 + - ! &ref_178 schema: *ref_4 implementation: Method language: ! @@ -3606,7 +3807,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_177 + - ! &ref_179 schema: *ref_7 implementation: Method language: ! @@ -3621,7 +3822,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_162 + schema: *ref_164 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -3633,8 +3834,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_175 - schema: *ref_174 + - ! &ref_177 + schema: *ref_176 implementation: Method required: true language: ! @@ -3646,7 +3847,7 @@ operationGroups: in: body style: xml signatureParameters: - - *ref_175 + - *ref_177 language: ! default: name: '' @@ -3660,8 +3861,8 @@ operationGroups: - application/xml uri: '{url}' signatureParameters: - - *ref_176 - - *ref_177 + - *ref_178 + - *ref_179 responses: - ! language: ! @@ -3672,13 +3873,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_178 + schema: *ref_180 header: x-ms-client-request-id - ! - schema: *ref_179 + schema: *ref_181 header: x-ms-request-id - ! - schema: *ref_180 + schema: *ref_182 header: x-ms-version statusCodes: - '202' @@ -3693,7 +3894,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_181 + schema: *ref_183 header: x-ms-error-code knownMediaType: xml mediaTypes: @@ -3712,7 +3913,7 @@ operationGroups: parameters: - *ref_52 - ! - schema: *ref_172 + schema: *ref_174 implementation: Method required: true language: ! @@ -3724,7 +3925,7 @@ operationGroups: http: ! in: query - ! - schema: *ref_173 + schema: *ref_175 implementation: Method required: true language: ! @@ -3735,7 +3936,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_182 + - ! &ref_184 schema: *ref_4 implementation: Method language: ! @@ -3749,7 +3950,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_183 + - ! &ref_185 schema: *ref_7 implementation: Method language: ! @@ -3772,11 +3973,11 @@ operationGroups: method: get uri: '{url}' signatureParameters: - - *ref_182 - - *ref_183 + - *ref_184 + - *ref_185 responses: - ! - schema: *ref_174 + schema: *ref_176 language: ! default: name: '' @@ -3785,13 +3986,13 @@ operationGroups: http: ! headers: - ! - schema: *ref_184 + schema: *ref_186 header: x-ms-client-request-id - ! - schema: *ref_185 + schema: *ref_187 header: x-ms-request-id - ! - schema: *ref_186 + schema: *ref_188 header: x-ms-version knownMediaType: xml mediaTypes: @@ -3809,7 +4010,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_187 + schema: *ref_189 header: x-ms-error-code knownMediaType: xml mediaTypes: @@ -3828,7 +4029,7 @@ operationGroups: parameters: - *ref_52 - ! - schema: *ref_172 + schema: *ref_174 implementation: Method required: true language: ! @@ -3840,7 +4041,7 @@ operationGroups: http: ! in: query - ! - schema: *ref_188 + schema: *ref_190 implementation: Method required: true language: ! @@ -3851,7 +4052,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_189 + - ! &ref_191 schema: *ref_4 implementation: Method language: ! @@ -3865,7 +4066,7 @@ operationGroups: http: ! in: query - *ref_53 - - ! &ref_190 + - ! &ref_192 schema: *ref_7 implementation: Method language: ! @@ -3888,11 +4089,11 @@ operationGroups: method: get uri: '{url}' signatureParameters: - - *ref_189 - - *ref_190 + - *ref_191 + - *ref_192 responses: - ! - schema: *ref_191 + schema: *ref_193 language: ! default: name: '' @@ -3901,16 +4102,16 @@ operationGroups: http: ! headers: - ! - schema: *ref_192 + schema: *ref_194 header: x-ms-client-request-id - ! - schema: *ref_193 + schema: *ref_195 header: x-ms-request-id - ! - schema: *ref_194 + schema: *ref_196 header: x-ms-version - ! - schema: *ref_195 + schema: *ref_197 header: Date knownMediaType: xml mediaTypes: @@ -3928,7 +4129,7 @@ operationGroups: http: ! headers: - ! - schema: *ref_196 + schema: *ref_198 header: x-ms-error-code knownMediaType: xml mediaTypes: diff --git a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesHeaders.cs b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesHeaders.cs index 8e4ec250..e063749c 100644 --- a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesHeaders.cs +++ b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesHeaders.cs @@ -18,6 +18,7 @@ namespace Azure.Storage.Tables _response = response; } public string XMsVersion => _response.Headers.TryGetValue("x-ms-version", out string value) ? value : null; - public string XMsContinuationNextTableName => _response.Headers.TryGetValue("x-ms-continuation-NextTableName", out string value) ? value : null; + public string XMsContinuationNextPartitionKey => _response.Headers.TryGetValue("x-ms-continuation-NextPartitionKey", out string value) ? value : null; + public string XMsContinuationNextRowKey => _response.Headers.TryGetValue("x-ms-continuation-NextRowKey", out string value) ? value : null; } } diff --git a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesWithPartitionAndRowKeyHeaders.cs b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesWithPartitionAndRowKeyHeaders.cs index 72b3680d..c1c7be67 100644 --- a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesWithPartitionAndRowKeyHeaders.cs +++ b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalQueryEntitiesWithPartitionAndRowKeyHeaders.cs @@ -18,6 +18,7 @@ namespace Azure.Storage.Tables _response = response; } public string XMsVersion => _response.Headers.TryGetValue("x-ms-version", out string value) ? value : null; - public string XMsContinuationNextTableName => _response.Headers.TryGetValue("x-ms-continuation-NextTableName", out string value) ? value : null; + public string XMsContinuationNextPartitionKey => _response.Headers.TryGetValue("x-ms-continuation-NextPartitionKey", out string value) ? value : null; + public string XMsContinuationNextRowKey => _response.Headers.TryGetValue("x-ms-continuation-NextRowKey", out string value) ? value : null; } } diff --git a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalRestClient.cs b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalRestClient.cs index f30abea3..f2e4499d 100644 --- a/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalRestClient.cs +++ b/samples/Azure.Storage.Tables/Azure.Storage.Tables/Generated/TableInternalRestClient.cs @@ -155,7 +155,7 @@ namespace Azure.Storage.Tables request.Headers.Add("x-ms-client-request-id", requestId); } request.Headers.Add("DataServiceVersion", "3.0"); - request.Headers.Add("Content-Type", "application/json;odata=fullmetadata"); + request.Headers.Add("Content-Type", "application/json;odata=nometadata"); using var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(tableProperties); request.Content = content; @@ -580,7 +580,7 @@ namespace Azure.Storage.Tables request.Headers.Add("x-ms-client-request-id", requestId); } request.Headers.Add("DataServiceVersion", "3.0"); - request.Headers.Add("Content-Type", "application/json;odata=fullmetadata"); + request.Headers.Add("Content-Type", "application/json;odata=nometadata"); if (tableEntityProperties != null) { using var content = new Utf8JsonRequestContent(); @@ -625,7 +625,7 @@ namespace Azure.Storage.Tables var headers = new TableInternalUpdateEntityHeaders(message.Response); switch (message.Response.Status) { - case 200: + case 204: return ResponseWithHeaders.FromValue(headers, message.Response); default: throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); @@ -661,7 +661,7 @@ namespace Azure.Storage.Tables var headers = new TableInternalUpdateEntityHeaders(message.Response); switch (message.Response.Status) { - case 200: + case 204: return ResponseWithHeaders.FromValue(headers, message.Response); default: throw _clientDiagnostics.CreateRequestFailedException(message.Response); @@ -794,7 +794,7 @@ namespace Azure.Storage.Tables request.Headers.Add("x-ms-client-request-id", requestId); } request.Headers.Add("DataServiceVersion", "3.0"); - request.Headers.Add("Content-Type", "application/json;odata=fullmetadata"); + request.Headers.Add("Content-Type", "application/json;odata=nometadata"); if (tableEntityProperties != null) { using var content = new Utf8JsonRequestContent(); diff --git a/samples/Azure.Storage.Tables/Azure.Storage.Tables/TableClient.cs b/samples/Azure.Storage.Tables/Azure.Storage.Tables/TableClient.cs index c5d74a8f..ac505d3b 100644 --- a/samples/Azure.Storage.Tables/Azure.Storage.Tables/TableClient.cs +++ b/samples/Azure.Storage.Tables/Azure.Storage.Tables/TableClient.cs @@ -49,7 +49,7 @@ namespace Azure.Storage.Tables var response = await _tableOperations.RestClient.QueryEntitiesAsync(_table, queryOptions: new QueryOptions() { Format = _format, Top = limit, Filter = filter, Select = @select}, cancellationToken: cancellationToken); - return Page.FromValues(response.Value.Value, response.Headers.XMsContinuationNextTableName, response.GetRawResponse()); + return Page.FromValues(response.Value.Value, response.Headers.XMsContinuationNextPartitionKey, response.GetRawResponse()); },(_, __) => throw new NotImplementedException()); } } diff --git a/samples/Azure.Storage.Tables/readme.md b/samples/Azure.Storage.Tables/readme.md index 8c8babdf..13d5aea7 100644 --- a/samples/Azure.Storage.Tables/readme.md +++ b/samples/Azure.Storage.Tables/readme.md @@ -6,9 +6,9 @@ ``` yaml title: Azure.Storage.Tables require: $(this-folder)/../../readme.md -# https://github.com/shurd/azure-rest-api-specs/tree/tablesSwagger/specification/cosmos-db/data-plane/Microsoft.TablesStorage/preview/2018-10-10 +#branch:tablesSwagger input-file: - - $(this-folder)/table.json + - https://github.com/shurd/azure-rest-api-specs/blob/f5cb6fb416ae0a06329599db9dc17c8fdd7f95c7/specification/cosmos-db/data-plane/Microsoft.TablesStorage/preview/2018-10-10/table.json namespace: Azure.Storage.Tables include-csproj: disable -``` \ No newline at end of file +``` diff --git a/samples/Azure.Storage.Tables/sample/Program.cs b/samples/Azure.Storage.Tables/sample/Program.cs index 523c0856..84498ffa 100644 --- a/samples/Azure.Storage.Tables/sample/Program.cs +++ b/samples/Azure.Storage.Tables/sample/Program.cs @@ -1,4 +1,7 @@ -using System; +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; using System.Collections.Generic; using System.Threading.Tasks; using Azure.Storage; @@ -6,9 +9,9 @@ using Azure.Storage.Tables; namespace sample { - class Program + public class Program { - static async Task Main(string[] args) + public static async Task Main(string[] args) { var serviceClient = new TableServiceClient( new Uri("https://pakrym0test0storage.table.core.windows.net"), diff --git a/samples/Azure.Storage.Tables/table.json b/samples/Azure.Storage.Tables/table.json deleted file mode 100644 index ad297fb3..00000000 --- a/samples/Azure.Storage.Tables/table.json +++ /dev/null @@ -1,1577 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Table Storage", - "version": "2018-10-10", - "x-ms-code-generation-settings": { - "header": "MIT", - "strictSpecAdherence": false - } - }, - "x-ms-parameterized-host": { - "hostTemplate": "{url}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "$ref": "#/parameters/Url" - } - ] - }, - "securityDefinitions": { - "table_shared_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - }, - "schemes": [ - "https" - ], - "consumes": [ - "application/json;odata=fullmetadata" - ], - "produces": [ - "application/json;odata=fullmetadata" - ], - "paths": { - "/Tables": { - "get": { - "tags": [ - "table" - ], - "operationId": "Table_Query", - "x-ms-examples": { - "TableGet": { - "$ref": "./examples/TableGet.json" - } - }, - "description": "Queries tables under the given account.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/topParameter" - }, - { - "$ref": "#/parameters/selectParameter" - }, - { - "$ref": "#/parameters/filterParameter" - } - ], - "responses": { - "200": { - "description": "Success, table query completed.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-continuation-NextTableName": { - "type": "string", - "description": "This header contains the continuation token value." - } - }, - "schema": { - "$ref": "#/definitions/TableQueryResponse" - } - } - } - }, - "post": { - "tags": [ - "table" - ], - "operationId": "Table_Create", - "x-ms-examples": { - "TableCreate": { - "$ref": "./examples/TableCreate.json" - } - }, - "description": "Creates a new table under the given account.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/TableProperties" - } - ], - "responses": { - "201": { - "description": "Success, table created.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/TableResponse" - } - }, - "204": { - "description": "Success, table created.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/Tables('{table}')": { - "delete": { - "tags": [ - "table" - ], - "operationId": "Table_Delete", - "x-ms-examples": { - "TableDelete": { - "$ref": "./examples/TableDelete.json" - } - }, - "description": "Operation permanently deletes the specified table", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/tableNameParameter" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/{table}()": { - "get": { - "tags": [ - "table" - ], - "operationId": "Table_QueryEntities", - "x-ms-examples": { - "TableQueryEntities": { - "$ref": "./examples/TableQueryEntities.json" - } - }, - "description": "Queries entities in a table.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/topParameter" - }, - { - "$ref": "#/parameters/selectParameter" - }, - { - "$ref": "#/parameters/filterParameter" - }, - { - "$ref": "#/parameters/tableNameParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-continuation-NextTableName": { - "type": "string", - "description": "This header contains the continuation token value." - } - }, - "schema": { - "$ref": "#/definitions/TableEntityQueryResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/{table}(PartitionKey='{partitionKey}',RowKey='{rowKey}')": { - "get": { - "tags": [ - "table" - ], - "operationId": "Table_QueryEntitiesWithPartitionAndRowKey", - "x-ms-examples": { - "TableQueryEntitiesWithPartitionAndRowKey": { - "$ref": "./examples/TableQueryEntitiesWithPartitionAndRowKey.json" - } - }, - "description": "Queries entities in a table.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/selectParameter" - }, - { - "$ref": "#/parameters/filterParameter" - }, - { - "$ref": "#/parameters/tableNameParameter" - }, - { - "$ref": "#/parameters/partitionKeyParameter" - }, - { - "$ref": "#/parameters/rowKeyParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - }, - "x-ms-continuation-NextTableName": { - "type": "string", - "description": "This header contains the continuation token value." - } - }, - "schema": { - "$ref": "#/definitions/TableEntityQueryResponse" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "table" - ], - "operationId": "Table_UpdateEntity", - "x-ms-examples": { - "TableUpdateEntity": { - "$ref": "./examples/TableUpdateEntity.json" - } - }, - "description": "Update entity in a table.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/TableEntityProperties" - }, - { - "$ref": "#/parameters/tableNameParameter" - }, - { - "$ref": "#/parameters/partitionKeyParameter" - }, - { - "$ref": "#/parameters/rowKeyParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "delete": { - "tags": [ - "table" - ], - "operationId": "Table_DeleteEntity", - "x-ms-examples": { - "TableDeleteEntity": { - "$ref": "./examples/TableDeleteEntity.json" - } - }, - "description": "Deletes the specified entity in a table.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/tableNameParameter" - }, - { - "$ref": "#/parameters/partitionKeyParameter" - }, - { - "$ref": "#/parameters/rowKeyParameter" - } - ], - "responses": { - "204": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/{table}": { - "post": { - "tags": [ - "table" - ], - "operationId": "Table_InsertEntity", - "x-ms-examples": { - "TableInsertEntity": { - "$ref": "./examples/TableInsertEntity.json" - } - }, - "description": "Insert entity in a table.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/DataServiceVersionParameter" - }, - { - "$ref": "#/parameters/formatParameter" - }, - { - "$ref": "#/parameters/TableEntityProperties" - }, - { - "$ref": "#/parameters/tableNameParameter" - } - ], - "responses": { - "201": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/TableEntityProperties" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "table" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "operationId": "Table_GetAccessPolicy", - "description": "Retrieves details about any stored access policies specified on the table that may be used wit Shared Access Signatures.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/tableNameParameter" - }, - { - "$ref": "#/parameters/compAclParameter" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "put": { - "tags": [ - "table" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "operationId": "Table_SetAccessPolicy", - "description": "sets stored access policies for the table that may be used with Shared Access Signatures", - "parameters": [ - { - "$ref": "#/parameters/TableAcl" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - }, - { - "$ref": "#/parameters/tableNameParameter" - }, - { - "$ref": "#/parameters/compAclParameter" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Queue service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - } - }, - "x-ms-paths": { - "/?ServiceProperties": { - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ], - "description": "Required query string to set the storage service properties" - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "properties" - ], - "description": "Required query string to set the storage service properties" - } - ], - "put": { - "tags": [ - "service" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "operationId": "Service_SetProperties", - "description": "Sets properties for a storage account's Table service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules", - "parameters": [ - { - "$ref": "#/parameters/StorageServiceProperties" - }, - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "202": { - "description": "Success (Accepted)", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - }, - "get": { - "tags": [ - "service" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "operationId": "Service_GetProperties", - "description": "gets the properties of a storage account's Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - }, - "/?ServiceStats": { - "parameters": [ - { - "name": "restype", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "service" - ], - "description": "Required query string to get storage service stats" - }, - { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "stats" - ], - "description": "Required query string to get storage service stats" - } - ], - "get": { - "tags": [ - "service" - ], - "consumes": [ - "application/xml" - ], - "produces": [ - "application/xml" - ], - "operationId": "Service_GetStatistics", - "description": "Retrieves statistics related to replication for the Table service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.", - "parameters": [ - { - "$ref": "#/parameters/Timeout" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ClientRequestId" - } - ], - "responses": { - "200": { - "description": "Success.", - "headers": { - "x-ms-client-request-id": { - "x-ms-client-name": "ClientRequestId", - "type": "string", - "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." - }, - "x-ms-request-id": { - "x-ms-client-name": "RequestId", - "type": "string", - "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." - }, - "x-ms-version": { - "x-ms-client-name": "Version", - "type": "string", - "description": "Indicates the version of the Table service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." - }, - "Date": { - "type": "string", - "format": "date-time-rfc1123", - "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" - } - }, - "schema": { - "$ref": "#/definitions/StorageServiceStats" - } - }, - "default": { - "description": "Failure", - "headers": { - "x-ms-error-code": { - "x-ms-client-name": "ErrorCode", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/StorageError" - } - } - } - } - } - }, - "definitions": { - "StorageError": { - "type": "object", - "properties": { - "Message": { - "type": "string" - } - } - }, - "StorageServiceProperties": { - "description": "Storage Service Properties.", - "type": "object", - "properties": { - "Logging": { - "description": "Azure Analytics Logging settings", - "$ref": "#/definitions/Logging" - }, - "HourMetrics": { - "description": "A summary of request statistics grouped by API in hourly aggregates for queues", - "$ref": "#/definitions/Metrics" - }, - "MinuteMetrics": { - "description": "a summary of request statistics grouped by API in minute aggregates for queues", - "$ref": "#/definitions/Metrics" - }, - "Cors": { - "description": "The set of CORS rules.", - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule", - "xml": { - "name": "CorsRule" - } - }, - "xml": { - "wrapped": true - } - } - } - }, - "Logging": { - "description": "Azure Analytics Logging settings.", - "type": "object", - "required": [ - "Version", - "Delete", - "Read", - "Write", - "RetentionPolicy" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Delete": { - "description": "Indicates whether all delete requests should be logged.", - "type": "boolean" - }, - "Read": { - "description": "Indicates whether all read requests should be logged.", - "type": "boolean" - }, - "Write": { - "description": "Indicates whether all write requests should be logged.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "Metrics": { - "description": "", - "required": [ - "Enabled" - ], - "properties": { - "Version": { - "description": "The version of Storage Analytics to configure.", - "type": "string" - }, - "Enabled": { - "description": "Indicates whether metrics are enabled for the Queue service.", - "type": "boolean" - }, - "IncludeAPIs": { - "description": "Indicates whether metrics should generate summary statistics for called API operations.", - "type": "boolean" - }, - "RetentionPolicy": { - "$ref": "#/definitions/RetentionPolicy" - } - } - }, - "CorsRule": { - "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain", - "type": "object", - "required": [ - "AllowedOrigins", - "AllowedMethods", - "AllowedHeaders", - "ExposedHeaders", - "MaxAgeInSeconds" - ], - "properties": { - "AllowedOrigins": { - "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", - "type": "string" - }, - "AllowedMethods": { - "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", - "type": "string" - }, - "AllowedHeaders": { - "description": "the request headers that the origin domain may specify on the CORS request.", - "type": "string" - }, - "ExposedHeaders": { - "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer", - "type": "string" - }, - "MaxAgeInSeconds": { - "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", - "type": "integer", - "minimum": 0 - } - } - }, - "RetentionPolicy": { - "description": "the retention policy", - "type": "object", - "required": [ - "Enabled" - ], - "properties": { - "Enabled": { - "description": "Indicates whether a retention policy is enabled for the storage service", - "type": "boolean" - }, - "Days": { - "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted", - "type": "integer", - "minimum": 1 - } - } - }, - "StorageServiceStats": { - "description": "Stats for the storage service.", - "type": "object", - "properties": { - "GeoReplication": { - "description": "Geo-Replication information for the Secondary Storage Service", - "$ref": "#/definitions/GeoReplication" - } - } - }, - "GeoReplication": { - "type": "object", - "required": [ - "Status", - "LastSyncTime" - ], - "properties": { - "Status": { - "description": "The status of the secondary location", - "type": "string", - "enum": [ - "live", - "bootstrap", - "unavailable" - ], - "x-ms-enum": { - "name": "GeoReplicationStatusType", - "modelAsString": true - } - }, - "LastSyncTime": { - "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.", - "type": "string", - "format": "date-time-rfc1123" - } - } - }, - "TableProperties": { - "description": "The properties for creating a table.", - "type": "object", - "properties": { - "TableName": { - "description": "The name of the table to create.", - "type": "string" - } - } - }, - "TableResponse": { - "description": "The response for a single table.", - "type": "object", - "properties": { - "odata.metadata": { - "description": "The metadata response of the table.", - "type": "string" - } - }, - "allOf": [ - { - "$ref": "#/definitions/TableResponseProperties" - } - ] - }, - "TableQueryResponse": { - "description": "The properties for the table query response.", - "type": "object", - "properties": { - "odata.metadata": { - "description": "The metadata response of the table.", - "type": "string" - }, - "value": { - "description": "List of tables.", - "type": "array", - "items": { - "$ref": "#/definitions/TableResponseProperties" - } - } - } - }, - "TableResponseProperties": { - "description": "The properties for the table response.", - "type": "object", - "properties": { - "TableName": { - "description": "The name of the table.", - "type": "string" - }, - "odata.type": { - "description": "The odata type of the table.", - "type": "string" - }, - "odata.id": { - "description": "The id of the table.", - "type": "string" - }, - "odata.editLink": { - "description": "The edit link of the table.", - "type": "string" - } - } - }, - "SignedIdentifier": { - "description": "signed identifier", - "type": "object", - "required": [ - "Id", - "AccessPolicy" - ], - "properties": { - "Id": { - "type": "string", - "description": "a unique id" - }, - "AccessPolicy": { - "description": "The access policy", - "$ref": "#/definitions/AccessPolicy" - } - } - }, - "SignedIdentifiers": { - "description": "a collection of signed identifiers", - "type": "array", - "items": { - "$ref": "#/definitions/SignedIdentifier", - "xml": { - "name": "SignedIdentifier" - } - }, - "xml": { - "wrapped": true, - "name": "SignedIdentifiers" - } - }, - "AccessPolicy": { - "type": "object", - "required": [ - "Start", - "Expiry", - "Permission" - ], - "description": "An Access policy", - "properties": { - "Start": { - "description": "the date-time the policy is active", - "type": "string", - "format": "date-time" - }, - "Expiry": { - "description": "the date-time the policy expires", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "the permissions for the acl policy", - "type": "string" - } - } - }, - "TableEntityQueryResponse": { - "description": "The properties for the table entity query response.", - "type": "object", - "properties": { - "odata.metadata": { - "description": "The metadata response of the table.", - "type": "string" - }, - "value": { - "description": "List of table entities.", - "type": "array", - "items": { - "$ref": "#/definitions/TableEntityProperties" - } - } - } - }, - "TableEntityProperties": { - "description": "The other properties of the table entity", - "type": "object", - "additionalProperties": true - } - }, - "parameters": { - "Url": { - "name": "url", - "x-ms-parameter-location": "client", - "description": "The URL of the service account or table that is the targe of the desired operation.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - "StorageServiceProperties": { - "name": "storageServiceProperties", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/StorageServiceProperties" - }, - "x-ms-parameter-location": "method", - "description": "The StorageService properties." - }, - "Timeout": { - "name": "timeout", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "x-ms-parameter-location": "method", - "description": "The The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Queue Service Operations." - }, - "ApiVersionParameter": { - "name": "x-ms-version", - "x-ms-parameter-location": "client", - "x-ms-client-name": "version", - "in": "header", - "required": true, - "type": "string", - "description": "Specifies the version of the operation to use for this request.", - "enum": [ - "2018-10-10" - ] - }, - "ClientRequestId": { - "name": "x-ms-client-request-id", - "x-ms-client-name": "requestId", - "in": "header", - "required": false, - "type": "string", - "x-ms-parameter-location": "method", - "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." - }, - "DataServiceVersionParameter": { - "name": "DataServiceVersion", - "in": "header", - "required": true, - "type": "string", - "description": "Specifies the data service version", - "x-ms-parameter-location": "method", - "enum": [ - "3.0" - ] - }, - "TableProperties": { - "name": "tableProperties", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TableProperties" - }, - "x-ms-parameter-location": "method", - "description": "The Table properties." - }, - "formatParameter": { - "name": "$format", - "in": "query", - "required": false, - "type": "string", - "description": "Specifies the media type for the response", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "QueryOptions" - }, - "x-ms-client-name": "Format", - "enum": [ - "application/json;odata=nometadata", - "application/json;odata=minimalmetadata", - "application/json;odata=fullmetadata" - ] - }, - "topParameter": { - "name": "$top", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 0, - "description": "Maximum number of records to return.", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "QueryOptions" - }, - "x-ms-client-name": "Top" - }, - "selectParameter": { - "name": "$select", - "in": "query", - "required": false, - "type": "string", - "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "QueryOptions" - }, - "x-ms-client-name": "Select" - }, - "filterParameter": { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression.", - "x-ms-parameter-location": "method", - "x-ms-parameter-grouping": { - "name": "QueryOptions" - }, - "x-ms-client-name": "Filter" - }, - "compAclParameter": { - "name": "comp", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "acl" - ], - "x-ms-parameter-location": "method", - "description": "Required query string to handle stored access policies for the table that may be used with Shared Access Signatures" - }, - "TableAcl": { - "name": "tableAcl", - "in": "body", - "schema": { - "$ref": "#/definitions/SignedIdentifiers" - }, - "x-ms-parameter-location": "method", - "description": "the acls for the table" - }, - "TableEntityProperties": { - "name": "tableEntityProperties", - "in": "body", - "schema": { - "$ref": "#/definitions/TableEntityProperties" - }, - "x-ms-parameter-location": "method", - "description": "The properties for the table entity" - }, - "tableNameParameter": { - "name": "table", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The name of the table" - }, - "partitionKeyParameter": { - "name": "partitionKey", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The partition key of the entity" - }, - "rowKeyParameter": { - "name": "rowKey", - "in": "path", - "required": true, - "type": "string", - "x-ms-parameter-location": "method", - "description": "The row key of the entity" - } - } -} diff --git a/samples/CognitiveSearch/CognitiveSearch/CodeModel.yaml b/samples/CognitiveSearch/CognitiveSearch/CodeModel.yaml index e14b4aa7..b58b5c32 100644 --- a/samples/CognitiveSearch/CognitiveSearch/CodeModel.yaml +++ b/samples/CognitiveSearch/CognitiveSearch/CodeModel.yaml @@ -366,7 +366,7 @@ schemas: ! pre-defined types will not be surfaced. protocol: ! {} numbers: - - ! &ref_535 + - ! &ref_542 type: integer apiVersions: - ! @@ -609,7 +609,7 @@ schemas: ! name: Integer description: The duration for which browsers should cache CORS preflight responses. Defaults to 5 minutes. protocol: ! {} - - ! &ref_445 + - ! &ref_452 type: integer precision: 64 language: ! @@ -617,7 +617,7 @@ schemas: ! name: Integer description: The number of documents in the index. protocol: ! {} - - ! &ref_446 + - ! &ref_453 type: integer precision: 64 language: ! @@ -625,7 +625,7 @@ schemas: ! name: Integer description: The amount of storage in bytes consumed by the index. protocol: ! {} - - ! &ref_449 + - ! &ref_456 type: integer precision: 32 language: ! @@ -633,7 +633,7 @@ schemas: ! name: Integer description: The index of the first character of the token in the input text. protocol: ! {} - - ! &ref_450 + - ! &ref_457 type: integer precision: 32 language: ! @@ -641,7 +641,7 @@ schemas: ! name: Integer description: The index of the last character of the token in the input text. protocol: ! {} - - ! &ref_451 + - ! &ref_458 type: integer precision: 32 language: ! @@ -651,7 +651,7 @@ schemas: ! The position of the token in the input text relative to other tokens. The first token in the input text has position 0, the next has position 1, and so on. Depending on the analyzer used, some tokens might have the same position, for example if they are synonyms of each other. protocol: ! {} - - ! &ref_453 + - ! &ref_460 type: integer precision: 64 language: ! @@ -659,7 +659,7 @@ schemas: ! name: Integer description: The resource usage amount. protocol: ! {} - - ! &ref_454 + - ! &ref_461 type: integer precision: 64 language: ! @@ -667,7 +667,7 @@ schemas: ! name: Integer description: The resource amount quota. protocol: ! {} - - ! &ref_456 + - ! &ref_463 type: integer precision: 32 language: ! @@ -675,7 +675,7 @@ schemas: ! name: Integer description: The maximum allowed fields per index. protocol: ! {} - - ! &ref_457 + - ! &ref_464 type: integer precision: 32 language: ! @@ -683,7 +683,7 @@ schemas: ! name: Integer description: 'The maximum depth which you can nest sub-fields in an index, including the top-level complex field. For example, a/b/c has a nesting depth of 3.' protocol: ! {} - - ! &ref_458 + - ! &ref_465 type: integer precision: 32 language: ! @@ -691,7 +691,7 @@ schemas: ! name: Integer description: The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index. protocol: ! {} - - ! &ref_459 + - ! &ref_466 type: integer precision: 32 language: ! @@ -904,6 +904,26 @@ schemas: ! name: Integer description: The length at which terms will be truncated. Default and maximum is 300. protocol: ! {} + - ! &ref_440 + type: number + precision: 64 + language: ! + default: + name: Number + description: >- + This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not + scale with an increase in term frequency. + protocol: ! {} + - ! &ref_441 + type: number + precision: 64 + language: ! + default: + name: Number + description: >- + This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully + normalized by the length of the document. + protocol: ! {} - ! &ref_273 type: number precision: 64 @@ -1226,7 +1246,7 @@ schemas: ! Continuation URL returned when Azure Cognitive Search can't return all the requested results in a single Search response. You can use this URL to formulate another GET or POST Search request to get the next part of the search response. Make sure to use the same verb (GET or POST) as the request that produced this response. protocol: ! {} - - ! &ref_472 + - ! &ref_479 type: string apiVersions: - ! @@ -2138,7 +2158,17 @@ schemas: ! name: CharFilterName description: 'The name of the char filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters.' protocol: ! {} - - ! &ref_439 + - ! &ref_444 + type: string + apiVersions: + - ! + version: 2019-05-06-Preview + language: ! + default: + name: SimilarityOdataType + description: '' + protocol: ! {} + - ! &ref_446 type: string apiVersions: - ! @@ -2148,7 +2178,7 @@ schemas: ! name: ETag description: The ETag of the index. protocol: ! {} - - ! &ref_447 + - ! &ref_454 type: string apiVersions: - ! @@ -2158,7 +2188,7 @@ schemas: ! name: AnalyzeRequestText description: The text to break into tokens. protocol: ! {} - - ! &ref_448 + - ! &ref_455 type: string apiVersions: - ! @@ -6419,7 +6449,7 @@ schemas: ! description: A value indicating which split mode to perform. protocol: ! {} constants: - - ! &ref_529 + - ! &ref_536 type: constant value: ! value: 2019-05-06-Preview @@ -6429,7 +6459,7 @@ schemas: ! name: ApiVersion20190506Preview description: Api Version (2019-05-06-Preview) protocol: ! {} - - ! &ref_557 + - ! &ref_564 type: constant value: ! value: application/json @@ -6439,7 +6469,7 @@ schemas: ! name: ApplicationJson description: Content Type 'application/json' protocol: ! {} - - ! &ref_608 + - ! &ref_615 type: constant value: ! value: return=representation @@ -6492,7 +6522,7 @@ schemas: ! protocol: ! {} - ! &ref_54 type: dictionary - elementType: ! &ref_467 + elementType: ! &ref_474 type: array apiVersions: - ! @@ -6547,7 +6577,7 @@ schemas: ! protocol: ! {} - ! &ref_72 type: dictionary - elementType: ! &ref_470 + elementType: ! &ref_477 type: array apiVersions: - ! @@ -6704,9 +6734,9 @@ schemas: ! description: '' protocol: ! {} originalParameter: - - ! &ref_532 + - ! &ref_539 schema: *ref_7 - groupedBy: ! &ref_534 + groupedBy: ! &ref_541 schema: *ref_8 implementation: Method language: ! @@ -6725,9 +6755,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_552 + - ! &ref_559 schema: *ref_7 - groupedBy: ! &ref_553 + groupedBy: ! &ref_560 schema: *ref_8 implementation: Method language: ! @@ -6746,9 +6776,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_556 + - ! &ref_563 schema: *ref_7 - groupedBy: ! &ref_558 + groupedBy: ! &ref_565 schema: *ref_8 implementation: Method language: ! @@ -6767,9 +6797,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_561 + - ! &ref_568 schema: *ref_7 - groupedBy: ! &ref_562 + groupedBy: ! &ref_569 schema: *ref_8 implementation: Method language: ! @@ -6788,9 +6818,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_574 + - ! &ref_581 schema: *ref_7 - groupedBy: ! &ref_575 + groupedBy: ! &ref_582 schema: *ref_8 implementation: Method language: ! @@ -6809,9 +6839,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_579 + - ! &ref_586 schema: *ref_7 - groupedBy: ! &ref_581 + groupedBy: ! &ref_588 schema: *ref_8 implementation: Method language: ! @@ -6830,9 +6860,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_583 + - ! &ref_590 schema: *ref_7 - groupedBy: ! &ref_585 + groupedBy: ! &ref_592 schema: *ref_8 implementation: Method language: ! @@ -6851,9 +6881,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_588 + - ! &ref_595 schema: *ref_7 - groupedBy: ! &ref_597 + groupedBy: ! &ref_604 schema: *ref_8 implementation: Method language: ! @@ -6872,30 +6902,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_601 + - ! &ref_608 schema: *ref_7 - groupedBy: ! &ref_603 - schema: *ref_8 - implementation: Method - language: ! - default: - name: requestOptions - description: Parameter group - protocol: ! {} - implementation: Method - extensions: - x-ms-client-request-id: true - language: ! - default: - name: xMsClientRequestId - description: The tracking ID sent with the request to help with debugging. - serializedName: x-ms-client-request-id - protocol: ! - http: ! - in: header - - ! &ref_605 - schema: *ref_7 - groupedBy: ! &ref_609 + groupedBy: ! &ref_610 schema: *ref_8 implementation: Method language: ! @@ -6916,7 +6925,7 @@ schemas: ! in: header - ! &ref_612 schema: *ref_7 - groupedBy: ! &ref_615 + groupedBy: ! &ref_616 schema: *ref_8 implementation: Method language: ! @@ -6935,30 +6944,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_617 + - ! &ref_619 schema: *ref_7 - groupedBy: ! &ref_618 - schema: *ref_8 - implementation: Method - language: ! - default: - name: requestOptions - description: Parameter group - protocol: ! {} - implementation: Method - extensions: - x-ms-client-request-id: true - language: ! - default: - name: xMsClientRequestId - description: The tracking ID sent with the request to help with debugging. - serializedName: x-ms-client-request-id - protocol: ! - http: ! - in: header - - ! &ref_620 - schema: *ref_7 - groupedBy: ! &ref_621 + groupedBy: ! &ref_622 schema: *ref_8 implementation: Method language: ! @@ -7019,9 +7007,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_630 + - ! &ref_631 schema: *ref_7 - groupedBy: ! &ref_631 + groupedBy: ! &ref_632 schema: *ref_8 implementation: Method language: ! @@ -7040,9 +7028,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_633 + - ! &ref_634 schema: *ref_7 - groupedBy: ! &ref_636 + groupedBy: ! &ref_635 schema: *ref_8 implementation: Method language: ! @@ -7061,9 +7049,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_639 + - ! &ref_637 schema: *ref_7 - groupedBy: ! &ref_642 + groupedBy: ! &ref_638 schema: *ref_8 implementation: Method language: ! @@ -7082,9 +7070,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_644 + - ! &ref_640 schema: *ref_7 - groupedBy: ! &ref_645 + groupedBy: ! &ref_643 schema: *ref_8 implementation: Method language: ! @@ -7103,9 +7091,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_647 + - ! &ref_646 schema: *ref_7 - groupedBy: ! &ref_648 + groupedBy: ! &ref_649 schema: *ref_8 implementation: Method language: ! @@ -7168,7 +7156,7 @@ schemas: ! in: header - ! &ref_658 schema: *ref_7 - groupedBy: ! &ref_661 + groupedBy: ! &ref_659 schema: *ref_8 implementation: Method language: ! @@ -7187,9 +7175,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_664 + - ! &ref_661 schema: *ref_7 - groupedBy: ! &ref_667 + groupedBy: ! &ref_662 schema: *ref_8 implementation: Method language: ! @@ -7208,9 +7196,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_669 + - ! &ref_665 schema: *ref_7 - groupedBy: ! &ref_670 + groupedBy: ! &ref_668 schema: *ref_8 implementation: Method language: ! @@ -7229,9 +7217,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_672 + - ! &ref_671 schema: *ref_7 - groupedBy: ! &ref_673 + groupedBy: ! &ref_674 schema: *ref_8 implementation: Method language: ! @@ -7273,7 +7261,7 @@ schemas: ! in: header - ! &ref_679 schema: *ref_7 - groupedBy: ! &ref_682 + groupedBy: ! &ref_680 schema: *ref_8 implementation: Method language: ! @@ -7292,9 +7280,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_685 + - ! &ref_683 schema: *ref_7 - groupedBy: ! &ref_688 + groupedBy: ! &ref_684 schema: *ref_8 implementation: Method language: ! @@ -7313,9 +7301,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_690 + - ! &ref_686 schema: *ref_7 - groupedBy: ! &ref_691 + groupedBy: ! &ref_689 schema: *ref_8 implementation: Method language: ! @@ -7334,9 +7322,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_693 + - ! &ref_692 schema: *ref_7 - groupedBy: ! &ref_694 + groupedBy: ! &ref_695 schema: *ref_8 implementation: Method language: ! @@ -7397,9 +7385,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_703 + - ! &ref_704 schema: *ref_7 - groupedBy: ! &ref_704 + groupedBy: ! &ref_705 schema: *ref_8 implementation: Method language: ! @@ -7420,7 +7408,28 @@ schemas: ! in: header - ! &ref_707 schema: *ref_7 - groupedBy: ! &ref_710 + groupedBy: ! &ref_708 + schema: *ref_8 + implementation: Method + language: ! + default: + name: requestOptions + description: Parameter group + protocol: ! {} + implementation: Method + extensions: + x-ms-client-request-id: true + language: ! + default: + name: xMsClientRequestId + description: The tracking ID sent with the request to help with debugging. + serializedName: x-ms-client-request-id + protocol: ! + http: ! + in: header + - ! &ref_710 + schema: *ref_7 + groupedBy: ! &ref_711 schema: *ref_8 implementation: Method language: ! @@ -7460,30 +7469,9 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_719 + - ! &ref_721 schema: *ref_7 - groupedBy: ! &ref_720 - schema: *ref_8 - implementation: Method - language: ! - default: - name: requestOptions - description: Parameter group - protocol: ! {} - implementation: Method - extensions: - x-ms-client-request-id: true - language: ! - default: - name: xMsClientRequestId - description: The tracking ID sent with the request to help with debugging. - serializedName: x-ms-client-request-id - protocol: ! - http: ! - in: header - - ! &ref_722 - schema: *ref_7 - groupedBy: ! &ref_723 + groupedBy: ! &ref_724 schema: *ref_8 implementation: Method language: ! @@ -7504,7 +7492,7 @@ schemas: ! in: header - ! &ref_726 schema: *ref_7 - groupedBy: ! &ref_728 + groupedBy: ! &ref_727 schema: *ref_8 implementation: Method language: ! @@ -7523,9 +7511,51 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_732 + - ! &ref_729 schema: *ref_7 - groupedBy: ! &ref_733 + groupedBy: ! &ref_730 + schema: *ref_8 + implementation: Method + language: ! + default: + name: requestOptions + description: Parameter group + protocol: ! {} + implementation: Method + extensions: + x-ms-client-request-id: true + language: ! + default: + name: xMsClientRequestId + description: The tracking ID sent with the request to help with debugging. + serializedName: x-ms-client-request-id + protocol: ! + http: ! + in: header + - ! &ref_733 + schema: *ref_7 + groupedBy: ! &ref_735 + schema: *ref_8 + implementation: Method + language: ! + default: + name: requestOptions + description: Parameter group + protocol: ! {} + implementation: Method + extensions: + x-ms-client-request-id: true + language: ! + default: + name: xMsClientRequestId + description: The tracking ID sent with the request to help with debugging. + serializedName: x-ms-client-request-id + protocol: ! + http: ! + in: header + - ! &ref_739 + schema: *ref_7 + groupedBy: ! &ref_740 schema: *ref_8 implementation: Method language: ! @@ -7563,7 +7593,7 @@ schemas: ! - ! schema: *ref_9 originalParameter: - - ! &ref_536 + - ! &ref_543 schema: *ref_9 groupedBy: ! &ref_13 schema: *ref_10 @@ -7601,7 +7631,7 @@ schemas: ! description: Array of Get2ItemsItem protocol: ! {} originalParameter: - - ! &ref_537 + - ! &ref_544 schema: *ref_12 groupedBy: *ref_13 implementation: Method @@ -7623,7 +7653,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_538 + - ! &ref_545 schema: *ref_6 groupedBy: *ref_13 implementation: Method @@ -7654,7 +7684,7 @@ schemas: ! description: Array of Get4ItemsItem protocol: ! {} originalParameter: - - ! &ref_539 + - ! &ref_546 schema: *ref_15 groupedBy: *ref_13 implementation: Method @@ -7675,7 +7705,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_540 + - ! &ref_547 schema: *ref_6 groupedBy: *ref_13 implementation: Method @@ -7696,7 +7726,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_541 + - ! &ref_548 schema: *ref_6 groupedBy: *ref_13 implementation: Method @@ -7717,7 +7747,7 @@ schemas: ! - ! schema: *ref_5 originalParameter: - - ! &ref_542 + - ! &ref_549 schema: *ref_5 groupedBy: *ref_13 implementation: Method @@ -7752,7 +7782,7 @@ schemas: ! description: Array of Get8ItemsItem protocol: ! {} originalParameter: - - ! &ref_543 + - ! &ref_550 schema: *ref_17 groupedBy: *ref_13 implementation: Method @@ -7779,7 +7809,7 @@ schemas: ! - ! schema: *ref_18 originalParameter: - - ! &ref_544 + - ! &ref_551 schema: *ref_18 groupedBy: *ref_13 implementation: Method @@ -7810,7 +7840,7 @@ schemas: ! description: Array of Get10ItemsItem protocol: ! {} originalParameter: - - ! &ref_545 + - ! &ref_552 schema: *ref_20 groupedBy: *ref_13 implementation: Method @@ -7836,7 +7866,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_546 + - ! &ref_553 schema: *ref_6 groupedBy: *ref_13 implementation: Method @@ -7867,7 +7897,7 @@ schemas: ! description: Array of Get12ItemsItem protocol: ! {} originalParameter: - - ! &ref_547 + - ! &ref_554 schema: *ref_22 groupedBy: *ref_13 implementation: Method @@ -7892,7 +7922,7 @@ schemas: ! - ! schema: *ref_23 originalParameter: - - ! &ref_548 + - ! &ref_555 schema: *ref_23 groupedBy: *ref_13 implementation: Method @@ -7923,7 +7953,7 @@ schemas: ! description: Array of Get14ItemsItem protocol: ! {} originalParameter: - - ! &ref_549 + - ! &ref_556 schema: *ref_25 groupedBy: *ref_13 implementation: Method @@ -7944,7 +7974,7 @@ schemas: ! - ! schema: *ref_26 originalParameter: - - ! &ref_550 + - ! &ref_557 schema: *ref_26 groupedBy: *ref_13 implementation: Method @@ -7969,7 +7999,7 @@ schemas: ! - ! schema: *ref_26 originalParameter: - - ! &ref_551 + - ! &ref_558 schema: *ref_26 groupedBy: *ref_13 implementation: Method @@ -8004,7 +8034,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_565 + - ! &ref_572 schema: *ref_6 groupedBy: ! &ref_28 schema: *ref_27 @@ -8032,7 +8062,7 @@ schemas: ! - ! schema: *ref_9 originalParameter: - - ! &ref_566 + - ! &ref_573 schema: *ref_9 groupedBy: *ref_28 implementation: Method @@ -8057,7 +8087,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_567 + - ! &ref_574 schema: *ref_6 groupedBy: *ref_28 implementation: Method @@ -8078,7 +8108,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_568 + - ! &ref_575 schema: *ref_6 groupedBy: *ref_28 implementation: Method @@ -8099,7 +8129,7 @@ schemas: ! - ! schema: *ref_5 originalParameter: - - ! &ref_569 + - ! &ref_576 schema: *ref_5 groupedBy: *ref_28 implementation: Method @@ -8134,7 +8164,7 @@ schemas: ! description: Array of Get7ItemsItem protocol: ! {} originalParameter: - - ! &ref_570 + - ! &ref_577 schema: *ref_30 groupedBy: *ref_28 implementation: Method @@ -8171,7 +8201,7 @@ schemas: ! description: Array of String protocol: ! {} originalParameter: - - ! &ref_571 + - ! &ref_578 schema: *ref_31 groupedBy: *ref_28 implementation: Method @@ -8202,7 +8232,7 @@ schemas: ! description: Array of Get9ItemsItem protocol: ! {} originalParameter: - - ! &ref_572 + - ! &ref_579 schema: *ref_33 groupedBy: *ref_28 implementation: Method @@ -8223,7 +8253,7 @@ schemas: ! - ! schema: *ref_26 originalParameter: - - ! &ref_573 + - ! &ref_580 schema: *ref_26 groupedBy: *ref_28 implementation: Method @@ -8254,7 +8284,7 @@ schemas: ! - ! schema: *ref_34 originalParameter: - - ! &ref_589 + - ! &ref_596 schema: *ref_34 groupedBy: ! &ref_36 schema: *ref_35 @@ -8282,7 +8312,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_590 + - ! &ref_597 schema: *ref_6 groupedBy: *ref_36 implementation: Method @@ -8303,7 +8333,7 @@ schemas: ! - ! schema: *ref_9 originalParameter: - - ! &ref_591 + - ! &ref_598 schema: *ref_9 groupedBy: *ref_36 implementation: Method @@ -8328,7 +8358,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_592 + - ! &ref_599 schema: *ref_6 groupedBy: *ref_36 implementation: Method @@ -8349,7 +8379,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_593 + - ! &ref_600 schema: *ref_6 groupedBy: *ref_36 implementation: Method @@ -8370,7 +8400,7 @@ schemas: ! - ! schema: *ref_5 originalParameter: - - ! &ref_594 + - ! &ref_601 schema: *ref_5 groupedBy: *ref_36 implementation: Method @@ -8405,7 +8435,7 @@ schemas: ! description: Array of String protocol: ! {} originalParameter: - - ! &ref_595 + - ! &ref_602 schema: *ref_37 groupedBy: *ref_36 implementation: Method @@ -8426,7 +8456,7 @@ schemas: ! - ! schema: *ref_26 originalParameter: - - ! &ref_596 + - ! &ref_603 schema: *ref_26 groupedBy: *ref_36 implementation: Method @@ -8457,7 +8487,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_606 + - ! &ref_613 schema: *ref_6 groupedBy: ! &ref_39 schema: *ref_38 @@ -8476,7 +8506,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_613 + - ! &ref_620 schema: *ref_6 groupedBy: ! &ref_40 schema: *ref_38 @@ -8495,7 +8525,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_634 + - ! &ref_641 schema: *ref_6 groupedBy: ! &ref_41 schema: *ref_38 @@ -8514,7 +8544,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_640 + - ! &ref_647 schema: *ref_6 groupedBy: ! &ref_42 schema: *ref_38 @@ -8533,7 +8563,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_659 + - ! &ref_666 schema: *ref_6 groupedBy: ! &ref_43 schema: *ref_38 @@ -8552,7 +8582,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_665 + - ! &ref_672 schema: *ref_6 groupedBy: ! &ref_44 schema: *ref_38 @@ -8571,7 +8601,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_680 + - ! &ref_687 schema: *ref_6 groupedBy: ! &ref_45 schema: *ref_38 @@ -8590,7 +8620,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_686 + - ! &ref_693 schema: *ref_6 groupedBy: ! &ref_46 schema: *ref_38 @@ -8609,7 +8639,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_708 + - ! &ref_715 schema: *ref_6 groupedBy: ! &ref_47 schema: *ref_38 @@ -8628,7 +8658,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_715 + - ! &ref_722 schema: *ref_6 groupedBy: ! &ref_48 schema: *ref_38 @@ -8656,7 +8686,7 @@ schemas: ! - ! schema: *ref_6 originalParameter: - - ! &ref_607 + - ! &ref_614 schema: *ref_6 groupedBy: *ref_39 implementation: Method @@ -8668,7 +8698,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_614 + - ! &ref_621 schema: *ref_6 groupedBy: *ref_40 implementation: Method @@ -8680,7 +8710,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_635 + - ! &ref_642 schema: *ref_6 groupedBy: *ref_41 implementation: Method @@ -8692,7 +8722,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_641 + - ! &ref_648 schema: *ref_6 groupedBy: *ref_42 implementation: Method @@ -8704,7 +8734,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_660 + - ! &ref_667 schema: *ref_6 groupedBy: *ref_43 implementation: Method @@ -8716,7 +8746,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_666 + - ! &ref_673 schema: *ref_6 groupedBy: *ref_44 implementation: Method @@ -8728,7 +8758,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_681 + - ! &ref_688 schema: *ref_6 groupedBy: *ref_45 implementation: Method @@ -8740,7 +8770,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_687 + - ! &ref_694 schema: *ref_6 groupedBy: *ref_46 implementation: Method @@ -8752,7 +8782,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_709 + - ! &ref_716 schema: *ref_6 groupedBy: *ref_47 implementation: Method @@ -8764,7 +8794,7 @@ schemas: ! protocol: ! http: ! in: header - - ! &ref_716 + - ! &ref_723 schema: *ref_6 groupedBy: *ref_48 implementation: Method @@ -8819,7 +8849,7 @@ schemas: ! description: A human-readable representation of the error. protocol: ! {} - ! - schema: ! &ref_466 + schema: ! &ref_473 type: array apiVersions: - ! @@ -8848,7 +8878,7 @@ schemas: ! description: Describes an error condition for the Azure Cognitive Search API. namespace: '' protocol: ! {} - - ! &ref_555 + - ! &ref_562 type: object apiVersions: - ! @@ -8902,7 +8932,7 @@ schemas: ! description: A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation. protocol: ! {} - ! - schema: ! &ref_468 + schema: ! &ref_475 type: array apiVersions: - ! @@ -8981,7 +9011,7 @@ schemas: ! description: A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax. protocol: ! {} - ! - schema: ! &ref_469 + schema: ! &ref_476 type: array apiVersions: - ! @@ -9086,7 +9116,7 @@ schemas: ! the next part of the search response. protocol: ! {} - ! - schema: ! &ref_471 + schema: ! &ref_478 type: array apiVersions: - ! @@ -9171,14 +9201,14 @@ schemas: ! - *ref_74 - *ref_75 - *ref_76 - - ! &ref_578 + - ! &ref_585 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_473 + schema: ! &ref_480 type: array apiVersions: - ! @@ -9248,7 +9278,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_80 - - ! &ref_580 + - ! &ref_587 type: object apiVersions: - ! @@ -9370,14 +9400,14 @@ schemas: ! description: 'Parameters for filtering, sorting, fuzzy matching, and other suggestions query behaviors.' namespace: '' protocol: ! {} - - ! &ref_584 + - ! &ref_591 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_474 + schema: ! &ref_481 type: array apiVersions: - ! @@ -9434,14 +9464,14 @@ schemas: ! namespace: '' protocol: ! {} - *ref_93 - - ! &ref_587 + - ! &ref_594 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_475 + schema: ! &ref_482 type: array apiVersions: - ! @@ -9530,7 +9560,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_98 - - ! &ref_600 + - ! &ref_607 type: object apiVersions: - ! @@ -9547,7 +9577,7 @@ schemas: ! description: 'A value indicating the percentage of the index that was considered by the autocomplete request, or null if minimumCoverage was not specified in the request.' protocol: ! {} - ! - schema: ! &ref_476 + schema: ! &ref_483 type: array apiVersions: - ! @@ -9612,7 +9642,7 @@ schemas: ! namespace: '' protocol: ! {} - *ref_102 - - ! &ref_602 + - ! &ref_609 type: object apiVersions: - ! @@ -10074,7 +10104,7 @@ schemas: ! description: A human-readable representation of the error. protocol: ! {} - ! - schema: ! &ref_477 + schema: ! &ref_484 type: array apiVersions: - ! @@ -10103,14 +10133,14 @@ schemas: ! description: Describes an error condition for the Azure Cognitive Search API. namespace: '' protocol: ! {} - - ! &ref_623 + - ! &ref_630 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_478 + schema: ! &ref_485 type: array apiVersions: - ! @@ -10291,7 +10321,7 @@ schemas: ! description: Parameters for indexer execution. protocol: ! {} - ! - schema: ! &ref_479 + schema: ! &ref_486 type: array apiVersions: - ! @@ -10387,7 +10417,7 @@ schemas: ! description: Defines mappings between fields in the data source and corresponding target fields in the index. protocol: ! {} - ! - schema: ! &ref_480 + schema: ! &ref_487 type: array apiVersions: - ! @@ -10438,14 +10468,14 @@ schemas: ! - *ref_154 - *ref_150 - *ref_155 - - ! &ref_650 + - ! &ref_657 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_481 + schema: ! &ref_488 type: array apiVersions: - ! @@ -10474,7 +10504,7 @@ schemas: ! description: 'Response from a List Indexers request. If successful, it includes the full definitions of all indexers.' namespace: '' protocol: ! {} - - ! &ref_657 + - ! &ref_664 type: object apiVersions: - ! @@ -10538,7 +10568,7 @@ schemas: ! description: 'The end time of this indexer execution, if the execution has already completed.' protocol: ! {} - ! - schema: ! &ref_482 + schema: ! &ref_489 type: array apiVersions: - ! @@ -10636,7 +10666,7 @@ schemas: ! description: The item-level indexing errors. protocol: ! {} - ! - schema: ! &ref_483 + schema: ! &ref_490 type: array apiVersions: - ! @@ -10781,7 +10811,7 @@ schemas: ! description: The result of the most recent or an in-progress indexer execution. protocol: ! {} - ! - schema: ! &ref_484 + schema: ! &ref_491 type: array apiVersions: - ! @@ -10891,7 +10921,7 @@ schemas: ! description: The description of the skillset. protocol: ! {} - ! - schema: ! &ref_488 + schema: ! &ref_495 type: array apiVersions: - ! @@ -11039,7 +11069,7 @@ schemas: ! description: A value indicating which language code to use. Default is en. protocol: ! {} - ! - schema: ! &ref_526 + schema: ! &ref_533 type: array apiVersions: - ! @@ -11057,7 +11087,7 @@ schemas: ! description: A list of visual features. protocol: ! {} - ! - schema: ! &ref_527 + schema: ! &ref_534 type: array apiVersions: - ! @@ -11189,7 +11219,7 @@ schemas: ! - *ref_186 properties: - ! - schema: ! &ref_528 + schema: ! &ref_535 type: array apiVersions: - ! @@ -11545,7 +11575,7 @@ schemas: ! description: 'Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document.' protocol: ! {} - ! - schema: ! &ref_486 + schema: ! &ref_493 type: array apiVersions: - ! @@ -11584,7 +11614,7 @@ schemas: ! description: The source context used for selecting recursive inputs. protocol: ! {} - ! - schema: ! &ref_485 + schema: ! &ref_492 type: array apiVersions: - ! @@ -11626,7 +11656,7 @@ schemas: ! description: 'Inputs of the skills could be a column in the source data set, or the output of an upstream skill.' protocol: ! {} - ! - schema: ! &ref_487 + schema: ! &ref_494 type: array apiVersions: - ! @@ -11840,14 +11870,14 @@ schemas: ! - *ref_232 - *ref_243 - *ref_235 - - ! &ref_675 + - ! &ref_682 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_489 + schema: ! &ref_496 type: array apiVersions: - ! @@ -12031,14 +12061,14 @@ schemas: ! protocol: ! {} - *ref_254 - *ref_255 - - ! &ref_696 + - ! &ref_703 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_490 + schema: ! &ref_497 type: array apiVersions: - ! @@ -12067,7 +12097,7 @@ schemas: ! description: 'Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps.' namespace: '' protocol: ! {} - - ! &ref_444 + - ! &ref_451 type: object apiVersions: - ! @@ -12083,7 +12113,7 @@ schemas: ! description: The name of the index. protocol: ! {} - ! - schema: ! &ref_493 + schema: ! &ref_500 type: array apiVersions: - ! @@ -12220,7 +12250,7 @@ schemas: ! fields. protocol: ! {} - ! - schema: ! &ref_491 + schema: ! &ref_498 type: array apiVersions: - ! @@ -12243,7 +12273,7 @@ schemas: ! query terms targeting that field are expanded at query-time using the rules in the synonym map. This attribute can be changed on existing fields. Must be null or an empty collection for complex fields. protocol: ! {} - ! - schema: ! &ref_492 + schema: ! &ref_499 type: array apiVersions: - ! @@ -12285,12 +12315,12 @@ schemas: ! description: The fields of the index. protocol: ! {} - ! - schema: ! &ref_495 + schema: ! &ref_502 type: array apiVersions: - ! version: 2019-05-06-Preview - elementType: ! &ref_440 + elementType: ! &ref_447 type: object apiVersions: - ! @@ -12306,7 +12336,7 @@ schemas: ! description: The name of the scoring profile. protocol: ! {} - ! - schema: ! &ref_441 + schema: ! &ref_448 type: object apiVersions: - ! @@ -12340,7 +12370,7 @@ schemas: ! description: Parameters that boost scoring based on text matches in certain index fields. protocol: ! {} - ! - schema: ! &ref_494 + schema: ! &ref_501 type: array apiVersions: - ! @@ -12365,7 +12395,7 @@ schemas: ! - *ref_271 properties: - ! - schema: ! &ref_462 + schema: ! &ref_469 type: object apiVersions: - ! @@ -12433,7 +12463,7 @@ schemas: ! - *ref_271 properties: - ! - schema: ! &ref_463 + schema: ! &ref_470 type: object apiVersions: - ! @@ -12492,7 +12522,7 @@ schemas: ! - *ref_271 properties: - ! - schema: ! &ref_464 + schema: ! &ref_471 type: object apiVersions: - ! @@ -12569,7 +12599,7 @@ schemas: ! - *ref_271 properties: - ! - schema: ! &ref_465 + schema: ! &ref_472 type: object apiVersions: - ! @@ -12735,14 +12765,14 @@ schemas: ! description: 'The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used.' protocol: ! {} - ! - schema: ! &ref_442 + schema: ! &ref_449 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_496 + schema: ! &ref_503 type: array apiVersions: - ! @@ -12792,12 +12822,12 @@ schemas: ! description: Options to control Cross-Origin Resource Sharing (CORS) for the index. protocol: ! {} - ! - schema: ! &ref_498 + schema: ! &ref_505 type: array apiVersions: - ! version: 2019-05-06-Preview - elementType: ! &ref_443 + elementType: ! &ref_450 type: object apiVersions: - ! @@ -12822,7 +12852,7 @@ schemas: ! description: A value indicating the capabilities of the suggester. protocol: ! {} - ! - schema: ! &ref_497 + schema: ! &ref_504 type: array apiVersions: - ! @@ -12864,7 +12894,7 @@ schemas: ! description: The suggesters for the index. protocol: ! {} - ! - schema: ! &ref_499 + schema: ! &ref_506 type: array apiVersions: - ! @@ -12898,7 +12928,7 @@ schemas: ! description: 'The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as breaking a sentence into words.' protocol: ! {} - ! - schema: ! &ref_507 + schema: ! &ref_514 type: array apiVersions: - ! @@ -12921,7 +12951,7 @@ schemas: ! which they are listed. protocol: ! {} - ! - schema: ! &ref_508 + schema: ! &ref_515 type: array apiVersions: - ! @@ -12991,7 +13021,7 @@ schemas: ! description: Regular expression flags. protocol: ! {} - ! - schema: ! &ref_509 + schema: ! &ref_516 type: array apiVersions: - ! @@ -13042,7 +13072,7 @@ schemas: ! description: The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters. protocol: ! {} - ! - schema: ! &ref_510 + schema: ! &ref_517 type: array apiVersions: - ! @@ -13085,7 +13115,7 @@ schemas: ! - *ref_294 properties: - ! - schema: ! &ref_511 + schema: ! &ref_518 type: array apiVersions: - ! @@ -13176,7 +13206,7 @@ schemas: ! description: The analyzers for the index. protocol: ! {} - ! - schema: ! &ref_500 + schema: ! &ref_507 type: array apiVersions: - ! @@ -13250,7 +13280,7 @@ schemas: ! description: The maximum n-gram length. Default is 2. Maximum is 300. protocol: ! {} - ! - schema: ! &ref_512 + schema: ! &ref_519 type: array apiVersions: - ! @@ -13478,7 +13508,7 @@ schemas: ! description: The maximum n-gram length. Default is 2. Maximum is 300. protocol: ! {} - ! - schema: ! &ref_513 + schema: ! &ref_520 type: array apiVersions: - ! @@ -13809,7 +13839,7 @@ schemas: ! description: The tokenizers for the index. protocol: ! {} - ! - schema: ! &ref_501 + schema: ! &ref_508 type: array apiVersions: - ! @@ -13869,7 +13899,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_514 + schema: ! &ref_521 type: array apiVersions: - ! @@ -13920,7 +13950,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_515 + schema: ! &ref_522 type: array apiVersions: - ! @@ -13982,7 +14012,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_516 + schema: ! &ref_523 type: array apiVersions: - ! @@ -14161,7 +14191,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_517 + schema: ! &ref_524 type: array apiVersions: - ! @@ -14204,7 +14234,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_518 + schema: ! &ref_525 type: array apiVersions: - ! @@ -14257,7 +14287,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_519 + schema: ! &ref_526 type: array apiVersions: - ! @@ -14475,7 +14505,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_520 + schema: ! &ref_527 type: array apiVersions: - ! @@ -14755,7 +14785,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_521 + schema: ! &ref_528 type: array apiVersions: - ! @@ -14801,7 +14831,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_522 + schema: ! &ref_529 type: array apiVersions: - ! @@ -14868,7 +14898,7 @@ schemas: ! - *ref_345 properties: - ! - schema: ! &ref_523 + schema: ! &ref_530 type: array apiVersions: - ! @@ -15075,7 +15105,7 @@ schemas: ! description: A value indicating whether to remove trailing "'s" for each subword. Default is true. protocol: ! {} - ! - schema: ! &ref_524 + schema: ! &ref_531 type: array apiVersions: - ! @@ -15229,7 +15259,7 @@ schemas: ! description: The token filters for the index. protocol: ! {} - ! - schema: ! &ref_502 + schema: ! &ref_509 type: array apiVersions: - ! @@ -15254,7 +15284,7 @@ schemas: ! - *ref_430 properties: - ! - schema: ! &ref_525 + schema: ! &ref_532 type: array apiVersions: - ! @@ -15399,7 +15429,132 @@ schemas: ! want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019. protocol: ! {} - ! - schema: *ref_439 + schema: ! &ref_439 + type: object + apiVersions: + - ! + version: 2019-05-06-Preview + children: ! + all: + - ! &ref_442 + type: object + apiVersions: + - ! + version: 2019-05-06-Preview + discriminatorValue: '#Microsoft.Azure.Search.ClassicSimilarity' + parents: ! + all: + - *ref_439 + immediate: + - *ref_439 + serializationFormats: + - json + usage: + - input + - output + extensions: + x-ms-discriminator-value: '#Microsoft.Azure.Search.ClassicSimilarity' + language: ! + default: + name: ClassicSimilarity + description: >- + Legacy similarity algorithm which uses the Lucene TFIDFSimilarity implementation of TF-IDF. This variation of TF-IDF introduces static document length normalization as well as coordinating factors that penalize documents + that only partially match the searched queries. + namespace: '' + protocol: ! {} + - ! &ref_443 + type: object + apiVersions: + - ! + version: 2019-05-06-Preview + discriminatorValue: '#Microsoft.Azure.Search.BM25Similarity' + parents: ! + all: + - *ref_439 + immediate: + - *ref_439 + properties: + - ! + schema: *ref_440 + serializedName: k1 + language: ! + default: + name: k1 + description: >- + This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score + does not scale with an increase in term frequency. + protocol: ! {} + - ! + schema: *ref_441 + serializedName: b + language: ! + default: + name: b + description: >- + This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully + normalized by the length of the document. + protocol: ! {} + serializationFormats: + - json + usage: + - input + - output + extensions: + x-ms-discriminator-value: '#Microsoft.Azure.Search.BM25Similarity' + language: ! + default: + name: BM25Similarity + description: >- + Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the + 'k1' parameter). + namespace: '' + protocol: ! {} + immediate: + - *ref_442 + - *ref_443 + discriminator: ! + all: + '#Microsoft.Azure.Search.BM25Similarity': *ref_443 + '#Microsoft.Azure.Search.ClassicSimilarity': *ref_442 + immediate: + '#Microsoft.Azure.Search.BM25Similarity': *ref_443 + '#Microsoft.Azure.Search.ClassicSimilarity': *ref_442 + property: ! &ref_445 + schema: *ref_444 + isDiscriminator: true + required: true + serializedName: '@odata.type' + language: ! + default: + name: odataType + description: '' + protocol: ! {} + properties: + - *ref_445 + serializationFormats: + - json + usage: + - input + - output + language: ! + default: + name: Similarity + description: >- + Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to + rank the search results. + namespace: '' + protocol: ! {} + required: false + serializedName: similarity + language: ! + default: + name: similarity + description: >- + The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, + the ClassicSimilarity algorithm is used. + protocol: ! {} + - ! + schema: *ref_446 required: false serializedName: '@odata.etag' language: ! @@ -15419,28 +15574,29 @@ schemas: ! namespace: '' protocol: ! {} - *ref_268 - - *ref_440 - - *ref_441 + - *ref_447 + - *ref_448 - *ref_271 - - *ref_442 - - *ref_443 + - *ref_449 + - *ref_450 - *ref_294 - *ref_312 - *ref_345 - *ref_430 - - ! &ref_706 + - *ref_439 + - ! &ref_713 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_503 + schema: ! &ref_510 type: array apiVersions: - ! version: 2019-05-06-Preview - elementType: *ref_444 + elementType: *ref_451 language: ! default: name: Indexes @@ -15464,14 +15620,14 @@ schemas: ! description: 'Response from a List Indexes request. If successful, it includes the full definitions of all indexes.' namespace: '' protocol: ! {} - - ! &ref_725 + - ! &ref_732 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: *ref_445 + schema: *ref_452 nullable: false readOnly: true required: true @@ -15482,7 +15638,7 @@ schemas: ! description: The number of documents in the index. protocol: ! {} - ! - schema: *ref_446 + schema: *ref_453 nullable: false readOnly: true required: true @@ -15502,14 +15658,14 @@ schemas: ! description: Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date. namespace: '' protocol: ! {} - - ! &ref_727 + - ! &ref_734 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: *ref_447 + schema: *ref_454 required: true serializedName: text language: ! @@ -15536,7 +15692,7 @@ schemas: ! description: 'The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive.' protocol: ! {} - ! - schema: ! &ref_504 + schema: ! &ref_511 type: array apiVersions: - ! @@ -15555,7 +15711,7 @@ schemas: ! description: An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter. protocol: ! {} - ! - schema: ! &ref_505 + schema: ! &ref_512 type: array apiVersions: - ! @@ -15583,26 +15739,26 @@ schemas: ! description: Specifies some text and analysis components used to break that text into tokens. namespace: '' protocol: ! {} - - ! &ref_731 + - ! &ref_738 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_506 + schema: ! &ref_513 type: array apiVersions: - ! version: 2019-05-06-Preview - elementType: ! &ref_452 + elementType: ! &ref_459 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: *ref_448 + schema: *ref_455 readOnly: true required: true serializedName: token @@ -15612,7 +15768,7 @@ schemas: ! description: The token returned by the analyzer. protocol: ! {} - ! - schema: *ref_449 + schema: *ref_456 nullable: false readOnly: true required: true @@ -15623,7 +15779,7 @@ schemas: ! description: The index of the first character of the token in the input text. protocol: ! {} - ! - schema: *ref_450 + schema: *ref_457 nullable: false readOnly: true required: true @@ -15634,7 +15790,7 @@ schemas: ! description: The index of the last character of the token in the input text. protocol: ! {} - ! - schema: *ref_451 + schema: *ref_458 nullable: false readOnly: true required: true @@ -15678,29 +15834,29 @@ schemas: ! description: The result of testing an analyzer on text. namespace: '' protocol: ! {} - - *ref_452 - - ! &ref_734 + - *ref_459 + - ! &ref_741 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_460 + schema: ! &ref_467 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: ! &ref_455 + schema: ! &ref_462 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: *ref_453 + schema: *ref_460 nullable: false required: true serializedName: usage @@ -15710,7 +15866,7 @@ schemas: ! description: The resource usage amount. protocol: ! {} - ! - schema: *ref_454 + schema: *ref_461 nullable: true required: false serializedName: quota @@ -15737,7 +15893,7 @@ schemas: ! description: Total number of documents across all indexes in the service. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: indexesCount language: ! @@ -15746,7 +15902,7 @@ schemas: ! description: Total number of indexes. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: indexersCount language: ! @@ -15755,7 +15911,7 @@ schemas: ! description: Total number of indexers. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: dataSourcesCount language: ! @@ -15764,7 +15920,7 @@ schemas: ! description: Total number of data sources. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: storageSize language: ! @@ -15773,7 +15929,7 @@ schemas: ! description: Total size of used storage in bytes. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: synonymMaps language: ! @@ -15782,7 +15938,7 @@ schemas: ! description: Total number of synonym maps. protocol: ! {} - ! - schema: *ref_455 + schema: *ref_462 required: true serializedName: skillsetCount language: ! @@ -15808,14 +15964,14 @@ schemas: ! description: Service level resource counters. protocol: ! {} - ! - schema: ! &ref_461 + schema: ! &ref_468 type: object apiVersions: - ! version: 2019-05-06-Preview properties: - ! - schema: *ref_456 + schema: *ref_463 nullable: true serializedName: maxFieldsPerIndex language: ! @@ -15824,7 +15980,7 @@ schemas: ! description: The maximum allowed fields per index. protocol: ! {} - ! - schema: *ref_457 + schema: *ref_464 nullable: true serializedName: maxFieldNestingDepthPerIndex language: ! @@ -15833,7 +15989,7 @@ schemas: ! description: 'The maximum depth which you can nest sub-fields in an index, including the top-level complex field. For example, a/b/c has a nesting depth of 3.' protocol: ! {} - ! - schema: *ref_458 + schema: *ref_465 nullable: true serializedName: maxComplexCollectionFieldsPerIndex language: ! @@ -15842,7 +15998,7 @@ schemas: ! description: The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index. protocol: ! {} - ! - schema: *ref_459 + schema: *ref_466 nullable: true serializedName: maxComplexObjectsInCollectionsPerDocument language: ! @@ -15877,9 +16033,9 @@ schemas: ! description: 'Response from a get service statistics request. If successful, it includes service level counters and limits.' namespace: '' protocol: ! {} - - *ref_460 - - *ref_455 - - *ref_461 + - *ref_467 + - *ref_462 + - *ref_468 - *ref_305 - *ref_306 - *ref_307 @@ -15923,17 +16079,19 @@ schemas: ! - *ref_426 - *ref_434 - *ref_435 + - *ref_442 + - *ref_443 - *ref_120 - *ref_121 - *ref_127 - *ref_279 - - *ref_462 + - *ref_469 - *ref_280 - - *ref_463 + - *ref_470 - *ref_281 - - *ref_464 + - *ref_471 - *ref_282 - - *ref_465 + - *ref_472 - *ref_237 - *ref_238 - *ref_212 @@ -15949,24 +16107,24 @@ schemas: ! - *ref_222 - *ref_223 arrays: - - *ref_466 + - *ref_473 - *ref_12 - *ref_15 - *ref_17 - *ref_20 - *ref_22 - *ref_25 - - *ref_467 - - *ref_468 - - *ref_469 - - *ref_470 - - *ref_471 - - ! &ref_560 + - *ref_474 + - *ref_475 + - *ref_476 + - *ref_477 + - *ref_478 + - ! &ref_567 type: array apiVersions: - ! version: 2019-05-06-Preview - elementType: *ref_472 + elementType: *ref_479 language: ! default: name: ArrayOfGet1ItemsItem @@ -15975,17 +16133,10 @@ schemas: ! - *ref_30 - *ref_31 - *ref_33 - - *ref_473 - - *ref_474 - - *ref_475 - - *ref_37 - - *ref_476 - - *ref_477 - - *ref_478 - - *ref_479 - *ref_480 - *ref_481 - *ref_482 + - *ref_37 - *ref_483 - *ref_484 - *ref_485 @@ -16032,8 +16183,15 @@ schemas: ! - *ref_526 - *ref_527 - *ref_528 + - *ref_529 + - *ref_530 + - *ref_531 + - *ref_532 + - *ref_533 + - *ref_534 + - *ref_535 globalParameters: -- ! &ref_530 +- ! &ref_537 schema: *ref_0 implementation: Client required: true @@ -16052,7 +16210,7 @@ globalParameters: protocol: ! http: ! in: uri -- ! &ref_531 +- ! &ref_538 schema: *ref_0 implementation: Client required: true @@ -16071,8 +16229,8 @@ globalParameters: protocol: ! http: ! in: uri -- ! &ref_533 - schema: *ref_529 +- ! &ref_540 + schema: *ref_536 implementation: Client origin: 'modelerfour:synthesized/api-version' required: true @@ -16093,16 +16251,16 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_532 - - *ref_533 + - *ref_537 + - *ref_538 + - *ref_539 + - *ref_540 requests: - ! parameters: - - *ref_534 + - *ref_541 signatureParameters: - - *ref_534 + - *ref_541 language: ! default: name: '' @@ -16115,7 +16273,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_535 + schema: *ref_542 language: ! default: name: '' @@ -16162,9 +16320,9 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - ! &ref_554 + - *ref_537 + - *ref_538 + - ! &ref_561 schema: *ref_6 implementation: Method language: ! @@ -16175,13 +16333,6 @@ operationGroups: protocol: ! http: ! in: query - - *ref_536 - - *ref_537 - - *ref_538 - - *ref_539 - - *ref_540 - - *ref_541 - - *ref_542 - *ref_543 - *ref_544 - *ref_545 @@ -16191,16 +16342,23 @@ operationGroups: - *ref_549 - *ref_550 - *ref_551 - - *ref_533 - *ref_552 + - *ref_553 + - *ref_554 + - *ref_555 + - *ref_556 + - *ref_557 + - *ref_558 + - *ref_540 + - *ref_559 requests: - ! parameters: - *ref_13 - - *ref_553 + - *ref_560 signatureParameters: - *ref_13 - - *ref_553 + - *ref_560 language: ! default: name: '' @@ -16211,10 +16369,10 @@ operationGroups: method: get uri: '{endpoint}/indexes(''{indexName}'')' signatureParameters: - - *ref_554 + - *ref_561 responses: - ! - schema: *ref_555 + schema: *ref_562 language: ! default: name: '' @@ -16311,15 +16469,15 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_533 - - *ref_556 + - *ref_537 + - *ref_538 + - *ref_540 + - *ref_563 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -16331,7 +16489,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_559 + - ! &ref_566 schema: *ref_75 implementation: Method required: true @@ -16343,10 +16501,10 @@ operationGroups: http: ! in: body style: json - - *ref_558 + - *ref_565 signatureParameters: - - *ref_559 - - *ref_558 + - *ref_566 + - *ref_565 language: ! default: name: '' @@ -16362,7 +16520,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_555 + schema: *ref_562 language: ! default: name: '' @@ -16472,9 +16630,9 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - ! &ref_563 + - *ref_537 + - *ref_538 + - ! &ref_570 schema: *ref_6 implementation: Method required: true @@ -16486,8 +16644,8 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_564 - schema: *ref_560 + - ! &ref_571 + schema: *ref_567 implementation: Method language: ! default: @@ -16497,14 +16655,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_533 - - *ref_561 + - *ref_540 + - *ref_568 requests: - ! parameters: - - *ref_562 + - *ref_569 signatureParameters: - - *ref_562 + - *ref_569 language: ! default: name: '' @@ -16515,8 +16673,8 @@ operationGroups: method: get uri: '{endpoint}/indexes(''{indexName}'')' signatureParameters: - - *ref_563 - - *ref_564 + - *ref_570 + - *ref_571 responses: - ! schema: *ref_3 @@ -16573,9 +16731,9 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - ! &ref_576 + - *ref_537 + - *ref_538 + - ! &ref_583 schema: *ref_6 implementation: Method required: true @@ -16587,7 +16745,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_577 + - ! &ref_584 schema: *ref_6 implementation: Method required: true @@ -16599,25 +16757,25 @@ operationGroups: protocol: ! http: ! in: query - - *ref_565 - - *ref_566 - - *ref_567 - - *ref_568 - - *ref_569 - - *ref_570 - - *ref_571 - *ref_572 - *ref_573 - - *ref_533 - *ref_574 + - *ref_575 + - *ref_576 + - *ref_577 + - *ref_578 + - *ref_579 + - *ref_580 + - *ref_540 + - *ref_581 requests: - ! parameters: - *ref_28 - - *ref_575 + - *ref_582 signatureParameters: - *ref_28 - - *ref_575 + - *ref_582 language: ! default: name: '' @@ -16628,11 +16786,11 @@ operationGroups: method: get uri: '{endpoint}/indexes(''{indexName}'')' signatureParameters: - - *ref_576 - - *ref_577 + - *ref_583 + - *ref_584 responses: - ! - schema: *ref_578 + schema: *ref_585 language: ! default: name: '' @@ -16705,15 +16863,15 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_533 - - *ref_579 + - *ref_537 + - *ref_538 + - *ref_540 + - *ref_586 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -16725,8 +16883,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_582 - schema: *ref_580 + - ! &ref_589 + schema: *ref_587 implementation: Method required: true language: ! @@ -16737,10 +16895,10 @@ operationGroups: http: ! in: body style: json - - *ref_581 + - *ref_588 signatureParameters: - - *ref_582 - - *ref_581 + - *ref_589 + - *ref_588 language: ! default: name: '' @@ -16756,7 +16914,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_578 + schema: *ref_585 language: ! default: name: '' @@ -16823,15 +16981,15 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_533 - - *ref_583 + - *ref_537 + - *ref_538 + - *ref_540 + - *ref_590 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -16843,8 +17001,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_586 - schema: *ref_584 + - ! &ref_593 + schema: *ref_591 implementation: Method required: true language: ! @@ -16855,10 +17013,10 @@ operationGroups: http: ! in: body style: json - - *ref_585 + - *ref_592 signatureParameters: - - *ref_586 - - *ref_585 + - *ref_593 + - *ref_592 language: ! default: name: '' @@ -16874,7 +17032,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_587 + schema: *ref_594 language: ! default: name: '' @@ -16887,7 +17045,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_587 + schema: *ref_594 language: ! default: name: '' @@ -16984,11 +17142,11 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_588 - - *ref_533 - - ! &ref_598 + - *ref_537 + - *ref_538 + - *ref_595 + - *ref_540 + - ! &ref_605 schema: *ref_6 implementation: Method required: true @@ -17000,7 +17158,7 @@ operationGroups: protocol: ! http: ! in: query - - ! &ref_599 + - ! &ref_606 schema: *ref_6 implementation: Method required: true @@ -17012,21 +17170,21 @@ operationGroups: protocol: ! http: ! in: query - - *ref_589 - - *ref_590 - - *ref_591 - - *ref_592 - - *ref_593 - - *ref_594 - - *ref_595 - *ref_596 + - *ref_597 + - *ref_598 + - *ref_599 + - *ref_600 + - *ref_601 + - *ref_602 + - *ref_603 requests: - ! parameters: - - *ref_597 + - *ref_604 - *ref_36 signatureParameters: - - *ref_597 + - *ref_604 - *ref_36 language: ! default: @@ -17038,11 +17196,11 @@ operationGroups: method: get uri: '{endpoint}/indexes(''{indexName}'')' signatureParameters: - - *ref_598 - - *ref_599 + - *ref_605 + - *ref_606 responses: - ! - schema: *ref_600 + schema: *ref_607 language: ! default: name: '' @@ -17107,15 +17265,15 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_531 - - *ref_601 - - *ref_533 + - *ref_537 + - *ref_538 + - *ref_608 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -17127,8 +17285,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_604 - schema: *ref_602 + - ! &ref_611 + schema: *ref_609 implementation: Method required: true language: ! @@ -17139,10 +17297,10 @@ operationGroups: http: ! in: body style: json - - *ref_603 + - *ref_610 signatureParameters: - - *ref_604 - - *ref_603 + - *ref_611 + - *ref_610 language: ! default: name: '' @@ -17158,7 +17316,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_600 + schema: *ref_607 language: ! default: name: '' @@ -17229,8 +17387,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_611 + - *ref_537 + - ! &ref_618 schema: *ref_6 implementation: Method required: true @@ -17242,11 +17400,11 @@ operationGroups: protocol: ! http: ! in: path - - *ref_605 - - *ref_606 - - *ref_607 + - *ref_612 + - *ref_613 + - *ref_614 - ! - schema: *ref_608 + schema: *ref_615 implementation: Method required: true language: ! @@ -17257,12 +17415,12 @@ operationGroups: protocol: ! http: ! in: header - - *ref_533 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -17274,7 +17432,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_610 + - ! &ref_617 schema: *ref_134 implementation: Method required: true @@ -17286,11 +17444,11 @@ operationGroups: http: ! in: body style: json - - *ref_609 + - *ref_616 - *ref_39 signatureParameters: - - *ref_610 - - *ref_609 + - *ref_617 + - *ref_616 - *ref_39 language: ! default: @@ -17305,7 +17463,7 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_611 + - *ref_618 responses: - ! schema: *ref_134 @@ -17417,8 +17575,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_616 + - *ref_537 + - ! &ref_623 schema: *ref_6 implementation: Method required: true @@ -17430,17 +17588,17 @@ operationGroups: protocol: ! http: ! in: path - - *ref_612 - - *ref_613 - - *ref_614 - - *ref_533 + - *ref_619 + - *ref_620 + - *ref_621 + - *ref_540 requests: - ! parameters: - - *ref_615 + - *ref_622 - *ref_40 signatureParameters: - - *ref_615 + - *ref_622 - *ref_40 language: ! default: @@ -17452,7 +17610,7 @@ operationGroups: method: delete uri: '{endpoint}' signatureParameters: - - *ref_616 + - *ref_623 responses: - ! language: ! @@ -17507,8 +17665,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_619 + - *ref_537 + - ! &ref_626 schema: *ref_6 implementation: Method required: true @@ -17520,14 +17678,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_617 - - *ref_533 + - *ref_624 + - *ref_540 requests: - ! parameters: - - *ref_618 + - *ref_625 signatureParameters: - - *ref_618 + - *ref_625 language: ! default: name: '' @@ -17538,7 +17696,7 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_619 + - *ref_626 responses: - ! schema: *ref_134 @@ -17603,8 +17761,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_622 + - *ref_537 + - ! &ref_629 schema: *ref_6 implementation: Method language: ! @@ -17615,14 +17773,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_620 - - *ref_533 + - *ref_627 + - *ref_540 requests: - ! parameters: - - *ref_621 + - *ref_628 signatureParameters: - - *ref_621 + - *ref_628 language: ! default: name: '' @@ -17633,10 +17791,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_622 + - *ref_629 responses: - ! - schema: *ref_623 + schema: *ref_630 language: ! default: name: '' @@ -17699,14 +17857,14 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_624 - - *ref_533 + - *ref_537 + - *ref_631 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -17718,7 +17876,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_626 + - ! &ref_633 schema: *ref_134 implementation: Method required: true @@ -17730,10 +17888,10 @@ operationGroups: http: ! in: body style: json - - *ref_625 + - *ref_632 signatureParameters: - - *ref_626 - - *ref_625 + - *ref_633 + - *ref_632 language: ! default: name: '' @@ -17834,8 +17992,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_629 + - *ref_537 + - ! &ref_636 schema: *ref_6 implementation: Method required: true @@ -17847,14 +18005,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_627 - - *ref_533 + - *ref_634 + - *ref_540 requests: - ! parameters: - - *ref_628 + - *ref_635 signatureParameters: - - *ref_628 + - *ref_635 language: ! default: name: '' @@ -17865,7 +18023,7 @@ operationGroups: method: post uri: '{endpoint}' signatureParameters: - - *ref_629 + - *ref_636 responses: - ! language: ! @@ -17910,8 +18068,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_632 + - *ref_537 + - ! &ref_639 schema: *ref_6 implementation: Method required: true @@ -17923,14 +18081,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_630 - - *ref_533 + - *ref_637 + - *ref_540 requests: - ! parameters: - - *ref_631 + - *ref_638 signatureParameters: - - *ref_631 + - *ref_638 language: ! default: name: '' @@ -17941,7 +18099,7 @@ operationGroups: method: post uri: '{endpoint}' signatureParameters: - - *ref_632 + - *ref_639 responses: - ! language: ! @@ -17986,8 +18144,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_638 + - *ref_537 + - ! &ref_645 schema: *ref_6 implementation: Method required: true @@ -17999,11 +18157,11 @@ operationGroups: protocol: ! http: ! in: path - - *ref_633 - - *ref_634 - - *ref_635 + - *ref_640 + - *ref_641 + - *ref_642 - ! - schema: *ref_608 + schema: *ref_615 implementation: Method required: true language: ! @@ -18014,12 +18172,12 @@ operationGroups: protocol: ! http: ! in: header - - *ref_533 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18031,7 +18189,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_637 + - ! &ref_644 schema: *ref_156 implementation: Method required: true @@ -18043,11 +18201,11 @@ operationGroups: http: ! in: body style: json - - *ref_636 + - *ref_643 - *ref_41 signatureParameters: - - *ref_637 - - *ref_636 + - *ref_644 + - *ref_643 - *ref_41 language: ! default: @@ -18062,7 +18220,7 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_638 + - *ref_645 responses: - ! schema: *ref_156 @@ -18163,8 +18321,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_643 + - *ref_537 + - ! &ref_650 schema: *ref_6 implementation: Method required: true @@ -18176,17 +18334,17 @@ operationGroups: protocol: ! http: ! in: path - - *ref_639 - - *ref_640 - - *ref_641 - - *ref_533 + - *ref_646 + - *ref_647 + - *ref_648 + - *ref_540 requests: - ! parameters: - - *ref_642 + - *ref_649 - *ref_42 signatureParameters: - - *ref_642 + - *ref_649 - *ref_42 language: ! default: @@ -18198,7 +18356,7 @@ operationGroups: method: delete uri: '{endpoint}' signatureParameters: - - *ref_643 + - *ref_650 responses: - ! language: ! @@ -18253,8 +18411,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_646 + - *ref_537 + - ! &ref_653 schema: *ref_6 implementation: Method required: true @@ -18266,14 +18424,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_644 - - *ref_533 + - *ref_651 + - *ref_540 requests: - ! parameters: - - *ref_645 + - *ref_652 signatureParameters: - - *ref_645 + - *ref_652 language: ! default: name: '' @@ -18284,7 +18442,7 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_646 + - *ref_653 responses: - ! schema: *ref_156 @@ -18346,8 +18504,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_649 + - *ref_537 + - ! &ref_656 schema: *ref_6 implementation: Method language: ! @@ -18358,14 +18516,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_647 - - *ref_533 + - *ref_654 + - *ref_540 requests: - ! parameters: - - *ref_648 + - *ref_655 signatureParameters: - - *ref_648 + - *ref_655 language: ! default: name: '' @@ -18376,10 +18534,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_649 + - *ref_656 responses: - ! - schema: *ref_650 + schema: *ref_657 language: ! default: name: '' @@ -18463,14 +18621,14 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_651 - - *ref_533 + - *ref_537 + - *ref_658 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18482,7 +18640,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_653 + - ! &ref_660 schema: *ref_156 implementation: Method required: true @@ -18494,10 +18652,10 @@ operationGroups: http: ! in: body style: json - - *ref_652 + - *ref_659 signatureParameters: - - *ref_653 - - *ref_652 + - *ref_660 + - *ref_659 language: ! default: name: '' @@ -18582,8 +18740,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_656 + - *ref_537 + - ! &ref_663 schema: *ref_6 implementation: Method required: true @@ -18595,14 +18753,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_654 - - *ref_533 + - *ref_661 + - *ref_540 requests: - ! parameters: - - *ref_655 + - *ref_662 signatureParameters: - - *ref_655 + - *ref_662 language: ! default: name: '' @@ -18613,10 +18771,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_656 + - *ref_663 responses: - ! - schema: *ref_657 + schema: *ref_664 language: ! default: name: '' @@ -18730,8 +18888,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_663 + - *ref_537 + - ! &ref_670 schema: *ref_6 implementation: Method required: true @@ -18743,11 +18901,11 @@ operationGroups: protocol: ! http: ! in: path - - *ref_658 - - *ref_659 - - *ref_660 + - *ref_665 + - *ref_666 + - *ref_667 - ! - schema: *ref_608 + schema: *ref_615 implementation: Method required: true language: ! @@ -18758,12 +18916,12 @@ operationGroups: protocol: ! http: ! in: header - - *ref_533 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -18775,7 +18933,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_662 + - ! &ref_669 schema: *ref_244 implementation: Method required: true @@ -18787,11 +18945,11 @@ operationGroups: http: ! in: body style: json - - *ref_661 + - *ref_668 - *ref_43 signatureParameters: - - *ref_662 - - *ref_661 + - *ref_669 + - *ref_668 - *ref_43 language: ! default: @@ -18806,7 +18964,7 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_663 + - *ref_670 responses: - ! schema: *ref_244 @@ -19078,8 +19236,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_668 + - *ref_537 + - ! &ref_675 schema: *ref_6 implementation: Method required: true @@ -19091,17 +19249,17 @@ operationGroups: protocol: ! http: ! in: path - - *ref_664 - - *ref_665 - - *ref_666 - - *ref_533 + - *ref_671 + - *ref_672 + - *ref_673 + - *ref_540 requests: - ! parameters: - - *ref_667 + - *ref_674 - *ref_44 signatureParameters: - - *ref_667 + - *ref_674 - *ref_44 language: ! default: @@ -19113,7 +19271,7 @@ operationGroups: method: delete uri: '{endpoint}' signatureParameters: - - *ref_668 + - *ref_675 responses: - ! language: ! @@ -19168,8 +19326,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_671 + - *ref_537 + - ! &ref_678 schema: *ref_6 implementation: Method required: true @@ -19181,14 +19339,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_669 - - *ref_533 + - *ref_676 + - *ref_540 requests: - ! parameters: - - *ref_670 + - *ref_677 signatureParameters: - - *ref_670 + - *ref_677 language: ! default: name: '' @@ -19199,7 +19357,7 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_671 + - *ref_678 responses: - ! schema: *ref_244 @@ -19323,8 +19481,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_674 + - *ref_537 + - ! &ref_681 schema: *ref_6 implementation: Method language: ! @@ -19335,14 +19493,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_672 - - *ref_533 + - *ref_679 + - *ref_540 requests: - ! parameters: - - *ref_673 + - *ref_680 signatureParameters: - - *ref_673 + - *ref_680 language: ! default: name: '' @@ -19353,10 +19511,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_674 + - *ref_681 responses: - ! - schema: *ref_675 + schema: *ref_682 language: ! default: name: '' @@ -19478,14 +19636,14 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_676 - - *ref_533 + - *ref_537 + - *ref_683 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -19497,7 +19655,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_678 + - ! &ref_685 schema: *ref_244 implementation: Method required: true @@ -19509,10 +19667,10 @@ operationGroups: http: ! in: body style: json - - *ref_677 + - *ref_684 signatureParameters: - - *ref_678 - - *ref_677 + - *ref_685 + - *ref_684 language: ! default: name: '' @@ -19716,8 +19874,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_684 + - *ref_537 + - ! &ref_691 schema: *ref_6 implementation: Method required: true @@ -19729,11 +19887,11 @@ operationGroups: protocol: ! http: ! in: path - - *ref_679 - - *ref_680 - - *ref_681 + - *ref_686 + - *ref_687 + - *ref_688 - ! - schema: *ref_608 + schema: *ref_615 implementation: Method required: true language: ! @@ -19744,12 +19902,12 @@ operationGroups: protocol: ! http: ! in: header - - *ref_533 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -19761,7 +19919,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_683 + - ! &ref_690 schema: *ref_256 implementation: Method required: true @@ -19773,11 +19931,11 @@ operationGroups: http: ! in: body style: json - - *ref_682 + - *ref_689 - *ref_45 signatureParameters: - - *ref_683 - - *ref_682 + - *ref_690 + - *ref_689 - *ref_45 language: ! default: @@ -19792,7 +19950,7 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_684 + - *ref_691 responses: - ! schema: *ref_256 @@ -19889,8 +20047,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_689 + - *ref_537 + - ! &ref_696 schema: *ref_6 implementation: Method required: true @@ -19902,17 +20060,17 @@ operationGroups: protocol: ! http: ! in: path - - *ref_685 - - *ref_686 - - *ref_687 - - *ref_533 + - *ref_692 + - *ref_693 + - *ref_694 + - *ref_540 requests: - ! parameters: - - *ref_688 + - *ref_695 - *ref_46 signatureParameters: - - *ref_688 + - *ref_695 - *ref_46 language: ! default: @@ -19924,7 +20082,7 @@ operationGroups: method: delete uri: '{endpoint}' signatureParameters: - - *ref_689 + - *ref_696 responses: - ! language: ! @@ -19979,8 +20137,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_692 + - *ref_537 + - ! &ref_699 schema: *ref_6 implementation: Method required: true @@ -19992,14 +20150,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_690 - - *ref_533 + - *ref_697 + - *ref_540 requests: - ! parameters: - - *ref_691 + - *ref_698 signatureParameters: - - *ref_691 + - *ref_698 language: ! default: name: '' @@ -20010,7 +20168,7 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_692 + - *ref_699 responses: - ! schema: *ref_256 @@ -20072,8 +20230,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_695 + - *ref_537 + - ! &ref_702 schema: *ref_6 implementation: Method language: ! @@ -20084,14 +20242,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_693 - - *ref_533 + - *ref_700 + - *ref_540 requests: - ! parameters: - - *ref_694 + - *ref_701 signatureParameters: - - *ref_694 + - *ref_701 language: ! default: name: '' @@ -20102,10 +20260,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_695 + - *ref_702 responses: - ! - schema: *ref_696 + schema: *ref_703 language: ! default: name: '' @@ -20169,14 +20327,14 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_697 - - *ref_533 + - *ref_537 + - *ref_704 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -20188,7 +20346,7 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_699 + - ! &ref_706 schema: *ref_256 implementation: Method required: true @@ -20200,10 +20358,10 @@ operationGroups: http: ! in: body style: json - - *ref_698 + - *ref_705 signatureParameters: - - *ref_699 - - *ref_698 + - *ref_706 + - *ref_705 language: ! default: name: '' @@ -20298,14 +20456,14 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_700 - - *ref_533 + - *ref_537 + - *ref_707 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -20317,8 +20475,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_702 - schema: *ref_444 + - ! &ref_709 + schema: *ref_451 implementation: Method required: true language: ! @@ -20329,10 +20487,10 @@ operationGroups: http: ! in: body style: json - - *ref_701 + - *ref_708 signatureParameters: - - *ref_702 - - *ref_701 + - *ref_709 + - *ref_708 language: ! default: name: '' @@ -20348,7 +20506,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_444 + schema: *ref_451 language: ! default: name: '' @@ -20448,6 +20606,10 @@ operationGroups: text: weights: hotelName: 5 + similarity: + '@odata.type': '#Microsoft.Azure.Search.BM25Similarity' + b: 0.5 + k1: 1.3 suggesters: - name: sg searchMode: analyzingInfixMatching @@ -20634,6 +20796,10 @@ operationGroups: text: weights: hotelName: 5 + similarity: + '@odata.type': '#Microsoft.Azure.Search.BM25Similarity' + b: 0.5 + k1: 1.3 suggesters: - name: sg searchMode: analyzingInfixMatching @@ -20652,8 +20818,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_705 + - *ref_537 + - ! &ref_712 schema: *ref_6 implementation: Method language: ! @@ -20664,14 +20830,14 @@ operationGroups: protocol: ! http: ! in: query - - *ref_703 - - *ref_533 + - *ref_710 + - *ref_540 requests: - ! parameters: - - *ref_704 + - *ref_711 signatureParameters: - - *ref_704 + - *ref_711 language: ! default: name: '' @@ -20682,10 +20848,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_705 + - *ref_712 responses: - ! - schema: *ref_706 + schema: *ref_713 language: ! default: name: '' @@ -20951,8 +21117,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_712 + - *ref_537 + - ! &ref_719 schema: *ref_6 implementation: Method required: true @@ -20964,7 +21130,7 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_713 + - ! &ref_720 schema: *ref_9 implementation: Method language: ! @@ -20977,11 +21143,11 @@ operationGroups: protocol: ! http: ! in: query - - *ref_707 - - *ref_708 - - *ref_709 + - *ref_714 + - *ref_715 + - *ref_716 - ! - schema: *ref_608 + schema: *ref_615 implementation: Method required: true language: ! @@ -20992,12 +21158,12 @@ operationGroups: protocol: ! http: ! in: header - - *ref_533 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -21009,8 +21175,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_711 - schema: *ref_444 + - ! &ref_718 + schema: *ref_451 implementation: Method required: true language: ! @@ -21021,11 +21187,11 @@ operationGroups: http: ! in: body style: json - - *ref_710 + - *ref_717 - *ref_47 signatureParameters: - - *ref_711 - - *ref_710 + - *ref_718 + - *ref_717 - *ref_47 language: ! default: @@ -21040,11 +21206,11 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_712 - - *ref_713 + - *ref_719 + - *ref_720 responses: - ! - schema: *ref_444 + schema: *ref_451 language: ! default: name: '' @@ -21057,7 +21223,7 @@ operationGroups: statusCodes: - '200' - ! - schema: *ref_444 + schema: *ref_451 language: ! default: name: '' @@ -21157,6 +21323,8 @@ operationGroups: text: weights: hotelName: 5 + similarity: + '@odata.type': '#Microsoft.Azure.Search.ClassicSimilarity' suggesters: - name: sg searchMode: analyzingInfixMatching @@ -21342,6 +21510,8 @@ operationGroups: text: weights: hotelName: 5 + similarity: + '@odata.type': '#Microsoft.Azure.Search.ClassicSimilarity' suggesters: - name: sg searchMode: analyzingInfixMatching @@ -21545,8 +21715,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_718 + - *ref_537 + - ! &ref_725 schema: *ref_6 implementation: Method required: true @@ -21558,17 +21728,17 @@ operationGroups: protocol: ! http: ! in: path - - *ref_714 - - *ref_715 - - *ref_716 - - *ref_533 + - *ref_721 + - *ref_722 + - *ref_723 + - *ref_540 requests: - ! parameters: - - *ref_717 + - *ref_724 - *ref_48 signatureParameters: - - *ref_717 + - *ref_724 - *ref_48 language: ! default: @@ -21580,7 +21750,7 @@ operationGroups: method: delete uri: '{endpoint}' signatureParameters: - - *ref_718 + - *ref_725 responses: - ! language: ! @@ -21635,8 +21805,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_721 + - *ref_537 + - ! &ref_728 schema: *ref_6 implementation: Method required: true @@ -21648,14 +21818,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_719 - - *ref_533 + - *ref_726 + - *ref_540 requests: - ! parameters: - - *ref_720 + - *ref_727 signatureParameters: - - *ref_720 + - *ref_727 language: ! default: name: '' @@ -21666,10 +21836,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_721 + - *ref_728 responses: - ! - schema: *ref_444 + schema: *ref_451 language: ! default: name: '' @@ -21901,8 +22071,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_724 + - *ref_537 + - ! &ref_731 schema: *ref_6 implementation: Method required: true @@ -21914,14 +22084,14 @@ operationGroups: protocol: ! http: ! in: path - - *ref_722 - - *ref_533 + - *ref_729 + - *ref_540 requests: - ! parameters: - - *ref_723 + - *ref_730 signatureParameters: - - *ref_723 + - *ref_730 language: ! default: name: '' @@ -21932,10 +22102,10 @@ operationGroups: method: get uri: '{endpoint}' signatureParameters: - - *ref_724 + - *ref_731 responses: - ! - schema: *ref_725 + schema: *ref_732 language: ! default: name: '' @@ -21984,8 +22154,8 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - ! &ref_730 + - *ref_537 + - ! &ref_737 schema: *ref_6 implementation: Method required: true @@ -21997,13 +22167,13 @@ operationGroups: protocol: ! http: ! in: path - - *ref_726 - - *ref_533 + - *ref_733 + - *ref_540 requests: - ! parameters: - ! - schema: *ref_557 + schema: *ref_564 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -22015,8 +22185,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_729 - schema: *ref_727 + - ! &ref_736 + schema: *ref_734 implementation: Method required: true language: ! @@ -22027,10 +22197,10 @@ operationGroups: http: ! in: body style: json - - *ref_728 + - *ref_735 signatureParameters: - - *ref_729 - - *ref_728 + - *ref_736 + - *ref_735 language: ! default: name: '' @@ -22044,10 +22214,10 @@ operationGroups: - application/json uri: '{endpoint}' signatureParameters: - - *ref_730 + - *ref_737 responses: - ! - schema: *ref_731 + schema: *ref_738 language: ! default: name: '' @@ -22118,15 +22288,15 @@ operationGroups: - ! version: 2019-05-06-Preview parameters: - - *ref_530 - - *ref_732 - - *ref_533 + - *ref_537 + - *ref_739 + - *ref_540 requests: - ! parameters: - - *ref_733 + - *ref_740 signatureParameters: - - *ref_733 + - *ref_740 language: ! default: name: '' @@ -22139,7 +22309,7 @@ operationGroups: signatureParameters: [] responses: - ! - schema: *ref_734 + schema: *ref_741 language: ! default: name: '' diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.Serialization.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.Serialization.cs new file mode 100644 index 00000000..a8f19672 --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.Serialization.cs @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace CognitiveSearch.Models +{ + public partial class BM25Similarity : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + if (K1 != null) + { + writer.WritePropertyName("k1"); + writer.WriteNumberValue(K1.Value); + } + if (B != null) + { + writer.WritePropertyName("b"); + writer.WriteNumberValue(B.Value); + } + writer.WritePropertyName("@odata.type"); + writer.WriteStringValue(OdataType); + writer.WriteEndObject(); + } + + internal static BM25Similarity DeserializeBM25Similarity(JsonElement element) + { + double? k1 = default; + double? b = default; + string odataType = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("k1")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + k1 = property.Value.GetDouble(); + continue; + } + if (property.NameEquals("b")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + b = property.Value.GetDouble(); + continue; + } + if (property.NameEquals("@odata.type")) + { + odataType = property.Value.GetString(); + continue; + } + } + return new BM25Similarity(odataType, k1, b); + } + } +} diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.cs new file mode 100644 index 00000000..59a50f2a --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/BM25Similarity.cs @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace CognitiveSearch.Models +{ + /// Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the 'k1' parameter). + public partial class BM25Similarity : Similarity + { + /// Initializes a new instance of BM25Similarity. + public BM25Similarity() + { + OdataType = "#Microsoft.Azure.Search.BM25Similarity"; + } + + /// Initializes a new instance of BM25Similarity. + /// . + /// This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency. + /// This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document. + internal BM25Similarity(string odataType, double? k1, double? b) : base(odataType) + { + K1 = k1; + B = b; + OdataType = odataType ?? "#Microsoft.Azure.Search.BM25Similarity"; + } + + /// This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency. + public double? K1 { get; set; } + /// This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document. + public double? B { get; set; } + } +} diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.Serialization.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.Serialization.cs new file mode 100644 index 00000000..a5cefd13 --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.Serialization.cs @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace CognitiveSearch.Models +{ + public partial class ClassicSimilarity : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("@odata.type"); + writer.WriteStringValue(OdataType); + writer.WriteEndObject(); + } + + internal static ClassicSimilarity DeserializeClassicSimilarity(JsonElement element) + { + string odataType = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("@odata.type")) + { + odataType = property.Value.GetString(); + continue; + } + } + return new ClassicSimilarity(odataType); + } + } +} diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.cs new file mode 100644 index 00000000..642d5a16 --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/ClassicSimilarity.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace CognitiveSearch.Models +{ + /// Legacy similarity algorithm which uses the Lucene TFIDFSimilarity implementation of TF-IDF. This variation of TF-IDF introduces static document length normalization as well as coordinating factors that penalize documents that only partially match the searched queries. + public partial class ClassicSimilarity : Similarity + { + /// Initializes a new instance of ClassicSimilarity. + public ClassicSimilarity() + { + OdataType = "#Microsoft.Azure.Search.ClassicSimilarity"; + } + + /// Initializes a new instance of ClassicSimilarity. + /// . + internal ClassicSimilarity(string odataType) : base(odataType) + { + OdataType = odataType ?? "#Microsoft.Azure.Search.ClassicSimilarity"; + } + } +} diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.Serialization.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.Serialization.cs index 6c6b0bf2..57adf397 100644 --- a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.Serialization.cs +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.Serialization.cs @@ -100,6 +100,11 @@ namespace CognitiveSearch.Models writer.WritePropertyName("encryptionKey"); writer.WriteObjectValue(EncryptionKey); } + if (Similarity != null) + { + writer.WritePropertyName("similarity"); + writer.WriteObjectValue(Similarity); + } if (ETag != null) { writer.WritePropertyName("@odata.etag"); @@ -121,6 +126,7 @@ namespace CognitiveSearch.Models IList tokenFilters = default; IList charFilters = default; EncryptionKey encryptionKey = default; + Similarity similarity = default; string odataEtag = default; foreach (var property in element.EnumerateObject()) { @@ -299,6 +305,15 @@ namespace CognitiveSearch.Models encryptionKey = EncryptionKey.DeserializeEncryptionKey(property.Value); continue; } + if (property.NameEquals("similarity")) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + similarity = Similarity.DeserializeSimilarity(property.Value); + continue; + } if (property.NameEquals("@odata.etag")) { if (property.Value.ValueKind == JsonValueKind.Null) @@ -309,7 +324,7 @@ namespace CognitiveSearch.Models continue; } } - return new Index(name, fields, scoringProfiles, defaultScoringProfile, corsOptions, suggesters, analyzers, tokenizers, tokenFilters, charFilters, encryptionKey, odataEtag); + return new Index(name, fields, scoringProfiles, defaultScoringProfile, corsOptions, suggesters, analyzers, tokenizers, tokenFilters, charFilters, encryptionKey, similarity, odataEtag); } } } diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.cs index aec01fe9..2a4e1a17 100644 --- a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.cs +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Index.cs @@ -44,8 +44,9 @@ namespace CognitiveSearch.Models /// The token filters for the index. /// The character filters for the index. /// A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019. + /// The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity algorithm is used. /// The ETag of the index. - internal Index(string name, IList fields, IList scoringProfiles, string defaultScoringProfile, CorsOptions corsOptions, IList suggesters, IList analyzers, IList tokenizers, IList tokenFilters, IList charFilters, EncryptionKey encryptionKey, string eTag) + internal Index(string name, IList fields, IList scoringProfiles, string defaultScoringProfile, CorsOptions corsOptions, IList suggesters, IList analyzers, IList tokenizers, IList tokenFilters, IList charFilters, EncryptionKey encryptionKey, Similarity similarity, string eTag) { Name = name; Fields = fields; @@ -58,6 +59,7 @@ namespace CognitiveSearch.Models TokenFilters = tokenFilters; CharFilters = charFilters; EncryptionKey = encryptionKey; + Similarity = similarity; ETag = eTag; } @@ -83,6 +85,8 @@ namespace CognitiveSearch.Models public IList CharFilters { get; set; } /// A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019. public EncryptionKey EncryptionKey { get; set; } + /// The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity algorithm is used. + public Similarity Similarity { get; set; } /// The ETag of the index. public string ETag { get; set; } } diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.Serialization.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.Serialization.cs new file mode 100644 index 00000000..60606130 --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.Serialization.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System.Text.Json; +using Azure.Core; + +namespace CognitiveSearch.Models +{ + public partial class Similarity : IUtf8JsonSerializable + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) + { + writer.WriteStartObject(); + writer.WritePropertyName("@odata.type"); + writer.WriteStringValue(OdataType); + writer.WriteEndObject(); + } + + internal static Similarity DeserializeSimilarity(JsonElement element) + { + if (element.TryGetProperty("@odata.type", out JsonElement discriminator)) + { + switch (discriminator.GetString()) + { + case "#Microsoft.Azure.Search.BM25Similarity": return BM25Similarity.DeserializeBM25Similarity(element); + case "#Microsoft.Azure.Search.ClassicSimilarity": return ClassicSimilarity.DeserializeClassicSimilarity(element); + } + } + string odataType = default; + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("@odata.type")) + { + odataType = property.Value.GetString(); + continue; + } + } + return new Similarity(odataType); + } + } +} diff --git a/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.cs b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.cs new file mode 100644 index 00000000..0d99e510 --- /dev/null +++ b/samples/CognitiveSearch/CognitiveSearch/Generated/Models/Similarity.cs @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +namespace CognitiveSearch.Models +{ + /// Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to rank the search results. + public partial class Similarity + { + /// Initializes a new instance of Similarity. + public Similarity() + { + OdataType = null; + } + + /// Initializes a new instance of Similarity. + /// . + internal Similarity(string odataType) + { + OdataType = odataType; + } + + internal string OdataType { get; set; } + } +} diff --git a/samples/CognitiveSearch/readme.md b/samples/CognitiveSearch/readme.md index b11af713..b07613e5 100644 --- a/samples/CognitiveSearch/readme.md +++ b/samples/CognitiveSearch/readme.md @@ -7,8 +7,8 @@ title: CognitiveServices require: $(this-folder)/../../readme.md input-file: - - https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchindex.json - - https://github.com/Azure/azure-rest-api-specs/blob/49fc16354df7211f8392c56884a3437138317d1f/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json + - https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchindex.json + - https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/searchservice.json namespace: Azure.CognitiveSearch ``` diff --git a/samples/CognitiveServices.TextAnalytics/readme.md b/samples/CognitiveServices.TextAnalytics/readme.md index 2b0e688e..8c5710be 100644 --- a/samples/CognitiveServices.TextAnalytics/readme.md +++ b/samples/CognitiveServices.TextAnalytics/readme.md @@ -5,6 +5,6 @@ ``` yaml title: CognitiveServices.TextAnalytics require: $(this-folder)/../../readme.md -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json +input-file: https://github.com/Azure/azure-rest-api-specs/blob/e606243e5297312781dd7dbfd7ab76d2329cc088/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.0-preview.1/TextAnalytics.json namespace: Azure.CognitiveServices.TextAnalytics -``` \ No newline at end of file +``` diff --git a/samples/SignalR/SignalR/CodeModel.yaml b/samples/SignalR/SignalR/CodeModel.yaml index 653494ad..2c7db6a4 100644 --- a/samples/SignalR/SignalR/CodeModel.yaml +++ b/samples/SignalR/SignalR/CodeModel.yaml @@ -1,9 +1,9 @@ ! info: ! - title: Azure SignalR Serverless WebSocket + title: Azure WebSocket Service REST API schemas: ! numbers: - - ! &ref_31 + - ! &ref_77 type: integer apiVersions: - ! @@ -23,6 +23,16 @@ schemas: ! description: simple string protocol: ! {} - ! &ref_1 + type: string + apiVersions: + - ! + version: v1 + language: ! + default: + name: Post0ItemsItem + description: '' + protocol: ! {} + - ! &ref_3 type: string apiVersions: - ! @@ -32,8 +42,28 @@ schemas: ! name: String description: '' protocol: ! {} + - ! &ref_2 + type: string + apiVersions: + - ! + version: v1 + language: ! + default: + name: Post1ItemsItem + description: '' + protocol: ! {} + - ! &ref_4 + type: string + apiVersions: + - ! + version: v1 + language: ! + default: + name: Post2ItemsItem + description: '' + protocol: ! {} constants: - - ! &ref_4 + - ! &ref_7 type: constant value: ! value: application/octet-stream @@ -43,7 +73,7 @@ schemas: ! name: ApplicationOctetStream description: Content Type 'application/octet-stream' protocol: ! {} - - ! &ref_7 + - ! &ref_10 type: constant value: ! value: text/plain @@ -54,7 +84,7 @@ schemas: ! description: Content Type 'text/plain' protocol: ! {} binaries: - - ! &ref_5 + - ! &ref_8 type: binary apiVersions: - ! @@ -64,7 +94,7 @@ schemas: ! name: binary description: '' protocol: ! {} - - ! &ref_10 + - ! &ref_14 type: binary apiVersions: - ! @@ -74,7 +104,7 @@ schemas: ! name: binary description: '' protocol: ! {} - - ! &ref_15 + - ! &ref_19 type: binary apiVersions: - ! @@ -94,22 +124,93 @@ schemas: ! name: binary description: '' protocol: ! {} + - ! &ref_28 + type: binary + apiVersions: + - ! + version: v1 + language: ! + default: + name: binary + description: '' + protocol: ! {} + - ! &ref_36 + type: binary + apiVersions: + - ! + version: v1 + language: ! + default: + name: binary + description: '' + protocol: ! {} + - ! &ref_49 + type: binary + apiVersions: + - ! + version: v1 + language: ! + default: + name: binary + description: '' + protocol: ! {} + - ! &ref_57 + type: binary + apiVersions: + - ! + version: v1 + language: ! + default: + name: binary + description: '' + protocol: ! {} + arrays: + - ! &ref_6 + type: array + apiVersions: + - ! + version: v1 + elementType: *ref_1 + language: ! + default: + name: ArrayOfPost0ItemsItem + description: Array of Post0ItemsItem + protocol: ! {} + - ! &ref_13 + type: array + apiVersions: + - ! + version: v1 + elementType: *ref_2 + language: ! + default: + name: ArrayOfPost1ItemsItem + description: Array of Post1ItemsItem + protocol: ! {} + - ! &ref_48 + type: array + apiVersions: + - ! + version: v1 + elementType: *ref_3 + language: ! + default: + name: ArrayOfString + description: Array of String + protocol: ! {} + - ! &ref_56 + type: array + apiVersions: + - ! + version: v1 + elementType: *ref_4 + language: ! + default: + name: ArrayOfPost2ItemsItem + description: Array of Post2ItemsItem + protocol: ! {} globalParameters: -- ! &ref_3 - schema: *ref_1 - implementation: Client - required: true - extensions: - x-ms-priority: 0 - language: ! - default: - name: ApiVersion - description: Client Api Version. - serializedName: api-version - protocol: ! - http: ! - in: header -- ! &ref_2 +- ! &ref_5 schema: *ref_0 clientDefaultValue: '' implementation: Client @@ -127,15 +228,14 @@ globalParameters: in: uri operationGroups: - ! - $key: '' + $key: HealthApi operations: - ! apiVersions: - ! version: v1 parameters: - - *ref_2 - - *ref_3 + - *ref_5 requests: - ! language: ! @@ -145,7 +245,7 @@ operationGroups: protocol: ! http: ! path: /api/v1/health - method: get + method: head uri: '{$host}' signatureParameters: [] responses: @@ -158,73 +258,47 @@ operationGroups: http: ! statusCodes: - '200' - language: ! - default: - name: GetServiceHealth - description: Check the health of the service - summary: Check the health of the service - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_9 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: The hub is the logic isolation for connections - serializedName: hub - protocol: ! - http: ! - in: path - requests: - - ! - parameters: - - ! - schema: *ref_4 - implementation: Method - origin: 'modelerfour:synthesized/content-type' - required: true - language: ! - default: - name: contentType - description: Upload file type - serializedName: Content-Type - protocol: ! - http: ! - in: header - - ! &ref_6 - schema: *ref_5 - implementation: Method - required: true - language: ! - default: - name: data - description: '' - protocol: ! - http: ! - in: body - style: binary - signatureParameters: - - *ref_6 + - ! language: ! default: name: '' description: '' protocol: ! - http: ! - path: '/ws/api/v1/hubs/{hub}' - method: post - binary: true - knownMediaType: binary - mediaTypes: - - application/octet-stream - uri: '{$host}' + http: ! + statusCodes: + - '503' + language: ! + default: + name: HeadIndex + description: Get service health status. + summary: Get service health status. + protocol: ! {} + language: ! + default: + name: HealthApi + description: '' + protocol: ! {} +- ! + $key: WebSocketConnectionApi + operations: + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_12 + schema: *ref_6 + implementation: Method + language: ! + default: + name: excluded + description: Excluded connection Ids + serializedName: excluded + protocol: ! + http: ! + in: query + requests: - ! parameters: - ! @@ -240,8 +314,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_8 - schema: *ref_0 + - ! &ref_9 + schema: *ref_8 implementation: Method required: true language: ! @@ -253,73 +327,24 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_8 + - *ref_9 language: ! default: name: '' description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}' + path: /ws/api/v1 method: post binary: true - knownMediaType: text + knownMediaType: binary mediaTypes: - - text/plain + - application/octet-stream uri: '{$host}' - signatureParameters: - - *ref_9 - responses: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - statusCodes: - - '200' - language: ! - default: - name: SendToHub - description: Broadcast content inside request body to all the connected connection in the same hub - summary: Broadcast content inside request body to all the connected connection in the same hub - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_13 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_14 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: id - description: The user identity - serializedName: id - protocol: ! - http: ! - in: path - requests: - ! parameters: - ! - schema: *ref_4 + schema: *ref_10 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -332,7 +357,7 @@ operationGroups: http: ! in: header - ! &ref_11 - schema: *ref_10 + schema: *ref_0 implementation: Method required: true language: ! @@ -351,13 +376,70 @@ operationGroups: description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/users/{id}' + path: /ws/api/v1 method: post binary: true - knownMediaType: binary + knownMediaType: text mediaTypes: - - application/octet-stream + - text/plain uri: '{$host}' + signatureParameters: + - *ref_12 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostDefaultHubBroadcast + description: Broadcast content inside request body to all the connected to endpoint "/ws/client" + summary: Broadcast content inside request body to all the connected to endpoint "/ws/client" + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_17 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_18 + schema: *ref_13 + implementation: Method + language: ! + default: + name: excluded + description: Excluded connection Ids + serializedName: excluded + protocol: ! + http: ! + in: query + requests: - ! parameters: - ! @@ -373,8 +455,8 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_12 - schema: *ref_0 + - ! &ref_15 + schema: *ref_14 implementation: Method required: true language: ! @@ -386,74 +468,24 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_12 + - *ref_15 language: ! default: name: '' description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/users/{id}' + path: '/ws/api/v1/hubs/{hub}' method: post binary: true - knownMediaType: text + knownMediaType: binary mediaTypes: - - text/plain + - application/octet-stream uri: '{$host}' - signatureParameters: - - *ref_13 - - *ref_14 - responses: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - statusCodes: - - '200' - language: ! - default: - name: SendToUser - description: Send content inside request body to the specific user - summary: Send content inside request body to the specific user - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_18 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_19 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: connectionId - description: '' - serializedName: connectionId - protocol: ! - http: ! - in: path - requests: - ! parameters: - ! - schema: *ref_4 + schema: *ref_10 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -466,7 +498,7 @@ operationGroups: http: ! in: header - ! &ref_16 - schema: *ref_15 + schema: *ref_0 implementation: Method required: true language: ! @@ -485,13 +517,60 @@ operationGroups: description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + path: '/ws/api/v1/hubs/{hub}' method: post binary: true - knownMediaType: binary + knownMediaType: text mediaTypes: - - application/octet-stream + - text/plain uri: '{$host}' + signatureParameters: + - *ref_17 + - *ref_18 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostBroadcast + description: Broadcast content inside request body to all the connected connections in the same hub. + summary: Broadcast content inside request body to all the connected connections in the same hub. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_22 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: id + description: The user Id. + serializedName: id + protocol: ! + http: ! + in: path + requests: - ! parameters: - ! @@ -507,7 +586,49 @@ operationGroups: protocol: ! http: ! in: header - - ! &ref_17 + - ! &ref_20 + schema: *ref_19 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_20 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/users/{id}' + method: post + binary: true + knownMediaType: binary + mediaTypes: + - application/octet-stream + uri: '{$host}' + - ! + parameters: + - ! + schema: *ref_10 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_21 schema: *ref_0 implementation: Method required: true @@ -520,14 +641,14 @@ operationGroups: in: body style: binary signatureParameters: - - *ref_17 + - *ref_21 language: ! default: name: '' description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + path: '/ws/api/v1/users/{id}' method: post binary: true knownMediaType: text @@ -535,79 +656,6 @@ operationGroups: - text/plain uri: '{$host}' signatureParameters: - - *ref_18 - - *ref_19 - responses: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - statusCodes: - - '200' - language: ! - default: - name: SendToConnection - description: Send content inside request body to the specific connection - summary: Send content inside request body to the specific connection - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_20 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_21 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: connectionId - description: '' - serializedName: connectionId - protocol: ! - http: ! - in: path - - ! &ref_22 - schema: *ref_1 - implementation: Method - language: ! - default: - name: reason - description: '' - serializedName: reason - protocol: ! - http: ! - in: query - requests: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_20 - - *ref_21 - *ref_22 responses: - ! @@ -618,40 +666,49 @@ operationGroups: protocol: ! http: ! statusCodes: - - '200' + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' language: ! default: - name: CloseConnection - description: Close the client connection - summary: Close the client connection + name: PostSendToDefaultHubUser + description: Send content inside request body to the specific user. + summary: Send content inside request body to the specific user. protocol: ! {} - ! apiVersions: - ! version: v1 parameters: - - *ref_2 + - *ref_5 - ! &ref_26 - schema: *ref_1 + schema: *ref_3 implementation: Method required: true language: ! default: name: hub - description: '' + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' serializedName: hub protocol: ! http: ! in: path - ! &ref_27 - schema: *ref_1 + schema: *ref_3 implementation: Method required: true language: ! default: - name: group - description: '' - serializedName: group + name: id + description: The user Id. + serializedName: id protocol: ! http: ! in: path @@ -659,7 +716,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_4 + schema: *ref_7 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -691,7 +748,7 @@ operationGroups: description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/groups/{group}' + path: '/ws/api/v1/hubs/{hub}/users/{id}' method: post binary: true knownMediaType: binary @@ -701,7 +758,7 @@ operationGroups: - ! parameters: - ! - schema: *ref_7 + schema: *ref_10 implementation: Method origin: 'modelerfour:synthesized/content-type' required: true @@ -733,7 +790,7 @@ operationGroups: description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/groups/{group}' + path: '/ws/api/v1/hubs/{hub}/users/{id}' method: post binary: true knownMediaType: text @@ -752,21 +809,501 @@ operationGroups: protocol: ! http: ! statusCodes: - - '200' + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' language: ! default: - name: SendToGroup - description: Send content inside request body to a group of connections - summary: Send content inside request body to a group of connections + name: PostSendToUser + description: Send content inside request body to the specific user. + summary: Send content inside request body to the specific user. protocol: ! {} - ! apiVersions: - ! version: v1 parameters: - - *ref_2 - - ! &ref_28 - schema: *ref_1 + - *ref_5 + - ! &ref_31 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: The connection Id. + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + parameters: + - ! + schema: *ref_7 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_29 + schema: *ref_28 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_29 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/connections/{connectionId}' + method: post + binary: true + knownMediaType: binary + mediaTypes: + - application/octet-stream + uri: '{$host}' + - ! + parameters: + - ! + schema: *ref_10 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_30 + schema: *ref_0 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_30 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/connections/{connectionId}' + method: post + binary: true + knownMediaType: text + mediaTypes: + - text/plain + uri: '{$host}' + signatureParameters: + - *ref_31 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostSendToDefaultHubConnection + description: Send content inside request body to the specific connection. + summary: Send content inside request body to the specific connection. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_32 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/connections/{connectionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_32 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckDefaultHubConnectionExistence + description: Check if the connection with the given connectionId exists + summary: Check if the connection with the given connectionId exists + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_33 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/connections/{connectionId}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_33 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckDefaultHubConnectionExistence + description: Check if the connection with the given connectionId exists + summary: Check if the connection with the given connectionId exists + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_34 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + - ! &ref_35 + schema: *ref_3 + implementation: Method + language: ! + default: + name: reason + description: '' + serializedName: reason + protocol: ! + http: ! + in: query + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/connections/{connectionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_34 + - *ref_35 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: DeleteCloseDefaultHubClientConnection + description: Close the client connection + summary: Close the client connection + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_39 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_40 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: The connection Id. + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + parameters: + - ! + schema: *ref_7 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_37 + schema: *ref_36 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_37 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + method: post + binary: true + knownMediaType: binary + mediaTypes: + - application/octet-stream + uri: '{$host}' + - ! + parameters: + - ! + schema: *ref_10 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_38 + schema: *ref_0 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_38 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + method: post + binary: true + knownMediaType: text + mediaTypes: + - text/plain + uri: '{$host}' + signatureParameters: + - *ref_39 + - *ref_40 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostSendToConnection + description: Send content inside request body to the specific connection. + summary: Send content inside request body to the specific connection. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_41 + schema: *ref_3 implementation: Method required: true language: ! @@ -777,8 +1314,375 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_29 - schema: *ref_1 + - ! &ref_42 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_41 + - *ref_42 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckConnectionExistence + description: Check if the connection with the given connectionId exists + summary: Check if the connection with the given connectionId exists + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_43 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_44 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_43 + - *ref_44 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckConnectionExistence + description: Check if the connection with the given connectionId exists + summary: Check if the connection with the given connectionId exists + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_45 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_46 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: '' + serializedName: connectionId + protocol: ! + http: ! + in: path + - ! &ref_47 + schema: *ref_3 + implementation: Method + language: ! + default: + name: reason + description: '' + serializedName: reason + protocol: ! + http: ! + in: query + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/connections/{connectionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_45 + - *ref_46 + - *ref_47 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: DeleteCloseClientConnection + description: Close the client connection + summary: Close the client connection + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_52 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_53 + schema: *ref_48 + implementation: Method + language: ! + default: + name: excluded + description: Excluded connection Ids + serializedName: excluded + protocol: ! + http: ! + in: query + requests: + - ! + parameters: + - ! + schema: *ref_7 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_50 + schema: *ref_49 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_50 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}' + method: post + binary: true + knownMediaType: binary + mediaTypes: + - application/octet-stream + uri: '{$host}' + - ! + parameters: + - ! + schema: *ref_10 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_51 + schema: *ref_0 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_51 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}' + method: post + binary: true + knownMediaType: text + mediaTypes: + - text/plain + uri: '{$host}' + signatureParameters: + - *ref_52 + - *ref_53 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostDefaultHubGroupBroadcast + description: Send content inside request body to a group of connections. + summary: Send content inside request body to a group of connections. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_54 + schema: *ref_3 implementation: Method required: true language: ! @@ -789,8 +1693,437 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_30 - schema: *ref_1 + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_54 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckDefaultHubGroupExistence + description: Check if there are any client connections inside the given group + summary: Check if there are any client connections inside the given group + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_55 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: '' + serializedName: group + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_55 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckDefaultHubGroupExistence + description: Check if there are any client connections inside the given group + summary: Check if there are any client connections inside the given group + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_60 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_61 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_62 + schema: *ref_56 + implementation: Method + language: ! + default: + name: excluded + description: Excluded connection Ids + serializedName: excluded + protocol: ! + http: ! + in: query + requests: + - ! + parameters: + - ! + schema: *ref_7 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_58 + schema: *ref_57 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_58 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}' + method: post + binary: true + knownMediaType: binary + mediaTypes: + - application/octet-stream + uri: '{$host}' + - ! + parameters: + - ! + schema: *ref_10 + implementation: Method + origin: 'modelerfour:synthesized/content-type' + required: true + language: ! + default: + name: contentType + description: Upload file type + serializedName: Content-Type + protocol: ! + http: ! + in: header + - ! &ref_59 + schema: *ref_0 + implementation: Method + required: true + language: ! + default: + name: data + description: '' + protocol: ! + http: ! + in: body + style: binary + signatureParameters: + - *ref_59 + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}' + method: post + binary: true + knownMediaType: text + mediaTypes: + - text/plain + uri: '{$host}' + signatureParameters: + - *ref_60 + - *ref_61 + - *ref_62 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PostGroupBroadcast + description: Send content inside request body to a group of connections. + summary: Send content inside request body to a group of connections. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_63 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_64 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: '' + serializedName: group + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_63 + - *ref_64 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckGroupExistence + description: Check if there are any client connections inside the given group + summary: Check if there are any client connections inside the given group + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_65 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_66 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: '' + serializedName: group + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_65 + - *ref_66 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckGroupExistence + description: Check if there are any client connections inside the given group + summary: Check if there are any client connections inside the given group + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_67 + schema: *ref_3 implementation: Method required: true language: ! @@ -809,13 +2142,11 @@ operationGroups: description: '' protocol: ! http: ! - path: '/ws/api/v1/hubs/{hub}/groups/{group}/users/{user}' + path: '/ws/api/v1/users/{user}' method: get uri: '{$host}' signatureParameters: - - *ref_28 - - *ref_29 - - *ref_30 + - *ref_67 responses: - ! language: ! @@ -826,44 +2157,38 @@ operationGroups: http: ! statusCodes: - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' language: ! default: - name: GetUserInGroup - description: Check if the user is in the specified group - summary: Check if the user is in the specified group + name: GetCheckDefaultHubUserExistence + description: Check if there are any client connections connected for the given user + summary: Check if there are any client connections connected for the given user protocol: ! {} - ! apiVersions: - ! version: v1 parameters: - - *ref_2 - - ! &ref_32 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_33 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: group - description: '' - serializedName: group - protocol: ! - http: ! - in: path - - ! &ref_34 - schema: *ref_1 + - *ref_5 + - ! &ref_68 + schema: *ref_3 implementation: Method required: true language: ! @@ -874,8 +2199,1144 @@ operationGroups: protocol: ! http: ! in: path - - ! &ref_35 - schema: *ref_31 + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/users/{user}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_68 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckDefaultHubUserExistence + description: Check if there are any client connections connected for the given user + summary: Check if there are any client connections connected for the given user + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_69 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_70 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: Target connection Id + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/connections/{connectionId}' + method: put + uri: '{$host}' + signatureParameters: + - *ref_69 + - *ref_70 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: PutAddConnectionToDefaultHubGroup + description: Add a connection to the target group. + summary: Add a connection to the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_71 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_72 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: Target connection Id + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/connections/{connectionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_71 + - *ref_72 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: DeleteRemoveConnectionFromDefaultHubGroup + description: Remove a connection from the target group. + summary: Remove a connection from the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_73 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_74 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/users/{user}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_73 + - *ref_74 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckUserExistenceInDefaultHubGroup + description: Check whether a user exists in the target group. + summary: Check whether a user exists in the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_75 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_76 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/users/{user}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_75 + - *ref_76 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckUserExistenceInDefaultHubGroup + description: Check whether a user exists in the target group. + summary: Check whether a user exists in the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_78 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_79 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + - ! &ref_80 + schema: *ref_77 + implementation: Method + language: ! + default: + name: ttl + description: 'Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever.' + serializedName: ttl + protocol: ! + http: ! + in: query + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/users/{user}' + method: put + uri: '{$host}' + signatureParameters: + - *ref_78 + - *ref_79 + - *ref_80 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: PutAddUserToDefaultHubGroup + description: Add a user to the target group. + summary: Add a user to the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_81 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_82 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/groups/{group}/users/{user}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_81 + - *ref_82 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: DeleteRemoveUserFromDefaultHubGroup + description: Remove a user from the target group. + summary: Remove a user from the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_83 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/users/{user}/groups' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_83 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + language: ! + default: + name: DeleteRemoveUserFromAllDefaultHubGroups + description: Remove a user from all groups. + summary: Remove a user from all groups. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_84 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_85 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: '' + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/users/{user}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_84 + - *ref_85 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckUserExistence + description: Check if there are any client connections connected for the given user + summary: Check if there are any client connections connected for the given user + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_86 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: '' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_87 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: '' + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/users/{user}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_86 + - *ref_87 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckUserExistence + description: Check if there are any client connections connected for the given user + summary: Check if there are any client connections connected for the given user + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_88 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_89 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_90 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: Target connection Id + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}/connections/{connectionId}' + method: put + uri: '{$host}' + signatureParameters: + - *ref_88 + - *ref_89 + - *ref_90 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: PutAddConnectionToGroup + description: Add a connection to the target group. + summary: Add a connection to the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_91 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_92 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_93 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: connectionId + description: Target connection Id + serializedName: connectionId + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}/connections/{connectionId}' + method: delete + uri: '{$host}' + signatureParameters: + - *ref_91 + - *ref_92 + - *ref_93 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: DeleteRemoveConnectionFromGroup + description: Remove a connection from the target group. + summary: Remove a connection from the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_94 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_95 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_96 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}/users/{user}' + method: get + uri: '{$host}' + signatureParameters: + - *ref_94 + - *ref_95 + - *ref_96 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: GetCheckUserExistenceInGroup + description: Check whether a user exists in the target group. + summary: Check whether a user exists in the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_97 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_98 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_99 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + requests: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + path: '/ws/api/v1/hubs/{hub}/groups/{group}/users/{user}' + method: head + uri: '{$host}' + signatureParameters: + - *ref_97 + - *ref_98 + - *ref_99 + responses: + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '404' + language: ! + default: + name: HeadCheckUserExistenceInGroup + description: Check whether a user exists in the target group. + summary: Check whether a user exists in the target group. + protocol: ! {} + - ! + apiVersions: + - ! + version: v1 + parameters: + - *ref_5 + - ! &ref_100 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: hub + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' + serializedName: hub + protocol: ! + http: ! + in: path + - ! &ref_101 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: group + description: 'Target group name, which length should be greater than 0 and less than 1025.' + serializedName: group + protocol: ! + http: ! + in: path + - ! &ref_102 + schema: *ref_3 + implementation: Method + required: true + language: ! + default: + name: user + description: Target user Id + serializedName: user + protocol: ! + http: ! + in: path + - ! &ref_103 + schema: *ref_77 implementation: Method language: ! default: @@ -897,10 +3358,10 @@ operationGroups: method: put uri: '{$host}' signatureParameters: - - *ref_32 - - *ref_33 - - *ref_34 - - *ref_35 + - *ref_100 + - *ref_101 + - *ref_102 + - *ref_103 responses: - ! language: ! @@ -910,51 +3371,60 @@ operationGroups: protocol: ! http: ! statusCodes: - - '200' + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' language: ! default: - name: AddUserToGroup - description: Add the user to the specified group - summary: Add the user to the specified group + name: PutAddUserToGroup + description: Add a user to the target group. + summary: Add a user to the target group. protocol: ! {} - ! apiVersions: - ! version: v1 parameters: - - *ref_2 - - ! &ref_36 - schema: *ref_1 + - *ref_5 + - ! &ref_104 + schema: *ref_3 implementation: Method required: true language: ! default: name: hub - description: '' + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' serializedName: hub protocol: ! http: ! in: path - - ! &ref_37 - schema: *ref_1 + - ! &ref_105 + schema: *ref_3 implementation: Method required: true language: ! default: name: group - description: '' + description: 'Target group name, which length should be greater than 0 and less than 1025.' serializedName: group protocol: ! http: ! in: path - - ! &ref_38 - schema: *ref_1 + - ! &ref_106 + schema: *ref_3 implementation: Method required: true language: ! default: name: user - description: '' + description: Target user Id serializedName: user protocol: ! http: ! @@ -971,9 +3441,9 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_36 - - *ref_37 - - *ref_38 + - *ref_104 + - *ref_105 + - *ref_106 responses: - ! language: ! @@ -983,71 +3453,7 @@ operationGroups: protocol: ! http: ! statusCodes: - - '200' - language: ! - default: - name: RemoveUserFromGroup - description: Remove all the connections belong to the specified user from the group - summary: Remove all the connections belong to the specified user from the group - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_39 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_40 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: group - description: '' - serializedName: group - protocol: ! - http: ! - in: path - - ! &ref_41 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: connectionId - description: '' - serializedName: connectionId - protocol: ! - http: ! - in: path - requests: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - path: '/ws/api/v1/hubs/{hub}/groups/{group}/connections/{connectionId}' - method: put - uri: '{$host}' - signatureParameters: - - *ref_39 - - *ref_40 - - *ref_41 - responses: + - '202' - ! language: ! default: @@ -1056,112 +3462,39 @@ operationGroups: protocol: ! http: ! statusCodes: - - '200' + - '400' language: ! default: - name: AddConnectionToGroup - description: Add the connection to the group - summary: Add the connection to the group + name: DeleteRemoveUserFromGroup + description: Remove a user from the target group. + summary: Remove a user from the target group. protocol: ! {} - ! apiVersions: - ! version: v1 parameters: - - *ref_2 - - ! &ref_42 - schema: *ref_1 + - *ref_5 + - ! &ref_107 + schema: *ref_3 implementation: Method required: true language: ! default: name: hub - description: '' + description: 'Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.' serializedName: hub protocol: ! http: ! in: path - - ! &ref_43 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: group - description: '' - serializedName: group - protocol: ! - http: ! - in: path - - ! &ref_44 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: connectionId - description: '' - serializedName: connectionId - protocol: ! - http: ! - in: path - requests: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - path: '/ws/api/v1/hubs/{hub}/groups/{group}/connections/{connectionId}' - method: delete - uri: '{$host}' - signatureParameters: - - *ref_42 - - *ref_43 - - *ref_44 - responses: - - ! - language: ! - default: - name: '' - description: '' - protocol: ! - http: ! - statusCodes: - - '200' - language: ! - default: - name: RemoveConnectionToGroup - description: Remove the connection from the group - summary: Remove the connection from the group - protocol: ! {} - - ! - apiVersions: - - ! - version: v1 - parameters: - - *ref_2 - - ! &ref_45 - schema: *ref_1 - implementation: Method - required: true - language: ! - default: - name: hub - description: '' - serializedName: hub - protocol: ! - http: ! - in: path - - ! &ref_46 - schema: *ref_1 + - ! &ref_108 + schema: *ref_3 implementation: Method required: true language: ! default: name: user - description: '' + description: Target user Id serializedName: user protocol: ! http: ! @@ -1178,8 +3511,8 @@ operationGroups: method: delete uri: '{$host}' signatureParameters: - - *ref_45 - - *ref_46 + - *ref_107 + - *ref_108 responses: - ! language: ! @@ -1190,22 +3523,40 @@ operationGroups: http: ! statusCodes: - '200' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '202' + - ! + language: ! + default: + name: '' + description: '' + protocol: ! + http: ! + statusCodes: + - '400' language: ! default: - name: RemoveAllUserGroups - description: Remove the user from all groups - summary: Remove the user from all groups + name: DeleteRemoveUserFromAllGroups + description: Remove a user from all groups. + summary: Remove a user from all groups. protocol: ! {} language: ! default: - name: '' + name: WebSocketConnectionApi description: '' protocol: ! {} security: ! - authenticationRequired: false + authenticationRequired: true language: ! default: - name: AzureSignalRServerlessWebSocket + name: AzureWebSocketServiceRestAPI description: '' protocol: ! http: ! {} diff --git a/samples/SignalR/SignalR/Generated/HealthApiClient.cs b/samples/SignalR/SignalR/Generated/HealthApiClient.cs new file mode 100644 index 00000000..77a954f5 --- /dev/null +++ b/samples/SignalR/SignalR/Generated/HealthApiClient.cs @@ -0,0 +1,68 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core.Pipeline; + +namespace SignalR +{ + /// The HealthApi service client. + public partial class HealthApiClient + { + private readonly ClientDiagnostics _clientDiagnostics; + private readonly HttpPipeline _pipeline; + internal HealthApiRestClient RestClient { get; } + /// Initializes a new instance of HealthApiClient for mocking. + protected HealthApiClient() + { + } + /// Initializes a new instance of HealthApiClient. + internal HealthApiClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "") + { + RestClient = new HealthApiRestClient(clientDiagnostics, pipeline, host); + _clientDiagnostics = clientDiagnostics; + _pipeline = pipeline; + } + + /// Get service health status. + /// The cancellation token to use. + public virtual async Task HeadIndexAsync(CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("HealthApiClient.HeadIndex"); + scope.Start(); + try + { + return await RestClient.HeadIndexAsync(cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Get service health status. + /// The cancellation token to use. + public virtual Response HeadIndex(CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("HealthApiClient.HeadIndex"); + scope.Start(); + try + { + return RestClient.HeadIndex(cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + } +} diff --git a/samples/SignalR/SignalR/Generated/HealthApiRestClient.cs b/samples/SignalR/SignalR/Generated/HealthApiRestClient.cs new file mode 100644 index 00000000..1572b32e --- /dev/null +++ b/samples/SignalR/SignalR/Generated/HealthApiRestClient.cs @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.Core.Pipeline; + +namespace SignalR +{ + internal partial class HealthApiRestClient + { + private string host; + private ClientDiagnostics _clientDiagnostics; + private HttpPipeline _pipeline; + + /// Initializes a new instance of HealthApiRestClient. + public HealthApiRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "") + { + if (host == null) + { + throw new ArgumentNullException(nameof(host)); + } + + this.host = host; + _clientDiagnostics = clientDiagnostics; + _pipeline = pipeline; + } + + internal HttpMessage CreateHeadIndexRequest() + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/api/v1/health", false); + request.Uri = uri; + return message; + } + + /// Get service health status. + /// The cancellation token to use. + public async ValueTask HeadIndexAsync(CancellationToken cancellationToken = default) + { + using var message = CreateHeadIndexRequest(); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 503: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Get service health status. + /// The cancellation token to use. + public Response HeadIndex(CancellationToken cancellationToken = default) + { + using var message = CreateHeadIndexRequest(); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 503: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + } +} diff --git a/samples/SignalR/SignalR/Generated/ServiceClient.cs b/samples/SignalR/SignalR/Generated/ServiceClient.cs deleted file mode 100644 index 9d14a9af..00000000 --- a/samples/SignalR/SignalR/Generated/ServiceClient.cs +++ /dev/null @@ -1,665 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -// - -#nullable disable - -using System; -using System.IO; -using System.Threading; -using System.Threading.Tasks; -using Azure; -using Azure.Core.Pipeline; - -namespace SignalR -{ - /// The Service service client. - public partial class ServiceClient - { - private readonly ClientDiagnostics _clientDiagnostics; - private readonly HttpPipeline _pipeline; - internal ServiceRestClient RestClient { get; } - /// Initializes a new instance of ServiceClient for mocking. - protected ServiceClient() - { - } - /// Initializes a new instance of ServiceClient. - internal ServiceClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion, string host = "") - { - RestClient = new ServiceRestClient(clientDiagnostics, pipeline, apiVersion, host); - _clientDiagnostics = clientDiagnostics; - _pipeline = pipeline; - } - - /// Check the health of the service. - /// The cancellation token to use. - public virtual async Task GetServiceHealthAsync(CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetServiceHealth"); - scope.Start(); - try - { - return await RestClient.GetServiceHealthAsync(cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Check the health of the service. - /// The cancellation token to use. - public virtual Response GetServiceHealth(CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetServiceHealth"); - scope.Start(); - try - { - return RestClient.GetServiceHealth(cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The binary to use. - /// The cancellation token to use. - public virtual async Task SendToHubAsync(string hub, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToHub"); - scope.Start(); - try - { - return await RestClient.SendToHubAsync(hub, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The binary to use. - /// The cancellation token to use. - public virtual Response SendToHub(string hub, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToHub"); - scope.Start(); - try - { - return RestClient.SendToHub(hub, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The String to use. - /// The cancellation token to use. - public virtual async Task SendToHubAsync(string hub, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToHub"); - scope.Start(); - try - { - return await RestClient.SendToHubAsync(hub, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The String to use. - /// The cancellation token to use. - public virtual Response SendToHub(string hub, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToHub"); - scope.Start(); - try - { - return RestClient.SendToHub(hub, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The binary to use. - /// The cancellation token to use. - public virtual async Task SendToUserAsync(string hub, string id, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToUser"); - scope.Start(); - try - { - return await RestClient.SendToUserAsync(hub, id, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The binary to use. - /// The cancellation token to use. - public virtual Response SendToUser(string hub, string id, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToUser"); - scope.Start(); - try - { - return RestClient.SendToUser(hub, id, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The String to use. - /// The cancellation token to use. - public virtual async Task SendToUserAsync(string hub, string id, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToUser"); - scope.Start(); - try - { - return await RestClient.SendToUserAsync(hub, id, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The String to use. - /// The cancellation token to use. - public virtual Response SendToUser(string hub, string id, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToUser"); - scope.Start(); - try - { - return RestClient.SendToUser(hub, id, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public virtual async Task SendToConnectionAsync(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToConnection"); - scope.Start(); - try - { - return await RestClient.SendToConnectionAsync(hub, connectionId, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public virtual Response SendToConnection(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToConnection"); - scope.Start(); - try - { - return RestClient.SendToConnection(hub, connectionId, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task SendToConnectionAsync(string hub, string connectionId, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToConnection"); - scope.Start(); - try - { - return await RestClient.SendToConnectionAsync(hub, connectionId, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response SendToConnection(string hub, string connectionId, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToConnection"); - scope.Start(); - try - { - return RestClient.SendToConnection(hub, connectionId, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Close the client connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task CloseConnectionAsync(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.CloseConnection"); - scope.Start(); - try - { - return await RestClient.CloseConnectionAsync(hub, connectionId, reason, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Close the client connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response CloseConnection(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.CloseConnection"); - scope.Start(); - try - { - return RestClient.CloseConnection(hub, connectionId, reason, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public virtual async Task SendToGroupAsync(string hub, string group, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToGroup"); - scope.Start(); - try - { - return await RestClient.SendToGroupAsync(hub, group, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public virtual Response SendToGroup(string hub, string group, Stream data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToGroup"); - scope.Start(); - try - { - return RestClient.SendToGroup(hub, group, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task SendToGroupAsync(string hub, string group, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToGroup"); - scope.Start(); - try - { - return await RestClient.SendToGroupAsync(hub, group, data, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response SendToGroup(string hub, string group, string data, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.SendToGroup"); - scope.Start(); - try - { - return RestClient.SendToGroup(hub, group, data, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Check if the user is in the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task GetUserInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetUserInGroup"); - scope.Start(); - try - { - return await RestClient.GetUserInGroupAsync(hub, group, user, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Check if the user is in the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response GetUserInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.GetUserInGroup"); - scope.Start(); - try - { - return RestClient.GetUserInGroup(hub, group, user, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Add the user to the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. - /// The cancellation token to use. - public virtual async Task AddUserToGroupAsync(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.AddUserToGroup"); - scope.Start(); - try - { - return await RestClient.AddUserToGroupAsync(hub, group, user, ttl, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Add the user to the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. - /// The cancellation token to use. - public virtual Response AddUserToGroup(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.AddUserToGroup"); - scope.Start(); - try - { - return RestClient.AddUserToGroup(hub, group, user, ttl, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove all the connections belong to the specified user from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task RemoveUserFromGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveUserFromGroup"); - scope.Start(); - try - { - return await RestClient.RemoveUserFromGroupAsync(hub, group, user, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove all the connections belong to the specified user from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response RemoveUserFromGroup(string hub, string group, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveUserFromGroup"); - scope.Start(); - try - { - return RestClient.RemoveUserFromGroup(hub, group, user, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Add the connection to the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task AddConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.AddConnectionToGroup"); - scope.Start(); - try - { - return await RestClient.AddConnectionToGroupAsync(hub, group, connectionId, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Add the connection to the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response AddConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.AddConnectionToGroup"); - scope.Start(); - try - { - return RestClient.AddConnectionToGroup(hub, group, connectionId, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove the connection from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task RemoveConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveConnectionToGroup"); - scope.Start(); - try - { - return await RestClient.RemoveConnectionToGroupAsync(hub, group, connectionId, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove the connection from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response RemoveConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveConnectionToGroup"); - scope.Start(); - try - { - return RestClient.RemoveConnectionToGroup(hub, group, connectionId, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove the user from all groups. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual async Task RemoveAllUserGroupsAsync(string hub, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveAllUserGroups"); - scope.Start(); - try - { - return await RestClient.RemoveAllUserGroupsAsync(hub, user, cancellationToken).ConfigureAwait(false); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - - /// Remove the user from all groups. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public virtual Response RemoveAllUserGroups(string hub, string user, CancellationToken cancellationToken = default) - { - using var scope = _clientDiagnostics.CreateScope("ServiceClient.RemoveAllUserGroups"); - scope.Start(); - try - { - return RestClient.RemoveAllUserGroups(hub, user, cancellationToken); - } - catch (Exception e) - { - scope.Failed(e); - throw; - } - } - } -} diff --git a/samples/SignalR/SignalR/Generated/ServiceRestClient.cs b/samples/SignalR/SignalR/Generated/ServiceRestClient.cs deleted file mode 100644 index 84eafce2..00000000 --- a/samples/SignalR/SignalR/Generated/ServiceRestClient.cs +++ /dev/null @@ -1,1236 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -// - -#nullable disable - -using System; -using System.IO; -using System.Threading; -using System.Threading.Tasks; -using Azure; -using Azure.Core; -using Azure.Core.Pipeline; - -namespace SignalR -{ - internal partial class ServiceRestClient - { - private string apiVersion; - private string host; - private ClientDiagnostics _clientDiagnostics; - private HttpPipeline _pipeline; - - /// Initializes a new instance of ServiceRestClient. - public ServiceRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string apiVersion, string host = "") - { - if (apiVersion == null) - { - throw new ArgumentNullException(nameof(apiVersion)); - } - if (host == null) - { - throw new ArgumentNullException(nameof(host)); - } - - this.apiVersion = apiVersion; - this.host = host; - _clientDiagnostics = clientDiagnostics; - _pipeline = pipeline; - } - - internal HttpMessage CreateGetServiceHealthRequest() - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Get; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/api/v1/health", false); - request.Uri = uri; - request.Headers.Add("api-version", apiVersion); - return message; - } - - /// Check the health of the service. - /// The cancellation token to use. - public async ValueTask GetServiceHealthAsync(CancellationToken cancellationToken = default) - { - using var message = CreateGetServiceHealthRequest(); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Check the health of the service. - /// The cancellation token to use. - public Response GetServiceHealth(CancellationToken cancellationToken = default) - { - using var message = CreateGetServiceHealthRequest(); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToHubRequest(string hub, Stream data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "application/octet-stream"); - request.Content = RequestContent.Create(data); - return message; - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The binary to use. - /// The cancellation token to use. - public async ValueTask SendToHubAsync(string hub, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToHubRequest(hub, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The binary to use. - /// The cancellation token to use. - public Response SendToHub(string hub, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToHubRequest(hub, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToHubRequest(string hub, string data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "text/plain"); - request.Content = new StringRequestContent(data); - return message; - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The String to use. - /// The cancellation token to use. - public async ValueTask SendToHubAsync(string hub, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToHubRequest(hub, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Broadcast content inside request body to all the connected connection in the same hub. - /// The hub is the logic isolation for connections. - /// The String to use. - /// The cancellation token to use. - public Response SendToHub(string hub, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToHubRequest(hub, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToUserRequest(string hub, string id, Stream data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/users/", false); - uri.AppendPath(id, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "application/octet-stream"); - request.Content = RequestContent.Create(data); - return message; - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The binary to use. - /// The cancellation token to use. - public async ValueTask SendToUserAsync(string hub, string id, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (id == null) - { - throw new ArgumentNullException(nameof(id)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToUserRequest(hub, id, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The binary to use. - /// The cancellation token to use. - public Response SendToUser(string hub, string id, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (id == null) - { - throw new ArgumentNullException(nameof(id)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToUserRequest(hub, id, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToUserRequest(string hub, string id, string data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/users/", false); - uri.AppendPath(id, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "text/plain"); - request.Content = new StringRequestContent(data); - return message; - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The String to use. - /// The cancellation token to use. - public async ValueTask SendToUserAsync(string hub, string id, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (id == null) - { - throw new ArgumentNullException(nameof(id)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToUserRequest(hub, id, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to the specific user. - /// The String to use. - /// The user identity. - /// The String to use. - /// The cancellation token to use. - public Response SendToUser(string hub, string id, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (id == null) - { - throw new ArgumentNullException(nameof(id)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToUserRequest(hub, id, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToConnectionRequest(string hub, string connectionId, Stream data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/connections/", false); - uri.AppendPath(connectionId, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "application/octet-stream"); - request.Content = RequestContent.Create(data); - return message; - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public async ValueTask SendToConnectionAsync(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToConnectionRequest(hub, connectionId, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public Response SendToConnection(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToConnectionRequest(hub, connectionId, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToConnectionRequest(string hub, string connectionId, string data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/connections/", false); - uri.AppendPath(connectionId, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "text/plain"); - request.Content = new StringRequestContent(data); - return message; - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask SendToConnectionAsync(string hub, string connectionId, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToConnectionRequest(hub, connectionId, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to the specific connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response SendToConnection(string hub, string connectionId, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToConnectionRequest(hub, connectionId, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateCloseConnectionRequest(string hub, string connectionId, string reason) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Delete; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/connections/", false); - uri.AppendPath(connectionId, true); - if (reason != null) - { - uri.AppendQuery("reason", reason, true); - } - request.Uri = uri; - return message; - } - - /// Close the client connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask CloseConnectionAsync(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateCloseConnectionRequest(hub, connectionId, reason); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Close the client connection. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response CloseConnection(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateCloseConnectionRequest(hub, connectionId, reason); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToGroupRequest(string hub, string group, Stream data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "application/octet-stream"); - request.Content = RequestContent.Create(data); - return message; - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public async ValueTask SendToGroupAsync(string hub, string group, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToGroupRequest(hub, group, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The binary to use. - /// The cancellation token to use. - public Response SendToGroup(string hub, string group, Stream data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToGroupRequest(hub, group, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateSendToGroupRequest(string hub, string group, string data) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Post; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - request.Uri = uri; - request.Headers.Add("Content-Type", "text/plain"); - request.Content = new StringRequestContent(data); - return message; - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask SendToGroupAsync(string hub, string group, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToGroupRequest(hub, group, data); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Send content inside request body to a group of connections. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response SendToGroup(string hub, string group, string data, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (data == null) - { - throw new ArgumentNullException(nameof(data)); - } - - using var message = CreateSendToGroupRequest(hub, group, data); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateGetUserInGroupRequest(string hub, string group, string user) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Get; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - uri.AppendPath("/users/", false); - uri.AppendPath(user, true); - request.Uri = uri; - return message; - } - - /// Check if the user is in the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask GetUserInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateGetUserInGroupRequest(hub, group, user); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Check if the user is in the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response GetUserInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateGetUserInGroupRequest(hub, group, user); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateAddUserToGroupRequest(string hub, string group, string user, int? ttl) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Put; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - uri.AppendPath("/users/", false); - uri.AppendPath(user, true); - if (ttl != null) - { - uri.AppendQuery("ttl", ttl.Value, true); - } - request.Uri = uri; - return message; - } - - /// Add the user to the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. - /// The cancellation token to use. - public async ValueTask AddUserToGroupAsync(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateAddUserToGroupRequest(hub, group, user, ttl); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Add the user to the specified group. - /// The String to use. - /// The String to use. - /// The String to use. - /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. - /// The cancellation token to use. - public Response AddUserToGroup(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateAddUserToGroupRequest(hub, group, user, ttl); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateRemoveUserFromGroupRequest(string hub, string group, string user) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Delete; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - uri.AppendPath("/users/", false); - uri.AppendPath(user, true); - request.Uri = uri; - return message; - } - - /// Remove all the connections belong to the specified user from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask RemoveUserFromGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateRemoveUserFromGroupRequest(hub, group, user); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Remove all the connections belong to the specified user from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response RemoveUserFromGroup(string hub, string group, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateRemoveUserFromGroupRequest(hub, group, user); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateAddConnectionToGroupRequest(string hub, string group, string connectionId) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Put; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - uri.AppendPath("/connections/", false); - uri.AppendPath(connectionId, true); - request.Uri = uri; - return message; - } - - /// Add the connection to the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask AddConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateAddConnectionToGroupRequest(hub, group, connectionId); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Add the connection to the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response AddConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateAddConnectionToGroupRequest(hub, group, connectionId); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateRemoveConnectionToGroupRequest(string hub, string group, string connectionId) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Delete; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/groups/", false); - uri.AppendPath(group, true); - uri.AppendPath("/connections/", false); - uri.AppendPath(connectionId, true); - request.Uri = uri; - return message; - } - - /// Remove the connection from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask RemoveConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateRemoveConnectionToGroupRequest(hub, group, connectionId); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Remove the connection from the group. - /// The String to use. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response RemoveConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (group == null) - { - throw new ArgumentNullException(nameof(group)); - } - if (connectionId == null) - { - throw new ArgumentNullException(nameof(connectionId)); - } - - using var message = CreateRemoveConnectionToGroupRequest(hub, group, connectionId); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - - internal HttpMessage CreateRemoveAllUserGroupsRequest(string hub, string user) - { - var message = _pipeline.CreateMessage(); - var request = message.Request; - request.Method = RequestMethod.Delete; - var uri = new RawRequestUriBuilder(); - uri.AppendRaw(host, false); - uri.AppendPath("/ws/api/v1/hubs/", false); - uri.AppendPath(hub, true); - uri.AppendPath("/users/", false); - uri.AppendPath(user, true); - uri.AppendPath("/groups", false); - request.Uri = uri; - return message; - } - - /// Remove the user from all groups. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public async ValueTask RemoveAllUserGroupsAsync(string hub, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateRemoveAllUserGroupsRequest(hub, user); - await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); - } - } - - /// Remove the user from all groups. - /// The String to use. - /// The String to use. - /// The cancellation token to use. - public Response RemoveAllUserGroups(string hub, string user, CancellationToken cancellationToken = default) - { - if (hub == null) - { - throw new ArgumentNullException(nameof(hub)); - } - if (user == null) - { - throw new ArgumentNullException(nameof(user)); - } - - using var message = CreateRemoveAllUserGroupsRequest(hub, user); - _pipeline.Send(message, cancellationToken); - switch (message.Response.Status) - { - case 200: - return message.Response; - default: - throw _clientDiagnostics.CreateRequestFailedException(message.Response); - } - } - } -} diff --git a/samples/SignalR/SignalR/Generated/WebSocketConnectionApiClient.cs b/samples/SignalR/SignalR/Generated/WebSocketConnectionApiClient.cs new file mode 100644 index 00000000..fda05f86 --- /dev/null +++ b/samples/SignalR/SignalR/Generated/WebSocketConnectionApiClient.cs @@ -0,0 +1,1736 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core.Pipeline; + +namespace SignalR +{ + /// The WebSocketConnectionApi service client. + public partial class WebSocketConnectionApiClient + { + private readonly ClientDiagnostics _clientDiagnostics; + private readonly HttpPipeline _pipeline; + internal WebSocketConnectionApiRestClient RestClient { get; } + /// Initializes a new instance of WebSocketConnectionApiClient for mocking. + protected WebSocketConnectionApiClient() + { + } + /// Initializes a new instance of WebSocketConnectionApiClient. + internal WebSocketConnectionApiClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "") + { + RestClient = new WebSocketConnectionApiRestClient(clientDiagnostics, pipeline, host); + _clientDiagnostics = clientDiagnostics; + _pipeline = pipeline; + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostDefaultHubBroadcastAsync(Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubBroadcast"); + scope.Start(); + try + { + return await RestClient.PostDefaultHubBroadcastAsync(data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostDefaultHubBroadcast(Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubBroadcast"); + scope.Start(); + try + { + return RestClient.PostDefaultHubBroadcast(data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostDefaultHubBroadcastAsync(string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubBroadcast"); + scope.Start(); + try + { + return await RestClient.PostDefaultHubBroadcastAsync(data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostDefaultHubBroadcast(string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubBroadcast"); + scope.Start(); + try + { + return RestClient.PostDefaultHubBroadcast(data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostBroadcastAsync(string hub, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostBroadcast"); + scope.Start(); + try + { + return await RestClient.PostBroadcastAsync(hub, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostBroadcast(string hub, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostBroadcast"); + scope.Start(); + try + { + return RestClient.PostBroadcast(hub, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostBroadcastAsync(string hub, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostBroadcast"); + scope.Start(); + try + { + return await RestClient.PostBroadcastAsync(hub, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostBroadcast(string hub, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostBroadcast"); + scope.Start(); + try + { + return RestClient.PostBroadcast(hub, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public virtual async Task PostSendToDefaultHubUserAsync(string id, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubUser"); + scope.Start(); + try + { + return await RestClient.PostSendToDefaultHubUserAsync(id, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public virtual Response PostSendToDefaultHubUser(string id, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubUser"); + scope.Start(); + try + { + return RestClient.PostSendToDefaultHubUser(id, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public virtual async Task PostSendToDefaultHubUserAsync(string id, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubUser"); + scope.Start(); + try + { + return await RestClient.PostSendToDefaultHubUserAsync(id, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public virtual Response PostSendToDefaultHubUser(string id, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubUser"); + scope.Start(); + try + { + return RestClient.PostSendToDefaultHubUser(id, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public virtual async Task PostSendToUserAsync(string hub, string id, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToUser"); + scope.Start(); + try + { + return await RestClient.PostSendToUserAsync(hub, id, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public virtual Response PostSendToUser(string hub, string id, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToUser"); + scope.Start(); + try + { + return RestClient.PostSendToUser(hub, id, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public virtual async Task PostSendToUserAsync(string hub, string id, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToUser"); + scope.Start(); + try + { + return await RestClient.PostSendToUserAsync(hub, id, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public virtual Response PostSendToUser(string hub, string id, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToUser"); + scope.Start(); + try + { + return RestClient.PostSendToUser(hub, id, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public virtual async Task PostSendToDefaultHubConnectionAsync(string connectionId, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubConnection"); + scope.Start(); + try + { + return await RestClient.PostSendToDefaultHubConnectionAsync(connectionId, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public virtual Response PostSendToDefaultHubConnection(string connectionId, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubConnection"); + scope.Start(); + try + { + return RestClient.PostSendToDefaultHubConnection(connectionId, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public virtual async Task PostSendToDefaultHubConnectionAsync(string connectionId, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubConnection"); + scope.Start(); + try + { + return await RestClient.PostSendToDefaultHubConnectionAsync(connectionId, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public virtual Response PostSendToDefaultHubConnection(string connectionId, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToDefaultHubConnection"); + scope.Start(); + try + { + return RestClient.PostSendToDefaultHubConnection(connectionId, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckDefaultHubConnectionExistenceAsync(string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubConnectionExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckDefaultHubConnectionExistenceAsync(connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckDefaultHubConnectionExistence(string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubConnectionExistence"); + scope.Start(); + try + { + return RestClient.GetCheckDefaultHubConnectionExistence(connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckDefaultHubConnectionExistenceAsync(string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubConnectionExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckDefaultHubConnectionExistenceAsync(connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckDefaultHubConnectionExistence(string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubConnectionExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckDefaultHubConnectionExistence(connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task DeleteCloseDefaultHubClientConnectionAsync(string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteCloseDefaultHubClientConnection"); + scope.Start(); + try + { + return await RestClient.DeleteCloseDefaultHubClientConnectionAsync(connectionId, reason, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response DeleteCloseDefaultHubClientConnection(string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteCloseDefaultHubClientConnection"); + scope.Start(); + try + { + return RestClient.DeleteCloseDefaultHubClientConnection(connectionId, reason, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public virtual async Task PostSendToConnectionAsync(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToConnection"); + scope.Start(); + try + { + return await RestClient.PostSendToConnectionAsync(hub, connectionId, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public virtual Response PostSendToConnection(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToConnection"); + scope.Start(); + try + { + return RestClient.PostSendToConnection(hub, connectionId, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public virtual async Task PostSendToConnectionAsync(string hub, string connectionId, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToConnection"); + scope.Start(); + try + { + return await RestClient.PostSendToConnectionAsync(hub, connectionId, data, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public virtual Response PostSendToConnection(string hub, string connectionId, string data, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostSendToConnection"); + scope.Start(); + try + { + return RestClient.PostSendToConnection(hub, connectionId, data, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckConnectionExistenceAsync(string hub, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckConnectionExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckConnectionExistenceAsync(hub, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckConnectionExistence(string hub, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckConnectionExistence"); + scope.Start(); + try + { + return RestClient.GetCheckConnectionExistence(hub, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckConnectionExistenceAsync(string hub, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckConnectionExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckConnectionExistenceAsync(hub, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckConnectionExistence(string hub, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckConnectionExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckConnectionExistence(hub, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task DeleteCloseClientConnectionAsync(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteCloseClientConnection"); + scope.Start(); + try + { + return await RestClient.DeleteCloseClientConnectionAsync(hub, connectionId, reason, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response DeleteCloseClientConnection(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteCloseClientConnection"); + scope.Start(); + try + { + return RestClient.DeleteCloseClientConnection(hub, connectionId, reason, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostDefaultHubGroupBroadcastAsync(string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubGroupBroadcast"); + scope.Start(); + try + { + return await RestClient.PostDefaultHubGroupBroadcastAsync(group, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostDefaultHubGroupBroadcast(string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubGroupBroadcast"); + scope.Start(); + try + { + return RestClient.PostDefaultHubGroupBroadcast(group, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostDefaultHubGroupBroadcastAsync(string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubGroupBroadcast"); + scope.Start(); + try + { + return await RestClient.PostDefaultHubGroupBroadcastAsync(group, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostDefaultHubGroupBroadcast(string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostDefaultHubGroupBroadcast"); + scope.Start(); + try + { + return RestClient.PostDefaultHubGroupBroadcast(group, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckDefaultHubGroupExistenceAsync(string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubGroupExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckDefaultHubGroupExistenceAsync(group, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckDefaultHubGroupExistence(string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubGroupExistence"); + scope.Start(); + try + { + return RestClient.GetCheckDefaultHubGroupExistence(group, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckDefaultHubGroupExistenceAsync(string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubGroupExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckDefaultHubGroupExistenceAsync(group, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckDefaultHubGroupExistence(string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubGroupExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckDefaultHubGroupExistence(group, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostGroupBroadcastAsync(string hub, string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostGroupBroadcast"); + scope.Start(); + try + { + return await RestClient.PostGroupBroadcastAsync(hub, group, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostGroupBroadcast(string hub, string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostGroupBroadcast"); + scope.Start(); + try + { + return RestClient.PostGroupBroadcast(hub, group, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual async Task PostGroupBroadcastAsync(string hub, string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostGroupBroadcast"); + scope.Start(); + try + { + return await RestClient.PostGroupBroadcastAsync(hub, group, data, excluded, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public virtual Response PostGroupBroadcast(string hub, string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PostGroupBroadcast"); + scope.Start(); + try + { + return RestClient.PostGroupBroadcast(hub, group, data, excluded, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckGroupExistenceAsync(string hub, string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckGroupExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckGroupExistenceAsync(hub, group, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckGroupExistence(string hub, string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckGroupExistence"); + scope.Start(); + try + { + return RestClient.GetCheckGroupExistence(hub, group, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckGroupExistenceAsync(string hub, string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckGroupExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckGroupExistenceAsync(hub, group, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckGroupExistence(string hub, string group, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckGroupExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckGroupExistence(hub, group, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckDefaultHubUserExistenceAsync(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubUserExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckDefaultHubUserExistenceAsync(user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckDefaultHubUserExistence(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckDefaultHubUserExistence"); + scope.Start(); + try + { + return RestClient.GetCheckDefaultHubUserExistence(user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckDefaultHubUserExistenceAsync(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubUserExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckDefaultHubUserExistenceAsync(user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckDefaultHubUserExistence(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckDefaultHubUserExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckDefaultHubUserExistence(user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a connection to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual async Task PutAddConnectionToDefaultHubGroupAsync(string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddConnectionToDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.PutAddConnectionToDefaultHubGroupAsync(group, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a connection to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual Response PutAddConnectionToDefaultHubGroup(string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddConnectionToDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.PutAddConnectionToDefaultHubGroup(group, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a connection from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveConnectionFromDefaultHubGroupAsync(string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveConnectionFromDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveConnectionFromDefaultHubGroupAsync(group, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a connection from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveConnectionFromDefaultHubGroup(string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveConnectionFromDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.DeleteRemoveConnectionFromDefaultHubGroup(group, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task GetCheckUserExistenceInDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistenceInDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.GetCheckUserExistenceInDefaultHubGroupAsync(group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response GetCheckUserExistenceInDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistenceInDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.GetCheckUserExistenceInDefaultHubGroup(group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task HeadCheckUserExistenceInDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistenceInDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.HeadCheckUserExistenceInDefaultHubGroupAsync(group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response HeadCheckUserExistenceInDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistenceInDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.HeadCheckUserExistenceInDefaultHubGroup(group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a user to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public virtual async Task PutAddUserToDefaultHubGroupAsync(string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddUserToDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.PutAddUserToDefaultHubGroupAsync(group, user, ttl, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a user to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public virtual Response PutAddUserToDefaultHubGroup(string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddUserToDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.PutAddUserToDefaultHubGroup(group, user, ttl, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveUserFromDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromDefaultHubGroup"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveUserFromDefaultHubGroupAsync(group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveUserFromDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromDefaultHubGroup"); + scope.Start(); + try + { + return RestClient.DeleteRemoveUserFromDefaultHubGroup(group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from all groups. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveUserFromAllDefaultHubGroupsAsync(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromAllDefaultHubGroups"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveUserFromAllDefaultHubGroupsAsync(user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from all groups. + /// Target user Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveUserFromAllDefaultHubGroups(string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromAllDefaultHubGroups"); + scope.Start(); + try + { + return RestClient.DeleteRemoveUserFromAllDefaultHubGroups(user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task GetCheckUserExistenceAsync(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistence"); + scope.Start(); + try + { + return await RestClient.GetCheckUserExistenceAsync(hub, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response GetCheckUserExistence(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistence"); + scope.Start(); + try + { + return RestClient.GetCheckUserExistence(hub, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual async Task HeadCheckUserExistenceAsync(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistence"); + scope.Start(); + try + { + return await RestClient.HeadCheckUserExistenceAsync(hub, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public virtual Response HeadCheckUserExistence(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistence"); + scope.Start(); + try + { + return RestClient.HeadCheckUserExistence(hub, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a connection to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual async Task PutAddConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddConnectionToGroup"); + scope.Start(); + try + { + return await RestClient.PutAddConnectionToGroupAsync(hub, group, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a connection to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual Response PutAddConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddConnectionToGroup"); + scope.Start(); + try + { + return RestClient.PutAddConnectionToGroup(hub, group, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a connection from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveConnectionFromGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveConnectionFromGroup"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveConnectionFromGroupAsync(hub, group, connectionId, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a connection from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveConnectionFromGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveConnectionFromGroup"); + scope.Start(); + try + { + return RestClient.DeleteRemoveConnectionFromGroup(hub, group, connectionId, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task GetCheckUserExistenceInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistenceInGroup"); + scope.Start(); + try + { + return await RestClient.GetCheckUserExistenceInGroupAsync(hub, group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response GetCheckUserExistenceInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.GetCheckUserExistenceInGroup"); + scope.Start(); + try + { + return RestClient.GetCheckUserExistenceInGroup(hub, group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task HeadCheckUserExistenceInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistenceInGroup"); + scope.Start(); + try + { + return await RestClient.HeadCheckUserExistenceInGroupAsync(hub, group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response HeadCheckUserExistenceInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.HeadCheckUserExistenceInGroup"); + scope.Start(); + try + { + return RestClient.HeadCheckUserExistenceInGroup(hub, group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a user to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public virtual async Task PutAddUserToGroupAsync(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddUserToGroup"); + scope.Start(); + try + { + return await RestClient.PutAddUserToGroupAsync(hub, group, user, ttl, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Add a user to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public virtual Response PutAddUserToGroup(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.PutAddUserToGroup"); + scope.Start(); + try + { + return RestClient.PutAddUserToGroup(hub, group, user, ttl, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveUserFromGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromGroup"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveUserFromGroupAsync(hub, group, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveUserFromGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromGroup"); + scope.Start(); + try + { + return RestClient.DeleteRemoveUserFromGroup(hub, group, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from all groups. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target user Id. + /// The cancellation token to use. + public virtual async Task DeleteRemoveUserFromAllGroupsAsync(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromAllGroups"); + scope.Start(); + try + { + return await RestClient.DeleteRemoveUserFromAllGroupsAsync(hub, user, cancellationToken).ConfigureAwait(false); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + + /// Remove a user from all groups. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target user Id. + /// The cancellation token to use. + public virtual Response DeleteRemoveUserFromAllGroups(string hub, string user, CancellationToken cancellationToken = default) + { + using var scope = _clientDiagnostics.CreateScope("WebSocketConnectionApiClient.DeleteRemoveUserFromAllGroups"); + scope.Start(); + try + { + return RestClient.DeleteRemoveUserFromAllGroups(hub, user, cancellationToken); + } + catch (Exception e) + { + scope.Failed(e); + throw; + } + } + } +} diff --git a/samples/SignalR/SignalR/Generated/WebSocketConnectionApiRestClient.cs b/samples/SignalR/SignalR/Generated/WebSocketConnectionApiRestClient.cs new file mode 100644 index 00000000..94dfbd51 --- /dev/null +++ b/samples/SignalR/SignalR/Generated/WebSocketConnectionApiRestClient.cs @@ -0,0 +1,3218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Azure; +using Azure.Core; +using Azure.Core.Pipeline; + +namespace SignalR +{ + internal partial class WebSocketConnectionApiRestClient + { + private string host; + private ClientDiagnostics _clientDiagnostics; + private HttpPipeline _pipeline; + + /// Initializes a new instance of WebSocketConnectionApiRestClient. + public WebSocketConnectionApiRestClient(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, string host = "") + { + if (host == null) + { + throw new ArgumentNullException(nameof(host)); + } + + this.host = host; + _clientDiagnostics = clientDiagnostics; + _pipeline = pipeline; + } + + internal HttpMessage CreatePostDefaultHubBroadcastRequest(Stream data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1", false); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostDefaultHubBroadcastAsync(Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubBroadcastRequest(data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostDefaultHubBroadcast(Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubBroadcastRequest(data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostDefaultHubBroadcastRequest(string data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1", false); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostDefaultHubBroadcastAsync(string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubBroadcastRequest(data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Broadcast content inside request body to all the connected to endpoint "/ws/client". + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostDefaultHubBroadcast(string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubBroadcastRequest(data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostBroadcastRequest(string hub, Stream data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostBroadcastAsync(string hub, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostBroadcastRequest(hub, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostBroadcast(string hub, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostBroadcastRequest(hub, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostBroadcastRequest(string hub, string data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostBroadcastAsync(string hub, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostBroadcastRequest(hub, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Broadcast content inside request body to all the connected connections in the same hub. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostBroadcast(string hub, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostBroadcastRequest(hub, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToDefaultHubUserRequest(string id, Stream data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/users/", false); + uri.AppendPath(id, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public async ValueTask PostSendToDefaultHubUserAsync(string id, Stream data, CancellationToken cancellationToken = default) + { + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubUserRequest(id, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public Response PostSendToDefaultHubUser(string id, Stream data, CancellationToken cancellationToken = default) + { + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubUserRequest(id, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToDefaultHubUserRequest(string id, string data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/users/", false); + uri.AppendPath(id, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public async ValueTask PostSendToDefaultHubUserAsync(string id, string data, CancellationToken cancellationToken = default) + { + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubUserRequest(id, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific user. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public Response PostSendToDefaultHubUser(string id, string data, CancellationToken cancellationToken = default) + { + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubUserRequest(id, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToUserRequest(string hub, string id, Stream data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/users/", false); + uri.AppendPath(id, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public async ValueTask PostSendToUserAsync(string hub, string id, Stream data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToUserRequest(hub, id, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The binary to use. + /// The cancellation token to use. + public Response PostSendToUser(string hub, string id, Stream data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToUserRequest(hub, id, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToUserRequest(string hub, string id, string data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/users/", false); + uri.AppendPath(id, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public async ValueTask PostSendToUserAsync(string hub, string id, string data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToUserRequest(hub, id, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific user. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The user Id. + /// The String to use. + /// The cancellation token to use. + public Response PostSendToUser(string hub, string id, string data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (id == null) + { + throw new ArgumentNullException(nameof(id)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToUserRequest(hub, id, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToDefaultHubConnectionRequest(string connectionId, Stream data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public async ValueTask PostSendToDefaultHubConnectionAsync(string connectionId, Stream data, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubConnectionRequest(connectionId, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public Response PostSendToDefaultHubConnection(string connectionId, Stream data, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubConnectionRequest(connectionId, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToDefaultHubConnectionRequest(string connectionId, string data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public async ValueTask PostSendToDefaultHubConnectionAsync(string connectionId, string data, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubConnectionRequest(connectionId, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific connection. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public Response PostSendToDefaultHubConnection(string connectionId, string data, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToDefaultHubConnectionRequest(connectionId, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckDefaultHubConnectionExistenceRequest(string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckDefaultHubConnectionExistenceAsync(string connectionId, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateGetCheckDefaultHubConnectionExistenceRequest(connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckDefaultHubConnectionExistence(string connectionId, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateGetCheckDefaultHubConnectionExistenceRequest(connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckDefaultHubConnectionExistenceRequest(string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckDefaultHubConnectionExistenceAsync(string connectionId, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateHeadCheckDefaultHubConnectionExistenceRequest(connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckDefaultHubConnectionExistence(string connectionId, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateHeadCheckDefaultHubConnectionExistenceRequest(connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteCloseDefaultHubClientConnectionRequest(string connectionId, string reason) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/connections/", false); + uri.AppendPath(connectionId, true); + if (reason != null) + { + uri.AppendQuery("reason", reason, true); + } + request.Uri = uri; + return message; + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask DeleteCloseDefaultHubClientConnectionAsync(string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteCloseDefaultHubClientConnectionRequest(connectionId, reason); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response DeleteCloseDefaultHubClientConnection(string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteCloseDefaultHubClientConnectionRequest(connectionId, reason); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToConnectionRequest(string hub, string connectionId, Stream data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public async ValueTask PostSendToConnectionAsync(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToConnectionRequest(hub, connectionId, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The binary to use. + /// The cancellation token to use. + public Response PostSendToConnection(string hub, string connectionId, Stream data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToConnectionRequest(hub, connectionId, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostSendToConnectionRequest(string hub, string connectionId, string data) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public async ValueTask PostSendToConnectionAsync(string hub, string connectionId, string data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToConnectionRequest(hub, connectionId, data); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to the specific connection. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// The connection Id. + /// The String to use. + /// The cancellation token to use. + public Response PostSendToConnection(string hub, string connectionId, string data, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostSendToConnectionRequest(hub, connectionId, data); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckConnectionExistenceRequest(string hub, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckConnectionExistenceAsync(string hub, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateGetCheckConnectionExistenceRequest(hub, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckConnectionExistence(string hub, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateGetCheckConnectionExistenceRequest(hub, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckConnectionExistenceRequest(string hub, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckConnectionExistenceAsync(string hub, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateHeadCheckConnectionExistenceRequest(hub, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if the connection with the given connectionId exists. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckConnectionExistence(string hub, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateHeadCheckConnectionExistenceRequest(hub, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteCloseClientConnectionRequest(string hub, string connectionId, string reason) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + if (reason != null) + { + uri.AppendQuery("reason", reason, true); + } + request.Uri = uri; + return message; + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask DeleteCloseClientConnectionAsync(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteCloseClientConnectionRequest(hub, connectionId, reason); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Close the client connection. + /// The String to use. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response DeleteCloseClientConnection(string hub, string connectionId, string reason = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteCloseClientConnectionRequest(hub, connectionId, reason); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostDefaultHubGroupBroadcastRequest(string group, Stream data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostDefaultHubGroupBroadcastAsync(string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubGroupBroadcastRequest(group, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostDefaultHubGroupBroadcast(string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubGroupBroadcastRequest(group, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostDefaultHubGroupBroadcastRequest(string group, string data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostDefaultHubGroupBroadcastAsync(string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubGroupBroadcastRequest(group, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to a group of connections. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostDefaultHubGroupBroadcast(string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostDefaultHubGroupBroadcastRequest(group, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckDefaultHubGroupExistenceRequest(string group) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckDefaultHubGroupExistenceAsync(string group, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateGetCheckDefaultHubGroupExistenceRequest(group); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckDefaultHubGroupExistence(string group, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateGetCheckDefaultHubGroupExistenceRequest(group); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckDefaultHubGroupExistenceRequest(string group) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckDefaultHubGroupExistenceAsync(string group, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateHeadCheckDefaultHubGroupExistenceRequest(group); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckDefaultHubGroupExistence(string group, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateHeadCheckDefaultHubGroupExistenceRequest(group); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostGroupBroadcastRequest(string hub, string group, Stream data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "application/octet-stream"); + request.Content = RequestContent.Create(data); + return message; + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostGroupBroadcastAsync(string hub, string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostGroupBroadcastRequest(hub, group, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The binary to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostGroupBroadcast(string hub, string group, Stream data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostGroupBroadcastRequest(hub, group, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePostGroupBroadcastRequest(string hub, string group, string data, IEnumerable excluded) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Post; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + if (excluded != null) + { + uri.AppendQueryDelimited("excluded", excluded, ",", true); + } + request.Uri = uri; + request.Headers.Add("Content-Type", "text/plain"); + request.Content = new StringRequestContent(data); + return message; + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public async ValueTask PostGroupBroadcastAsync(string hub, string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostGroupBroadcastRequest(hub, group, data, excluded); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Send content inside request body to a group of connections. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// The String to use. + /// Excluded connection Ids. + /// The cancellation token to use. + public Response PostGroupBroadcast(string hub, string group, string data, IEnumerable excluded = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (data == null) + { + throw new ArgumentNullException(nameof(data)); + } + + using var message = CreatePostGroupBroadcastRequest(hub, group, data, excluded); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckGroupExistenceRequest(string hub, string group) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckGroupExistenceAsync(string hub, string group, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateGetCheckGroupExistenceRequest(hub, group); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckGroupExistence(string hub, string group, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateGetCheckGroupExistenceRequest(hub, group); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckGroupExistenceRequest(string hub, string group) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckGroupExistenceAsync(string hub, string group, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateHeadCheckGroupExistenceRequest(hub, group); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections inside the given group. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckGroupExistence(string hub, string group, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + using var message = CreateHeadCheckGroupExistenceRequest(hub, group); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckDefaultHubUserExistenceRequest(string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckDefaultHubUserExistenceAsync(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckDefaultHubUserExistenceRequest(user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckDefaultHubUserExistence(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckDefaultHubUserExistenceRequest(user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckDefaultHubUserExistenceRequest(string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckDefaultHubUserExistenceAsync(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckDefaultHubUserExistenceRequest(user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckDefaultHubUserExistence(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckDefaultHubUserExistenceRequest(user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePutAddConnectionToDefaultHubGroupRequest(string group, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Put; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Add a connection to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public async ValueTask PutAddConnectionToDefaultHubGroupAsync(string group, string connectionId, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreatePutAddConnectionToDefaultHubGroupRequest(group, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Add a connection to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public Response PutAddConnectionToDefaultHubGroup(string group, string connectionId, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreatePutAddConnectionToDefaultHubGroupRequest(group, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveConnectionFromDefaultHubGroupRequest(string group, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Remove a connection from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveConnectionFromDefaultHubGroupAsync(string group, string connectionId, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteRemoveConnectionFromDefaultHubGroupRequest(group, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a connection from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public Response DeleteRemoveConnectionFromDefaultHubGroup(string group, string connectionId, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteRemoveConnectionFromDefaultHubGroupRequest(group, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckUserExistenceInDefaultHubGroupRequest(string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask GetCheckUserExistenceInDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceInDefaultHubGroupRequest(group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response GetCheckUserExistenceInDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceInDefaultHubGroupRequest(group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckUserExistenceInDefaultHubGroupRequest(string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask HeadCheckUserExistenceInDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceInDefaultHubGroupRequest(group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check whether a user exists in the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response HeadCheckUserExistenceInDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceInDefaultHubGroupRequest(group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePutAddUserToDefaultHubGroupRequest(string group, string user, int? ttl) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Put; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + if (ttl != null) + { + uri.AppendQuery("ttl", ttl.Value, true); + } + request.Uri = uri; + return message; + } + + /// Add a user to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public async ValueTask PutAddUserToDefaultHubGroupAsync(string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreatePutAddUserToDefaultHubGroupRequest(group, user, ttl); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Add a user to the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public Response PutAddUserToDefaultHubGroup(string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreatePutAddUserToDefaultHubGroupRequest(group, user, ttl); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveUserFromDefaultHubGroupRequest(string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Remove a user from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveUserFromDefaultHubGroupAsync(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromDefaultHubGroupRequest(group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a user from the target group. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response DeleteRemoveUserFromDefaultHubGroup(string group, string user, CancellationToken cancellationToken = default) + { + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromDefaultHubGroupRequest(group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveUserFromAllDefaultHubGroupsRequest(string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/users/", false); + uri.AppendPath(user, true); + uri.AppendPath("/groups", false); + request.Uri = uri; + return message; + } + + /// Remove a user from all groups. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveUserFromAllDefaultHubGroupsAsync(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromAllDefaultHubGroupsRequest(user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a user from all groups. + /// Target user Id. + /// The cancellation token to use. + public Response DeleteRemoveUserFromAllDefaultHubGroups(string user, CancellationToken cancellationToken = default) + { + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromAllDefaultHubGroupsRequest(user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckUserExistenceRequest(string hub, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask GetCheckUserExistenceAsync(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceRequest(hub, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response GetCheckUserExistence(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceRequest(hub, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckUserExistenceRequest(string hub, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public async ValueTask HeadCheckUserExistenceAsync(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceRequest(hub, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check if there are any client connections connected for the given user. + /// The String to use. + /// The String to use. + /// The cancellation token to use. + public Response HeadCheckUserExistence(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceRequest(hub, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePutAddConnectionToGroupRequest(string hub, string group, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Put; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Add a connection to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public async ValueTask PutAddConnectionToGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreatePutAddConnectionToGroupRequest(hub, group, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Add a connection to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public Response PutAddConnectionToGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreatePutAddConnectionToGroupRequest(hub, group, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveConnectionFromGroupRequest(string hub, string group, string connectionId) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/connections/", false); + uri.AppendPath(connectionId, true); + request.Uri = uri; + return message; + } + + /// Remove a connection from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveConnectionFromGroupAsync(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteRemoveConnectionFromGroupRequest(hub, group, connectionId); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a connection from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target connection Id. + /// The cancellation token to use. + public Response DeleteRemoveConnectionFromGroup(string hub, string group, string connectionId, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (connectionId == null) + { + throw new ArgumentNullException(nameof(connectionId)); + } + + using var message = CreateDeleteRemoveConnectionFromGroupRequest(hub, group, connectionId); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateGetCheckUserExistenceInGroupRequest(string hub, string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Get; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask GetCheckUserExistenceInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceInGroupRequest(hub, group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response GetCheckUserExistenceInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateGetCheckUserExistenceInGroupRequest(hub, group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateHeadCheckUserExistenceInGroupRequest(string hub, string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Head; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask HeadCheckUserExistenceInGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceInGroupRequest(hub, group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Check whether a user exists in the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response HeadCheckUserExistenceInGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateHeadCheckUserExistenceInGroupRequest(hub, group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 400: + case 404: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreatePutAddUserToGroupRequest(string hub, string group, string user, int? ttl) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Put; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + if (ttl != null) + { + uri.AppendQuery("ttl", ttl.Value, true); + } + request.Uri = uri; + return message; + } + + /// Add a user to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public async ValueTask PutAddUserToGroupAsync(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreatePutAddUserToGroupRequest(hub, group, user, ttl); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Add a user to the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// Specifies the seconds that the user exists in the group. If not set, the user lives in the group forever. + /// The cancellation token to use. + public Response PutAddUserToGroup(string hub, string group, string user, int? ttl = null, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreatePutAddUserToGroupRequest(hub, group, user, ttl); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveUserFromGroupRequest(string hub, string group, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/groups/", false); + uri.AppendPath(group, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + request.Uri = uri; + return message; + } + + /// Remove a user from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveUserFromGroupAsync(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromGroupRequest(hub, group, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a user from the target group. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target group name, which length should be greater than 0 and less than 1025. + /// Target user Id. + /// The cancellation token to use. + public Response DeleteRemoveUserFromGroup(string hub, string group, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (group == null) + { + throw new ArgumentNullException(nameof(group)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromGroupRequest(hub, group, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + + internal HttpMessage CreateDeleteRemoveUserFromAllGroupsRequest(string hub, string user) + { + var message = _pipeline.CreateMessage(); + var request = message.Request; + request.Method = RequestMethod.Delete; + var uri = new RawRequestUriBuilder(); + uri.AppendRaw(host, false); + uri.AppendPath("/ws/api/v1/hubs/", false); + uri.AppendPath(hub, true); + uri.AppendPath("/users/", false); + uri.AppendPath(user, true); + uri.AppendPath("/groups", false); + request.Uri = uri; + return message; + } + + /// Remove a user from all groups. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target user Id. + /// The cancellation token to use. + public async ValueTask DeleteRemoveUserFromAllGroupsAsync(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromAllGroupsRequest(hub, user); + await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); + switch (message.Response.Status) + { + case 200: + case 202: + case 400: + return message.Response; + default: + throw await _clientDiagnostics.CreateRequestFailedExceptionAsync(message.Response).ConfigureAwait(false); + } + } + + /// Remove a user from all groups. + /// Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore. + /// Target user Id. + /// The cancellation token to use. + public Response DeleteRemoveUserFromAllGroups(string hub, string user, CancellationToken cancellationToken = default) + { + if (hub == null) + { + throw new ArgumentNullException(nameof(hub)); + } + if (user == null) + { + throw new ArgumentNullException(nameof(user)); + } + + using var message = CreateDeleteRemoveUserFromAllGroupsRequest(hub, user); + _pipeline.Send(message, cancellationToken); + switch (message.Response.Status) + { + case 200: + case 202: + case 400: + return message.Response; + default: + throw _clientDiagnostics.CreateRequestFailedException(message.Response); + } + } + } +} diff --git a/samples/SignalR/readme.md b/samples/SignalR/readme.md index 6a7b87c1..fd59c8a0 100644 --- a/samples/SignalR/readme.md +++ b/samples/SignalR/readme.md @@ -4,6 +4,6 @@ ``` yaml require: $(this-folder)/../../readme.md -input-file: https://gist.githubusercontent.com/bterlson/459b56c039f1d750d0d53a35d64d93fe/raw/b9dc50a7ea0789f4a86e2f377bc4c19aa1bee2ac/swagga.json +input-file: https://github.com/Azure/azure-signalr-vnext-features/blob/560450a34e56f48ef43ffa3959d04642677965ff/serverless-websocket/specs/ws.swagger.json namespace: Azure.SignalR -``` \ No newline at end of file +``` diff --git a/samples/UpdateSamples.ps1 b/samples/UpdateSamples.ps1 new file mode 100644 index 00000000..533eab0a --- /dev/null +++ b/samples/UpdateSamples.ps1 @@ -0,0 +1,32 @@ +$gitHubUrl = 'https://github.com' +$files = Get-ChildItem -Directory $PSScriptRoot | Get-ChildItem -File -Filter 'readme.md' +foreach($file in $files) +{ + $fileContent = Get-Content $file + $branch = ($fileContent | Where-Object { $_ -like '*branch:*' } | Select-Object -First 1) -Split ':' | Select-Object -Last 1 + $updatedLines = foreach($line in $fileContent) + { + if($line -like "*$gitHubUrl*") + { + $lineSplit = $line -Split '/' + $blobIndex = $lineSplit.IndexOf('blob') + $oldHash = $lineSplit[($blobIndex + 1)] + + $org = $lineSplit[($blobIndex - 2)] + $repo = $lineSplit[($blobIndex - 1)] + $gitLink = "$gitHubUrl/$org/$repo.git" + $branchList = (git ls-remote $gitLink) + if($branch) + { + $branchList = $branchList | Where-Object { $_ -like "*$branch*" } + } + $latestHash = ($branchList | Select-Object -First 1) -Split '\s+' | Select-Object -First 1 + $line -Replace $oldHash, $latestHash + } + else + { + $line + } + } + $updatedLines | Out-File -FilePath $file.FullName +} \ No newline at end of file