diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json new file mode 100644 index 000000000000..45e170a5e3f1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json @@ -0,0 +1,640 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListIpFilterRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIPFilterRuleListAll.json" + } + }, + "description": "Gets a list of IP Filter rules for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule successfully returned.", + "schema": { + "$ref": "#/definitions/IpFilterRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleCreate": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/ipFilterRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "The Namespace IpFilterRule." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule created", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleDelete": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleDelete.json" + } + }, + "description": "Deletes an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/ipFilterRuleNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_GetIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleGet": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleGet.json" + } + }, + "description": "Gets an IpFilterRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/ipFilterRuleNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule returned successfully.", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "ErrorResponse": { + "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "IpFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Accept", + "Reject" + ], + "x-ms-enum": { + "name": "IPAction", + "modelAsString": true + } + }, + "filterName": { + "type": "string", + "description": "IP Filter name" + } + }, + "description": "Properties supplied to create or update IpFilterRules" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Single item in a List or Get IpFilterRules operation" + }, + "IpFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "Result of the List IpFilter Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" + } + }, + "description": "The response from the List namespace operation." + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "namespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "skuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "skipParameter": { + "name": "$skip", + "description": "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "topParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "ipFilterRuleNameParameter": { + "name": "ipFilterRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The IP Filter Rule name." + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json new file mode 100644 index 000000000000..087e2cb8f1e2 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json @@ -0,0 +1,616 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleSetget": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "VirtualNetworkRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "virtualNetworkSubnetId": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied to create or update VirtualNetworkRules" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Single item in a List or Get VirtualNetworkRules operation" + }, + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "ErrorResponse": { + "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "VirtualNetworkRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Result of the List VirtualNetwork Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" + } + }, + "description": "The response from the List namespace operation." + }, + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied for Subnet" + }, + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + } + } + }, + "description": "The response from the List namespace operation." + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing Vnet Service Endpoint" + } + }, + "description": "The response from the List namespace operation." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Description of topic resource." + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "namespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "skuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "skipParameter": { + "name": "$skip", + "description": "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "topParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "virtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json new file mode 100644 index 000000000000..83715e2b3b1c --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json @@ -0,0 +1,734 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListVirtualNetworkRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleListAll.json" + } + }, + "description": "Gets a list of VirtualNetwork rules for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule successfully returned.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/virtualNetworkRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The Namespace VirtualNetworkRule." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule created", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleDelete": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleDelete.json" + } + }, + "description": "Deletes an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/virtualNetworkRuleNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_GetVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleGet.json" + } + }, + "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/virtualNetworkRuleNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule returned successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "OperationListResult": { + "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + }, + "ErrorResponse": { + "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "IpFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Accept", + "Reject" + ], + "x-ms-enum": { + "name": "IPAction", + "modelAsString": true + } + }, + "filterName": { + "type": "string", + "description": "IP Filter name" + } + }, + "description": "Properties supplied to create or update IpFilterRules" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Single item in a List or Get IpFilterRules operation" + }, + "IpFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "Result of the List IpFilter Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" + } + }, + "description": "The response from the List namespace operation." + }, + "VirtualNetworkRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "virtualNetworkSubnetId": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied to create or update VirtualNetworkRules" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Single item in a List or Get VirtualNetworkRules operation" + }, + "VirtualNetworkRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Result of the List VirtualNetwork Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" + } + }, + "description": "The response from the List namespace operation." + }, + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied for Subnet" + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "namespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "skuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "skipParameter": { + "name": "$skip", + "description": "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "topParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "virtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json new file mode 100644 index 000000000000..269027f8f206 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json @@ -0,0 +1,697 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_List", + "x-ms-examples": { + "NameSpaceList": { + "$ref": "./examples/NameSpaces/SBNameSpaceList.json" + } + }, + "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListByResourceGroup", + "x-ms-examples": { + "NameSpaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" + } + }, + "description": "Gets the available namespaces within a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdate", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" + } + }, + "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Parameters supplied to create a namespace resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace created successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Delete", + "x-ms-examples": { + "NameSpaceDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully deleted." + }, + "202": { + "description": "Namespace delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Get", + "x-ms-examples": { + "NameSpaceGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" + } + }, + "description": "Gets a description for the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Update", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" + } + }, + "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/namespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespaceUpdateParameters" + }, + "description": "Parameters supplied to update a namespace resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace updated successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The Geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "ErrorResponse": { + "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "namespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "skuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "skipParameter": { + "name": "$skip", + "description": "Skip is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "topParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + } + } +} \ No newline at end of file diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json new file mode 100644 index 000000000000..be1a5f824e47 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json @@ -0,0 +1,165 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ServiceBus/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/SBOperations_List.json" + } + }, + "description": "Lists all of the available ServiceBus REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + }, + "ErrorResponse": { + "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + } + } +} \ No newline at end of file