From 25f52686b23d5355dfe79f4820b71a0886e4c3c9 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Mon, 7 Jun 2021 12:40:51 -0700 Subject: [PATCH 01/27] The previous version in the 2021-08-1 folder --- .../2021-07-01/examples/getFeature.json | 21 + .../examples/listFeaturesOperations.json | 30 ++ .../examples/listProviderFeatures.json | 32 ++ .../examples/listSubscriptionFeatures.json | 31 ++ .../2021-07-01/examples/registerFeature.json | 21 + .../examples/unregisterFeature.json | 21 + .../stable/2021-07-01/features.json | 382 ++++++++++++++++++ 7 files changed, 538 insertions(+) create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json new file mode 100644 index 000000000000..0a0a1a60e8a5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceProviderNamespace": "Resource Provider Namespace", + "featureName": "feature", + "api-version": "2015-12-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "Feature1", + "properties": { + "state": "registered" + }, + "id": "feature_id1", + "type": "type1" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json new file mode 100644 index 000000000000..30a224e78db3 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2015-12-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "FeaturesOpeartion1", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1", + "operation": "Read" + } + }, + { + "name": "FeaturesOpeartion2", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2", + "operation": "Write" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json new file mode 100644 index 000000000000..7fa87645ed64 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceProviderNamespace": "Resource Provider Namespace", + "api-version": "2015-12-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Feature1", + "properties": { + "state": "registered" + }, + "id": "feature_id1", + "type": "type1" + }, + { + "name": "Feature2", + "properties": { + "state": "unregistered" + }, + "id": "feature_id2", + "type": "type2" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json new file mode 100644 index 000000000000..237ef8e0f1a9 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2015-12-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Feature1", + "properties": { + "state": "registered" + }, + "id": "feature_id1", + "type": "type1" + }, + { + "name": "Feature2", + "properties": { + "state": "unregistered" + }, + "id": "feature_id2", + "type": "type2" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json new file mode 100644 index 000000000000..0a0a1a60e8a5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceProviderNamespace": "Resource Provider Namespace", + "featureName": "feature", + "api-version": "2015-12-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "Feature1", + "properties": { + "state": "registered" + }, + "id": "feature_id1", + "type": "type1" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json new file mode 100644 index 000000000000..dc44a62c04ee --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceProviderNamespace": "Resource Provider Namespace", + "featureName": "feature", + "api-version": "2015-12-01", + "subscriptionId": "ff23096b-f5a2-46ea-bd62-59c3e93fef9a" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "Feature1", + "properties": { + "state": "unregistered" + }, + "id": "/subscriptions/ff23096b-f5a2-46ea-bd62-59c3e93fef9a/providers/Microsoft.Features/providers/Microsoft.Test/features/Feature1", + "type": "Microsoft.Features/providers/features" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json new file mode 100644 index 000000000000..92d52d602189 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "title": "FeatureClient", + "version": "2015-12-01", + "description": "Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new features prior to making them generally available. Users need to explicitly register for AFEC features to get access to such functionality." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/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.Features/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "ListOperations", + "description": "Lists all of the available Microsoft.Features REST API operations.", + "x-ms-examples": { + "List Features operations": { + "$ref": "./examples/listFeaturesOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/features": { + "get": { + "tags": [ + "Features" + ], + "operationId": "Features_ListAll", + "description": "Gets all the preview features that are available through AFEC for the subscription.", + "x-ms-examples": { + "List subscription Features": { + "$ref": "./examples/listSubscriptionFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array containing metadata for each feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureOperationsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features": { + "get": { + "tags": [ + "Features" + ], + "operationId": "Features_List", + "description": "Gets all the preview features in a provider namespace that are available through AFEC for the subscription.", + "x-ms-examples": { + "List provider Features": { + "$ref": "./examples/listProviderFeatures.json" + } + }, + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider for getting features." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array containing metadata for each feature in the resource provider. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureOperationsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}": { + "get": { + "tags": [ + "Features" + ], + "operationId": "Features_Get", + "description": "Gets the preview feature with the specified name.", + "x-ms-examples": { + "Get feature": { + "$ref": "./examples/getFeature.json" + } + }, + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The resource provider namespace for the feature." + }, + { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the feature to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns metadata about the feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register": { + "post": { + "tags": [ + "Features" + ], + "operationId": "Features_Register", + "description": "Registers the preview feature for the subscription.", + "x-ms-examples": { + "Register feature": { + "$ref": "./examples/registerFeature.json" + } + }, + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the feature to register." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns metadata about the registered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/unregister": { + "post": { + "tags": [ + "Features" + ], + "operationId": "Features_Unregister", + "description": "Unregisters the preview feature for the subscription.", + "x-ms-examples": { + "Register feature": { + "$ref": "./examples/unregisterFeature.json" + } + }, + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the feature to unregister." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns metadata about the unregistered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureResult" + } + } + } + } + } + }, + "definitions": { + "FeatureProperties": { + "properties": { + "state": { + "type": "string", + "description": "The registration state of the feature for the subscription." + } + }, + "description": "Information about feature." + }, + "FeatureResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the feature." + }, + "properties": { + "$ref": "#/definitions/FeatureProperties", + "description": "Properties of the previewed feature." + }, + "id": { + "type": "string", + "description": "The resource ID of the feature." + }, + "type": { + "type": "string", + "description": "The resource type of the feature." + } + }, + "description": "Previewed feature information." + }, + "FeatureOperationsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FeatureResult" + }, + "description": "The array of features." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of previewed features." + }, + "Operation": { + "description": "Microsoft.Features operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Features", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Features operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Features operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + } + } +} From 887733a14c26de83ba749bd0f2c50cb58694f548 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Mon, 7 Jun 2021 15:31:54 -0700 Subject: [PATCH 02/27] Add new feature registration apis --- .../2021-07-01/FeatureConfigurations.json | 618 +++++++++++++++++ .../SubscriptionFeatureRegistration.json | 619 ++++++++++++++++++ .../FeatureConfigurationDELETE.json | 11 + .../FeatureConfigurationGET.json | 21 + .../FeatureConfigurationLIST.json | 25 + .../FeatureConfigurationPOST.json | 29 + .../FeatureConfigurationPUT.json | 28 + ...SubscriptionFeatureRegistrationDELETE.json | 12 + .../SubscriptionFeatureRegistrationGET.json | 27 + .../SubscriptionFeatureRegistrationLIST.json | 31 + ...ubscriptionFeatureRegistrationLISTALL.json | 30 + .../SubscriptionFeatureRegistrationPOST.json | 31 + .../SubscriptionFeatureRegistrationPUT.json | 30 + .../stable/2021-07-01/features.json | 2 +- .../resources/resource-manager/readme.md | 11 +- 15 files changed, 1523 insertions(+), 2 deletions(-) create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json create mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json new file mode 100644 index 000000000000..33431454078a --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json @@ -0,0 +1,618 @@ +{ + "swagger": "2.0", + "info": { + "title": "FeatureManagementClient", + "description": "Feature provider", + "version": "2021-07-01" + }, + "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.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations/{featureName}": { + "get": { + "description": "Returns a feature configuration", + "operationId": "FeatureConfigurations_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + } + ], + "responses": { + "200": { + "description": "Feature Configuration.", + "schema": { + "$ref": "#/definitions/FeatureConfiguration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a feature registration": { + "$ref": "./examples/FeatureConfiguration/FeatureConfigurationGET.json" + } + } + }, + "put": { + "description": "Create or update a feature configuration.", + "operationId": "FeatureConfigurations_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + }, + { + "name": "FeatureConfiguration", + "description": "Feature Configuration details.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/FeatureConfiguration" + } + } + ], + "responses": { + "200": { + "description": "The feature configuration is created or updated successfully.", + "schema": { + "$ref": "#/definitions/FeatureConfiguration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates a feature registration": { + "$ref": "./examples/FeatureConfiguration/FeatureConfigurationPUT.json" + } + } + }, + "delete": { + "description": "Deletes a feature configuration", + "operationId": "FeatureConfigurations_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + } + ], + "responses": { + "200": { + "description": "The feature configuration has been deleted successfully." + }, + "204": { + "description": "The feature configuration has been deleted already." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a feature registration": { + "$ref": "./examples/FeatureConfiguration/FeatureConfigurationDELETE.json" + } + } + } + }, + "/providers/Microsoft.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations/{featureName}/{actionName}": { + "post": { + "description": "Action on a feature configuration.", + "operationId": "SubscriptionFeatureConfigurations_Action", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + }, + { + "$ref": "#/parameters/ActionNameParameter" + }, + { + "name": "SubscriptionFeatureRegistrationType", + "description": "Subscription Feature Registration Type details.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + } + ], + "responses": { + "200": { + "description": "The feature configuration is updated successfully.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Action on a feature registration": { + "$ref": "./examples/FeatureConfiguration/FeatureConfigurationPOST.json" + } + } + } + }, + "/providers/Microsoft.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations": { + "get": { + "description": "Returns feature configurations for given provider namespace.", + "operationId": "FeatureConfigurations_ListByProviderNamespace", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + } + ], + "responses": { + "200": { + "description": "Feature Configurations.", + "schema": { + "$ref": "#/definitions/FeatureConfigurationList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of feature registrations": { + "$ref": "./examples/FeatureConfiguration/FeatureConfigurationLIST.json" + } + } + } + } + }, + "definitions": { + "ProxyResource": { + "description": "An Azure proxy resource.", + "properties": { + "id": { + "description": "Azure resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Azure resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Azure resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "FeatureConfiguration": { + "type": "object", + "description": "Feature configuration details", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state." + }, + "providerNamespace": { + "type": "string", + "readOnly": true, + "description": "The provider namespace." + }, + "featureName": { + "type": "string", + "readOnly": true, + "description": "The feature name." + }, + "displayName": { + "type": "string", + "description": "The featureDisplayName." + }, + "featureNotes": { + "type": "string", + "description": "The featureNotes." + }, + "ownerEmails": { + "type": "string", + "description": "The ownerEmails." + }, + "featureScope": { + "description": "The featureScope.", + "enum": [ + "Subscription", + "Tenant" + ], + "x-ms-enum": { + "name": "FeatureConfigurationFeatureScope", + "modelAsString": true + } + }, + "featureRequiredClaims": { + "type": "string", + "description": "The featureRequiredClaims." + }, + "description": { + "type": "string", + "maxLength": 1000, + "description": "The feature description." + }, + "allowedTenantIds": { + "type": "string", + "maxLength": 1000, + "description": "The feature whitelist tenant ids." + }, + "documentationLink": { + "type": "string", + "maxLength": 1000, + "description": "The feature documentation link." + }, + "shouldFeatureDisplayInPortal": { + "type": "boolean", + "default": false, + "description": "Indicates whether feature should be displayed in Portal." + }, + "shouldFeatureUnregistrationRequiresApproval": { + "type": "boolean", + "default": false, + "description": "Indicates whether feature unregistration requires manual approval." + }, + "enrollmentDetails": { + "$ref": "#/definitions/EnrollmentDetails" + }, + "featureOwners": { + "description": "The feature owners.", + "type": "array", + "items": { + "$ref": "#/definitions/FeatureOwner" + } + } + }, + "type": "object" + } + } + }, + "EnrollmentDetails": { + "description": "Enrollment Details", + "properties": { + "enrollmentType": { + "description": "The EnrollmentType.", + "enum": [ + "AutoEnroll", + "AutoApprove", + "ManualApprove", + "ApplicationOwnedFeature" + ], + "x-ms-enum": { + "name": "FeatureConfigurationEnrollmentType", + "modelAsString": true + } + }, + "maximumEnrollment": { + "type": "integer", + "minimum": 1, + "maximum": 10000000, + "description": "The maximum enrollment." + }, + "signupStartDate": { + "type": "string", + "format": "date-time", + "description": "SignupStartDate" + }, + "signupEndDate": { + "type": "string", + "format": "date-time", + "description": "SignupEndDate" + } + } + }, + "FeatureOwner": { + "description": "Feature Owner", + "properties": { + "applicationId": { + "type": "string", + "maxLength": 1000, + "description": "The application id." + } + } + }, + "FeatureConfigurationList": { + "description": "The list of feature configurations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of subscription feature registrations list.", + "type": "string" + }, + "value": { + "description": "The list of subscription feature registrations.", + "type": "array", + "items": { + "$ref": "#/definitions/FeatureConfiguration" + } + } + } + }, + "SubscriptionFeatureRegistration": { + "type": "object", + "description": "Subscription feature registration details", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "properties": { + "tenantId": { + "type": "string", + "description": "The tenantId.", + "readOnly": true + }, + "subscriptionId": { + "type": "string", + "description": "The subscriptionId.", + "readOnly": false + }, + "featureName": { + "type": "string", + "description": "The featureName.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The featureDisplayName.", + "readOnly": true + }, + "providerNamespace": { + "type": "string", + "description": "The providerNamespace.", + "readOnly": true + }, + "state": { + "description": "The state.", + "enum": [ + "NotSpecified", + "NotRegistered", + "Pending", + "Registering", + "Registered", + "Unregistering", + "Unregistered" + ], + "x-ms-enum": { + "name": "SubscriptionFeatureRegistrationState", + "modelAsString": true + } + }, + "authorizationProfile": { + "$ref": "#/definitions/AuthorizationProfile" + }, + "metadata": { + "additionalProperties": { + "type": "string", + "maxLength": 1000 + }, + "description": "Key-value pairs for meta data." + }, + "releaseDate": { + "type": "string", + "format": "date-time", + "description": "The feature release date.", + "readOnly": true + }, + "registrationDate": { + "type": "string", + "format": "date-time", + "description": "The feature registration date.", + "readOnly": true + }, + "documentationLink": { + "type": "string", + "maxLength": 1000, + "description": "The feature documentation link.", + "readOnly": true + }, + "approvalType": { + "type": "string", + "description": "The feature approval type.", + "enum": [ + "NotSpecified", + "ApprovalRequired", + "AutoApproval" + ], + "x-ms-enum": { + "name": "SubscriptionFeatureRegistrationApprovalType", + "modelAsString": true + }, + "readOnly": true + }, + "shouldFeatureDisplayInPortal": { + "type": "boolean", + "default": false, + "description": "Indicates whether feature should be displayed in Portal." + }, + "description": { + "type": "string", + "maxLength": 1000, + "description": "The feature description." + } + }, + "type": "object" + } + } + }, + "AuthorizationProfile": { + "description": "Authorization Profile", + "properties": { + "RequestedTime": { + "type": "string", + "format": "date-time", + "description": "RequestedTime", + "readOnly": true + }, + "Requester": { + "type": "string", + "description": "Requester", + "readOnly": true + }, + "RequesterObjectId": { + "type": "string", + "description": "RequesterObjectId", + "readOnly": true + }, + "ApprovedTime": { + "type": "string", + "format": "date-time", + "description": "ApprovedTime", + "readOnly": true + }, + "Approver": { + "type": "string", + "description": "Approver", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "method" + }, + "ProviderNamespaceParameter": { + "name": "providerNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The provider namespace.", + "x-ms-parameter-location": "client" + }, + "FeatureNameParameter": { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The feature name.", + "x-ms-parameter-location": "method" + }, + "ActionNameParameter": { + "name": "actionName", + "in": "path", + "required": true, + "type": "string", + "description": "The action name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json new file mode 100644 index 000000000000..d8c1e884a509 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -0,0 +1,619 @@ +{ + "swagger": "2.0", + "info": { + "title": "FeatureManagementClient", + "description": "Feature provider", + "version": "2021-07-01" + }, + "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.Features/featureProviders/{providerNamespace}/subscriptionFeatureRegistrations/{featureName}": { + "get": { + "description": "Returns a feature registration", + "operationId": "SubscriptionFeatureRegistrations_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + } + ], + "responses": { + "200": { + "description": "Subscription Feature Registration.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a feature registration": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json" + } + } + }, + "put": { + "description": "Create or update a feature registration.", + "operationId": "SubscriptionFeatureRegistrations_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + }, + { + "name": "SubscriptionFeatureRegistrationType", + "description": "Subscription Feature Registration Type details.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + } + ], + "responses": { + "200": { + "description": "The feature registration is created or updated successfully.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates a feature registration": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json" + } + } + }, + "delete": { + "description": "Deletes a feature registration", + "operationId": "SubscriptionFeatureRegistrations_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + } + ], + "responses": { + "200": { + "description": "The feature registration has been deleted successfully." + }, + "204": { + "description": "The feature registration has been deleted already." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a feature registration": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/featureProviders/{providerNamespace}/subscriptionFeatureRegistrations/{featureName}/{actionName}": { + "post": { + "description": "Action on a feature registration.", + "operationId": "SubscriptionFeatureRegistrations_Action", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + }, + { + "$ref": "#/parameters/FeatureNameParameter" + }, + { + "$ref": "#/parameters/ActionNameParameter" + }, + { + "name": "SubscriptionFeatureRegistrationType", + "description": "Subscription Feature Registration Type details.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + } + ], + "responses": { + "200": { + "description": "The feature registration is updated successfully.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Action on a feature registration": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/featureProviders/{providerNamespace}/subscriptionFeatureRegistrations": { + "get": { + "description": "Returns subscription feature registrations for given subscription and provider namespace.", + "operationId": "SubscriptionFeatureRegistrations_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ProviderNamespaceParameter" + } + ], + "responses": { + "200": { + "description": "Subscription Feature Registrations.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistrationList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of feature registrations": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/subscriptionFeatureRegistrations": { + "get": { + "description": "Returns subscription feature registrations for given subscription.", + "operationId": "SubscriptionFeatureRegistrations_ListAllBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Subscription Feature Registrations.", + "schema": { + "$ref": "#/definitions/SubscriptionFeatureRegistrationList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of feature registrations": { + "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json" + } + } + } + }, + "/providers/microsoft.features/operations": { + "get": { + "description": "Returns list of operations.", + "operationId": "Operation_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/operationsList" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ProxyResource": { + "description": "An Azure proxy resource.", + "properties": { + "id": { + "description": "Azure resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Azure resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Azure resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "operation": { + "description": "Operation provided by provider", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation" + }, + "display": { + "type": "object", + "description": "Properties of the operation", + "properties": { + "provider": { + "type": "string", + "description": "Provider name" + }, + "resource": { + "type": "string", + "description": "Resource name" + }, + "operation": { + "type": "string", + "description": "Operation name" + }, + "description": { + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "operationsList": { + "description": "Lists the operations available.", + "properties": { + "nextLink": { + "description": "Url to follow for getting next page of operations.", + "type": "string" + }, + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/operation" + } + } + }, + "required": [ + "value" + ] + }, + "SubscriptionFeatureRegistration": { + "type": "object", + "description": "Subscription feature registration details", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "properties": { + "tenantId": { + "type": "string", + "description": "The tenantId.", + "readOnly": true + }, + "subscriptionId": { + "type": "string", + "description": "The subscriptionId.", + "readOnly": true + }, + "featureName": { + "type": "string", + "description": "The featureName.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The featureDisplayName.", + "readOnly": true + }, + "providerNamespace": { + "type": "string", + "description": "The providerNamespace.", + "readOnly": true + }, + "state": { + "description": "The state.", + "enum": [ + "NotSpecified", + "NotRegistered", + "Pending", + "Registering", + "Registered", + "Unregistering", + "Unregistered" + ], + "x-ms-enum": { + "name": "SubscriptionFeatureRegistrationState", + "modelAsString": true + } + }, + "authorizationProfile": { + "$ref": "#/definitions/AuthorizationProfile" + }, + "metadata": { + "additionalProperties": { + "type": "string", + "maxLength": 1000 + }, + "description": "Key-value pairs for meta data." + }, + "releaseDate": { + "type": "string", + "format": "date-time", + "description": "The feature release date.", + "readOnly": true + }, + "registrationDate": { + "type": "string", + "format": "date-time", + "description": "The feature registration date.", + "readOnly": true + }, + "documentationLink": { + "type": "string", + "maxLength": 1000, + "description": "The feature documentation link.", + "readOnly": true + }, + "approvalType": { + "type": "string", + "description": "The feature approval type.", + "enum": [ + "NotSpecified", + "ApprovalRequired", + "AutoApproval" + ], + "x-ms-enum": { + "name": "SubscriptionFeatureRegistrationApprovalType", + "modelAsString": true + }, + "readOnly": true + }, + "shouldFeatureDisplayInPortal": { + "type": "boolean", + "default": false, + "description": "Indicates whether feature should be displayed in Portal." + }, + "description": { + "type": "string", + "maxLength": 1000, + "description": "The feature description." + } + }, + "type": "object" + } + } + }, + "AuthorizationProfile": { + "description": "Authorization Profile", + "properties": { + "RequestedTime": { + "type": "string", + "format": "date-time", + "description": "RequestedTime", + "readOnly": true + }, + "Requester": { + "type": "string", + "description": "Requester", + "readOnly": true + }, + "RequesterObjectId": { + "type": "string", + "description": "RequesterObjectId", + "readOnly": true + }, + "ApprovedTime": { + "type": "string", + "format": "date-time", + "description": "ApprovedTime", + "readOnly": true + }, + "Approver": { + "type": "string", + "description": "Approver", + "readOnly": true + } + } + }, + "SubscriptionFeatureRegistrationList": { + "description": "The list of subscription feature registrations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of subscription feature registrations list.", + "type": "string" + }, + "value": { + "description": "The list of subscription feature registrations.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionFeatureRegistration" + } + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID.", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "method" + }, + "ProviderNamespaceParameter": { + "name": "providerNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The provider namespace.", + "x-ms-parameter-location": "client" + }, + "FeatureNameParameter": { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The feature name.", + "x-ms-parameter-location": "method" + }, + "ActionNameParameter": { + "name": "actionName", + "in": "path", + "required": true, + "type": "string", + "description": "The action name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json new file mode 100644 index 000000000000..656bd4dd4588 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "providerNamespace": "subscriptionFeatureConfigurationTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json new file mode 100644 index 000000000000..bc8dbfcd6090 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "name": "testFeature", + "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", + "type": "Microsoft.Features/featureProviders/featureConfigurations", + "properties": { + "featureScope": "Subscription", + "featureNotes": "This is a test feature", + "featureRequiredClaims": "RPAASPSA" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json new file mode 100644 index 000000000000..1b5a2ba2aa97 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "testFeature", + "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", + "type": "Microsoft.Features/featureProviders/featureConfigurations", + "properties": { + "featureScope": "Subscription", + "featureNotes": "This is a test feature", + "featureRequiredClaims": "RPAASPSA" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json new file mode 100644 index 000000000000..ee5420eb2bf5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", + "featureName": "testFeature", + "actionName": "approve", + "api-version": "2020-09-01", + "SubscriptionFeatureRegistrationType": { + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json new file mode 100644 index 000000000000..7e9f1eaf2dfd --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01", + "FeatureConfiguration": { + "properties": { + "featureScope": "Subscription", + "featureNotes": "This is a test feature", + "featureRequiredClaims": "RPAASPSA" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testFeature", + "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", + "type": "Microsoft.Features/featureProviders/featureConfigurations", + "properties": { + "featureScope": "Subscription", + "featureNotes": "This is a test feature", + "featureRequiredClaims": "RPAASPSA" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json new file mode 100644 index 000000000000..21d51cf06588 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json new file mode 100644 index 000000000000..e965015e7dfa --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "name": "testFeature", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", + "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json new file mode 100644 index 000000000000..a51a74f3ef28 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "testFeature", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", + "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json new file mode 100644 index 000000000000..9b71ed1cea58 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "testFeature", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", + "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json new file mode 100644 index 000000000000..6aa0df246681 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", + "featureName": "testFeature", + "actionName": "approve", + "api-version": "2020-09-01", + "SubscriptionFeatureRegistrationType": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "testFeature", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", + "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json new file mode 100644 index 000000000000..db39f6e6e4ef --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", + "featureName": "testFeature", + "api-version": "2020-09-01", + "SubscriptionFeatureRegistrationType": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "testFeature", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", + "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", + "properties": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "featureName": "testFeature", + "providerNamespace": "Microsoft.TestRP", + "state": "Pending", + "authorizationProfile": {}, + "releaseDate": "2019-11-05T00:34:53.1243228Z", + "approvalType": "ApprovalRequired", + "registrationDate": "2020-02-26T01:57:51.734777Z" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index 92d52d602189..1e0888be10be 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "FeatureClient", - "version": "2015-12-01", + "version": "2021-07-01", "description": "Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new features prior to making them generally available. Users need to explicitly register for AFEC features to get access to such functionality." }, "host": "management.azure.com", diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 56a878d78930..fcac8094635d 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -29,7 +29,7 @@ openapi-type: arm ``` ``` yaml $(package-features) -tag: package-features-2015-12 +tag: package-features-2021-07 ``` ``` yaml $(package-locks) @@ -128,6 +128,15 @@ input-file: - Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json ``` +### Tag: package-features-2021-07 + +These settings apply only when `--tag=package-features-2021-07` is specified on the command line. + +``` yaml $(tag) == 'package-features-2021-07' +input-file: +- Microsoft.Features/stable/2021-07-01/features.json +``` + ### Tag: package-features-2015-12 These settings apply only when `--tag=package-features-2015-12` is specified on the command line. From ece4fd9f52d2f378e28e0b1ed1621e3c3b500062 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Wed, 9 Jun 2021 11:58:50 -0700 Subject: [PATCH 03/27] Update readme files --- specification/resources/resource-manager/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index fcac8094635d..ec6dcf33b3ae 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -135,6 +135,8 @@ These settings apply only when `--tag=package-features-2021-07` is specified on ``` yaml $(tag) == 'package-features-2021-07' input-file: - Microsoft.Features/stable/2021-07-01/features.json +- Microsoft.Features/stable/2021-07-01/featureConfigurations.json +- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json.json ``` ### Tag: package-features-2015-12 From 409c76b4f768c40b5d06a2fe928e125b71c5cee3 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Wed, 9 Jun 2021 12:02:30 -0700 Subject: [PATCH 04/27] Update readme file --- specification/resources/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index ec6dcf33b3ae..ebb024b2e623 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -136,7 +136,7 @@ These settings apply only when `--tag=package-features-2021-07` is specified on input-file: - Microsoft.Features/stable/2021-07-01/features.json - Microsoft.Features/stable/2021-07-01/featureConfigurations.json -- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json.json +- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json ``` ### Tag: package-features-2015-12 From 551b0067d1081b0c6810276c5615e2036a417ed4 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 14:14:52 -0700 Subject: [PATCH 05/27] Remove feature configuration apis --- .../2021-07-01/FeatureConfigurations.json | 618 ------------------ .../FeatureConfigurationDELETE.json | 11 - .../FeatureConfigurationGET.json | 21 - .../FeatureConfigurationLIST.json | 25 - .../FeatureConfigurationPOST.json | 29 - .../FeatureConfigurationPUT.json | 28 - .../resources/resource-manager/readme.md | 1 - 7 files changed, 733 deletions(-) delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json deleted file mode 100644 index 33431454078a..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/FeatureConfigurations.json +++ /dev/null @@ -1,618 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "FeatureManagementClient", - "description": "Feature provider", - "version": "2021-07-01" - }, - "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.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations/{featureName}": { - "get": { - "description": "Returns a feature configuration", - "operationId": "FeatureConfigurations_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - }, - { - "$ref": "#/parameters/FeatureNameParameter" - } - ], - "responses": { - "200": { - "description": "Feature Configuration.", - "schema": { - "$ref": "#/definitions/FeatureConfiguration" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Gets a feature registration": { - "$ref": "./examples/FeatureConfiguration/FeatureConfigurationGET.json" - } - } - }, - "put": { - "description": "Create or update a feature configuration.", - "operationId": "FeatureConfigurations_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - }, - { - "$ref": "#/parameters/FeatureNameParameter" - }, - { - "name": "FeatureConfiguration", - "description": "Feature Configuration details.", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/FeatureConfiguration" - } - } - ], - "responses": { - "200": { - "description": "The feature configuration is created or updated successfully.", - "schema": { - "$ref": "#/definitions/FeatureConfiguration" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Creates a feature registration": { - "$ref": "./examples/FeatureConfiguration/FeatureConfigurationPUT.json" - } - } - }, - "delete": { - "description": "Deletes a feature configuration", - "operationId": "FeatureConfigurations_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - }, - { - "$ref": "#/parameters/FeatureNameParameter" - } - ], - "responses": { - "200": { - "description": "The feature configuration has been deleted successfully." - }, - "204": { - "description": "The feature configuration has been deleted already." - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Deletes a feature registration": { - "$ref": "./examples/FeatureConfiguration/FeatureConfigurationDELETE.json" - } - } - } - }, - "/providers/Microsoft.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations/{featureName}/{actionName}": { - "post": { - "description": "Action on a feature configuration.", - "operationId": "SubscriptionFeatureConfigurations_Action", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - }, - { - "$ref": "#/parameters/FeatureNameParameter" - }, - { - "$ref": "#/parameters/ActionNameParameter" - }, - { - "name": "SubscriptionFeatureRegistrationType", - "description": "Subscription Feature Registration Type details.", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/SubscriptionFeatureRegistration" - } - } - ], - "responses": { - "200": { - "description": "The feature configuration is updated successfully.", - "schema": { - "$ref": "#/definitions/SubscriptionFeatureRegistration" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Action on a feature registration": { - "$ref": "./examples/FeatureConfiguration/FeatureConfigurationPOST.json" - } - } - } - }, - "/providers/Microsoft.Features/featureProviderNamespaces/{providerNamespace}/featureConfigurations": { - "get": { - "description": "Returns feature configurations for given provider namespace.", - "operationId": "FeatureConfigurations_ListByProviderNamespace", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - } - ], - "responses": { - "200": { - "description": "Feature Configurations.", - "schema": { - "$ref": "#/definitions/FeatureConfigurationList" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Gets a list of feature registrations": { - "$ref": "./examples/FeatureConfiguration/FeatureConfigurationLIST.json" - } - } - } - } - }, - "definitions": { - "ProxyResource": { - "description": "An Azure proxy resource.", - "properties": { - "id": { - "description": "Azure resource Id.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Azure resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Azure resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "FeatureConfiguration": { - "type": "object", - "description": "Feature configuration details", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "properties": { - "provisioningState": { - "type": "string", - "readOnly": true, - "description": "The provisioning state." - }, - "providerNamespace": { - "type": "string", - "readOnly": true, - "description": "The provider namespace." - }, - "featureName": { - "type": "string", - "readOnly": true, - "description": "The feature name." - }, - "displayName": { - "type": "string", - "description": "The featureDisplayName." - }, - "featureNotes": { - "type": "string", - "description": "The featureNotes." - }, - "ownerEmails": { - "type": "string", - "description": "The ownerEmails." - }, - "featureScope": { - "description": "The featureScope.", - "enum": [ - "Subscription", - "Tenant" - ], - "x-ms-enum": { - "name": "FeatureConfigurationFeatureScope", - "modelAsString": true - } - }, - "featureRequiredClaims": { - "type": "string", - "description": "The featureRequiredClaims." - }, - "description": { - "type": "string", - "maxLength": 1000, - "description": "The feature description." - }, - "allowedTenantIds": { - "type": "string", - "maxLength": 1000, - "description": "The feature whitelist tenant ids." - }, - "documentationLink": { - "type": "string", - "maxLength": 1000, - "description": "The feature documentation link." - }, - "shouldFeatureDisplayInPortal": { - "type": "boolean", - "default": false, - "description": "Indicates whether feature should be displayed in Portal." - }, - "shouldFeatureUnregistrationRequiresApproval": { - "type": "boolean", - "default": false, - "description": "Indicates whether feature unregistration requires manual approval." - }, - "enrollmentDetails": { - "$ref": "#/definitions/EnrollmentDetails" - }, - "featureOwners": { - "description": "The feature owners.", - "type": "array", - "items": { - "$ref": "#/definitions/FeatureOwner" - } - } - }, - "type": "object" - } - } - }, - "EnrollmentDetails": { - "description": "Enrollment Details", - "properties": { - "enrollmentType": { - "description": "The EnrollmentType.", - "enum": [ - "AutoEnroll", - "AutoApprove", - "ManualApprove", - "ApplicationOwnedFeature" - ], - "x-ms-enum": { - "name": "FeatureConfigurationEnrollmentType", - "modelAsString": true - } - }, - "maximumEnrollment": { - "type": "integer", - "minimum": 1, - "maximum": 10000000, - "description": "The maximum enrollment." - }, - "signupStartDate": { - "type": "string", - "format": "date-time", - "description": "SignupStartDate" - }, - "signupEndDate": { - "type": "string", - "format": "date-time", - "description": "SignupEndDate" - } - } - }, - "FeatureOwner": { - "description": "Feature Owner", - "properties": { - "applicationId": { - "type": "string", - "maxLength": 1000, - "description": "The application id." - } - } - }, - "FeatureConfigurationList": { - "description": "The list of feature configurations.", - "type": "object", - "properties": { - "nextLink": { - "description": "The link used to get the next page of subscription feature registrations list.", - "type": "string" - }, - "value": { - "description": "The list of subscription feature registrations.", - "type": "array", - "items": { - "$ref": "#/definitions/FeatureConfiguration" - } - } - } - }, - "SubscriptionFeatureRegistration": { - "type": "object", - "description": "Subscription feature registration details", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "properties": { - "tenantId": { - "type": "string", - "description": "The tenantId.", - "readOnly": true - }, - "subscriptionId": { - "type": "string", - "description": "The subscriptionId.", - "readOnly": false - }, - "featureName": { - "type": "string", - "description": "The featureName.", - "readOnly": true - }, - "displayName": { - "type": "string", - "description": "The featureDisplayName.", - "readOnly": true - }, - "providerNamespace": { - "type": "string", - "description": "The providerNamespace.", - "readOnly": true - }, - "state": { - "description": "The state.", - "enum": [ - "NotSpecified", - "NotRegistered", - "Pending", - "Registering", - "Registered", - "Unregistering", - "Unregistered" - ], - "x-ms-enum": { - "name": "SubscriptionFeatureRegistrationState", - "modelAsString": true - } - }, - "authorizationProfile": { - "$ref": "#/definitions/AuthorizationProfile" - }, - "metadata": { - "additionalProperties": { - "type": "string", - "maxLength": 1000 - }, - "description": "Key-value pairs for meta data." - }, - "releaseDate": { - "type": "string", - "format": "date-time", - "description": "The feature release date.", - "readOnly": true - }, - "registrationDate": { - "type": "string", - "format": "date-time", - "description": "The feature registration date.", - "readOnly": true - }, - "documentationLink": { - "type": "string", - "maxLength": 1000, - "description": "The feature documentation link.", - "readOnly": true - }, - "approvalType": { - "type": "string", - "description": "The feature approval type.", - "enum": [ - "NotSpecified", - "ApprovalRequired", - "AutoApproval" - ], - "x-ms-enum": { - "name": "SubscriptionFeatureRegistrationApprovalType", - "modelAsString": true - }, - "readOnly": true - }, - "shouldFeatureDisplayInPortal": { - "type": "boolean", - "default": false, - "description": "Indicates whether feature should be displayed in Portal." - }, - "description": { - "type": "string", - "maxLength": 1000, - "description": "The feature description." - } - }, - "type": "object" - } - } - }, - "AuthorizationProfile": { - "description": "Authorization Profile", - "properties": { - "RequestedTime": { - "type": "string", - "format": "date-time", - "description": "RequestedTime", - "readOnly": true - }, - "Requester": { - "type": "string", - "description": "Requester", - "readOnly": true - }, - "RequesterObjectId": { - "type": "string", - "description": "RequesterObjectId", - "readOnly": true - }, - "ApprovedTime": { - "type": "string", - "format": "date-time", - "description": "ApprovedTime", - "readOnly": true - }, - "Approver": { - "type": "string", - "description": "Approver", - "readOnly": true - } - } - }, - "ErrorResponse": { - "description": "Error response indicates that the service is not able to process the incoming request.", - "properties": { - "error": { - "$ref": "#/definitions/ErrorDefinition", - "description": "The error details." - } - } - }, - "ErrorDefinition": { - "description": "Error definition.", - "properties": { - "code": { - "description": "Service specific error code which serves as the substatus for the HTTP error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Description of the error.", - "type": "string", - "readOnly": true - }, - "details": { - "description": "Internal error details.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDefinition" - } - } - } - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version.", - "x-ms-parameter-location": "method" - }, - "ProviderNamespaceParameter": { - "name": "providerNamespace", - "in": "path", - "required": true, - "type": "string", - "description": "The provider namespace.", - "x-ms-parameter-location": "client" - }, - "FeatureNameParameter": { - "name": "featureName", - "in": "path", - "required": true, - "type": "string", - "description": "The feature name.", - "x-ms-parameter-location": "method" - }, - "ActionNameParameter": { - "name": "actionName", - "in": "path", - "required": true, - "type": "string", - "description": "The action name.", - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json deleted file mode 100644 index 656bd4dd4588..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationDELETE.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "providerNamespace": "subscriptionFeatureConfigurationTestRG", - "featureName": "testFeature", - "api-version": "2020-09-01" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json deleted file mode 100644 index bc8dbfcd6090..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationGET.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "parameters": { - "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", - "featureName": "testFeature", - "api-version": "2020-09-01" - }, - "responses": { - "200": { - "body": { - "name": "testFeature", - "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", - "type": "Microsoft.Features/featureProviders/featureConfigurations", - "properties": { - "featureScope": "Subscription", - "featureNotes": "This is a test feature", - "featureRequiredClaims": "RPAASPSA" - } - } - } - } -} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json deleted file mode 100644 index 1b5a2ba2aa97..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationLIST.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", - "api-version": "2020-09-01" - }, - "responses": { - "200": { - "body": { - "nextLink": "string", - "value": [ - { - "name": "testFeature", - "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", - "type": "Microsoft.Features/featureProviders/featureConfigurations", - "properties": { - "featureScope": "Subscription", - "featureNotes": "This is a test feature", - "featureRequiredClaims": "RPAASPSA" - } - } - ] - } - } - } -} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json deleted file mode 100644 index ee5420eb2bf5..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPOST.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", - "featureName": "testFeature", - "actionName": "approve", - "api-version": "2020-09-01", - "SubscriptionFeatureRegistrationType": { - "properties": { - "subscriptionId": "00000000-1111-2222-3333-444444444444" - } - } - }, - "responses": { - "200": { - "body": { - "properties": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "featureName": "testFeature", - "providerNamespace": "Microsoft.TestRP", - "state": "Pending", - "authorizationProfile": {}, - "releaseDate": "2019-11-05T00:34:53.1243228Z", - "approvalType": "ApprovalRequired", - "registrationDate": "2020-02-26T01:57:51.734777Z" - } - } - } - } -} diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json deleted file mode 100644 index 7e9f1eaf2dfd..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureConfiguration/FeatureConfigurationPUT.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "providerNamespace": "subscriptionFeatureConfigurationGroupTestRG", - "featureName": "testFeature", - "api-version": "2020-09-01", - "FeatureConfiguration": { - "properties": { - "featureScope": "Subscription", - "featureNotes": "This is a test feature", - "featureRequiredClaims": "RPAASPSA" - } - } - }, - "responses": { - "200": { - "body": { - "name": "testFeature", - "id": "/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/featureConfigurations/testFeature", - "type": "Microsoft.Features/featureProviders/featureConfigurations", - "properties": { - "featureScope": "Subscription", - "featureNotes": "This is a test feature", - "featureRequiredClaims": "RPAASPSA" - } - } - } - } -} diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index ebb024b2e623..db8d453eb858 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -135,7 +135,6 @@ These settings apply only when `--tag=package-features-2021-07` is specified on ``` yaml $(tag) == 'package-features-2021-07' input-file: - Microsoft.Features/stable/2021-07-01/features.json -- Microsoft.Features/stable/2021-07-01/featureConfigurations.json - Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json ``` From 6143b406ed06c9b2cbff9436fc6b9f554b9ecaad Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 14:31:45 -0700 Subject: [PATCH 06/27] Fix avocado --- specification/resources/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index db8d453eb858..f531f967ecfe 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -135,7 +135,7 @@ These settings apply only when `--tag=package-features-2021-07` is specified on ``` yaml $(tag) == 'package-features-2021-07' input-file: - Microsoft.Features/stable/2021-07-01/features.json -- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json +- Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json ``` ### Tag: package-features-2015-12 From b96c751786a57e3cbf55175b81c207907aeca220 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 14:43:09 -0700 Subject: [PATCH 07/27] Fix validations --- .../stable/2021-07-01/SubscriptionFeatureRegistration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index d8c1e884a509..379ce1f68280 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "title": "FeatureManagementClient", + "title": "operation", "description": "Feature provider", "version": "2021-07-01" }, From 0c1e42fcd33f5be6681f3282dea3b15628a6aafc Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 14:47:35 -0700 Subject: [PATCH 08/27] Fix validation --- .../SubscriptionFeatureRegistration.json | 29 ------------------- 1 file changed, 29 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 379ce1f68280..4101713a44e9 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -281,35 +281,6 @@ } } } - }, - "/providers/microsoft.features/operations": { - "get": { - "description": "Returns list of operations.", - "operationId": "Operation_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Operation details.", - "schema": { - "$ref": "#/definitions/operationsList" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } } }, "definitions": { From 2ebfeec69cf58927d6650086688a17fdf26f7192 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 14:58:55 -0700 Subject: [PATCH 09/27] Fix validations --- .../SubscriptionFeatureRegistration.json | 52 +------------------ 1 file changed, 2 insertions(+), 50 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 4101713a44e9..a8a83096273c 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -285,6 +285,7 @@ }, "definitions": { "ProxyResource": { + "type": "object", "description": "An Azure proxy resource.", "properties": { "id": { @@ -305,56 +306,6 @@ }, "x-ms-azure-resource": true }, - "operation": { - "description": "Operation provided by provider", - "properties": { - "name": { - "type": "string", - "description": "Name of the operation" - }, - "display": { - "type": "object", - "description": "Properties of the operation", - "properties": { - "provider": { - "type": "string", - "description": "Provider name" - }, - "resource": { - "type": "string", - "description": "Resource name" - }, - "operation": { - "type": "string", - "description": "Operation name" - }, - "description": { - "type": "string", - "description": "Description of the operation" - } - } - } - } - }, - "operationsList": { - "description": "Lists the operations available.", - "properties": { - "nextLink": { - "description": "Url to follow for getting next page of operations.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "type": "array", - "items": { - "$ref": "#/definitions/operation" - } - } - }, - "required": [ - "value" - ] - }, "SubscriptionFeatureRegistration": { "type": "object", "description": "Subscription feature registration details", @@ -392,6 +343,7 @@ "readOnly": true }, "state": { + "type": "string", "description": "The state.", "enum": [ "NotSpecified", From af1a10c36a054cb00d34b99b23e2be490a054387 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 15:06:28 -0700 Subject: [PATCH 10/27] Fix validation --- .../stable/2021-07-01/SubscriptionFeatureRegistration.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index a8a83096273c..74da6d65fae9 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -363,6 +363,7 @@ "$ref": "#/definitions/AuthorizationProfile" }, "metadata": { + "type": "object", "additionalProperties": { "type": "string", "maxLength": 1000 @@ -418,6 +419,7 @@ }, "AuthorizationProfile": { "description": "Authorization Profile", + "type": "object", "properties": { "RequestedTime": { "type": "string", @@ -476,6 +478,7 @@ }, "ErrorDefinition": { "description": "Error definition.", + "type": "object", "properties": { "code": { "description": "Service specific error code which serves as the substatus for the HTTP error code.", From 93236f57ad8a63191203ee236e63996ec5fe90fa Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 15:35:36 -0700 Subject: [PATCH 11/27] Fix title --- .../stable/2021-07-01/SubscriptionFeatureRegistration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 74da6d65fae9..8016ee2af203 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "title": "operation", + "title": "FeatureClient", "description": "Feature provider", "version": "2021-07-01" }, From 5a5f6b0ae34cf797d54ae297e1cec697760b959c Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 15:45:36 -0700 Subject: [PATCH 12/27] Fix validation --- .../SubscriptionFeatureRegistration.json | 1 + .../stable/2021-07-01/features.json | 70 +++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 8016ee2af203..2faccfd773ac 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -468,6 +468,7 @@ } }, "ErrorResponse": { + "type": "object", "description": "Error response indicates that the service is not able to process the incoming request.", "properties": { "error": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index 1e0888be10be..df96a0fa6766 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -59,6 +59,12 @@ "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -92,6 +98,12 @@ "schema": { "$ref": "#/definitions/FeatureOperationsListResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -132,6 +144,12 @@ "schema": { "$ref": "#/definitions/FeatureOperationsListResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -179,6 +197,12 @@ "schema": { "$ref": "#/definitions/FeatureResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -223,6 +247,12 @@ "schema": { "$ref": "#/definitions/FeatureResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -267,6 +297,12 @@ "schema": { "$ref": "#/definitions/FeatureResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -347,6 +383,7 @@ } }, "OperationListResult": { + "type": "object", "description": "Result of the request to list Microsoft.Features operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { @@ -361,6 +398,39 @@ "description": "URL to get the next set of operation list results if there are any." } } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response indicates that the service is not able to process the incoming request.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "type": "object", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + } + } + } } }, "parameters": { From 38e8b1c9c70f77ce2d9e957740b0d083d794bae9 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 15:52:12 -0700 Subject: [PATCH 13/27] Fix validation --- .../Microsoft.Features/stable/2021-07-01/features.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index df96a0fa6766..91fb15664935 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -310,6 +310,7 @@ }, "definitions": { "FeatureProperties": { + "type": "object", "properties": { "state": { "type": "string", @@ -319,6 +320,7 @@ "description": "Information about feature." }, "FeatureResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -340,6 +342,7 @@ "description": "Previewed feature information." }, "FeatureOperationsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -364,6 +367,7 @@ "type": "string" }, "display": { + "type": "object", "description": "The object that represents the operation.", "properties": { "provider": { From 57af021fdea6ecd641ff457ab99afe6f0a13423f Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 16:22:36 -0700 Subject: [PATCH 14/27] Fix readme --- specification/resources/resource-manager/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index f531f967ecfe..21ba5f66cbd5 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -136,6 +136,10 @@ These settings apply only when `--tag=package-features-2021-07` is specified on input-file: - Microsoft.Features/stable/2021-07-01/features.json - Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json + +# Needed when there is more than one input file +override-info: + title: PolicyClient ``` ### Tag: package-features-2015-12 From bce7056087abdf53b2d811ee8079c925ad266d5a Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 16:33:10 -0700 Subject: [PATCH 15/27] Fix validation --- .../resources/resource-manager/readme.csharp.md | 1 + .../resources/resource-manager/readme.go.md | 11 +++++++++++ .../resources/resource-manager/readme.java.md | 15 +++++++++++++++ .../resources/resource-manager/readme.python.md | 15 +++++++++++++++ .../resources/resource-manager/readme.ruby.md | 11 +++++++++++ 5 files changed, 53 insertions(+) diff --git a/specification/resources/resource-manager/readme.csharp.md b/specification/resources/resource-manager/readme.csharp.md index c7d0dfa459b5..4ada90fb2e15 100644 --- a/specification/resources/resource-manager/readme.csharp.md +++ b/specification/resources/resource-manager/readme.csharp.md @@ -836,6 +836,7 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Resource/Management.Resou batch: - tag: package-features-2015-12 + - tag: package-features-2021-07 - tag: package-locks-2016-09 - tag: package-policy-2018-03 - tag: package-policy-2016-12 diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md index e84d09cd6eb4..75467280330c 100644 --- a/specification/resources/resource-manager/readme.go.md +++ b/specification/resources/resource-manager/readme.go.md @@ -32,6 +32,7 @@ azure-arm: true batch: - tag: package-templatespecs-2019-06-preview - tag: package-features-2015-12 + - tag: package-features-2021-07 - tag: package-locks-2016-09 - tag: package-locks-2015-01 - tag: package-policy-2020-09 @@ -92,6 +93,16 @@ namespace: features output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-07-01/$(namespace) ``` +### Tag: package-features-2021-07 and go + +These settings apply only when `--tag=package-features-2021-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-features-2021-07' && $(go) +namespace: features +output-folder: $(go-sdk-folder)/services/resources/mgmt/2021-07-01/$(namespace) +``` + ### Tag: package-features-2015-12 and go These settings apply only when `--tag=package-features-2015-12 --go` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md index 80329cfc0d59..20c5d927ae94 100644 --- a/specification/resources/resource-manager/readme.java.md +++ b/specification/resources/resource-manager/readme.java.md @@ -51,6 +51,7 @@ Generate all API versions currently shipped for this package ``` yaml $(java) && $(multiapi) batch: - tag: package-features-2015-12 + - tag: package-features-2021-07 - tag: package-locks-2016-09 - tag: package-managedapplications-2019-07 - tag: package-policy-2020-09 @@ -75,6 +76,20 @@ batch: - tag: package-subscriptions-2016-06 ``` +### Tag: package-features-2021-07 and java + +These settings apply only when `--tag=package-features-2021-07 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-features-2021-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.features.v2021_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/features/mgmt-v2021_07_01 +regenerate-manager: true +generate-interface: true +fconfig: '{"moduleName": "Features"}' +``` + ### Tag: package-features-2015-12 and java These settings apply only when `--tag=package-features-2015-12 --java` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index 2be524003445..9770be26eb19 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -30,6 +30,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-features-2021-07 - tag: package-features-2015-12 - tag: package-links-2016-09 - tag: package-locks-2016-09 @@ -74,6 +75,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-features-2021-07 - tag: package-features-2015-12 - multiapiscript-features: true - tag: package-links-2016-09 @@ -189,6 +191,19 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-features-2021-07 and python + +These settings apply only when `--tag=package-features-2021-07 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-features-2021-07' +namespace: azure.mgmt.resource.features.v2021_07_01 +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/features/v2021_07_01 +python: + namespace: azure.mgmt.resource.features.v2021_07_01 + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/features/v2021_07_01 +``` + ### Tag: package-features-2015-12 and python These settings apply only when `--tag=package-features-2015-12 --python` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.ruby.md b/specification/resources/resource-manager/readme.ruby.md index 4061349dc60e..70c149ebcbba 100644 --- a/specification/resources/resource-manager/readme.ruby.md +++ b/specification/resources/resource-manager/readme.ruby.md @@ -111,9 +111,20 @@ package-name: azure_mgmt_features package-version: "0.16.0" azure-arm: true batch: + - tag: package-features-2021-07 - tag: package-features-2015-12 ``` +### Tag: package-features-2021-07 and ruby + +These settings apply only when `--tag=package-features-2021-07 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-features-2021-07' && $(ruby) +namespace: "Azure::Features::Mgmt::V2021_07_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_features/lib +``` + ### Tag: package-features-2015-12 and ruby These settings apply only when `--tag=package-features-2015-12 --ruby` is specified on the command line. From f977fbb6c3c57914fe83710114a368d83917d281 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 16:44:04 -0700 Subject: [PATCH 16/27] Fix validation --- .../Microsoft.Features/stable/2021-07-01/features.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index 91fb15664935..c0f6f844bb18 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -29,7 +29,7 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } From 30e8089b88e738f84903b2f5b72bf75d5cb29b19 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 16:52:44 -0700 Subject: [PATCH 17/27] Fix validation --- .../Microsoft.Features/stable/2021-07-01/features.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index c0f6f844bb18..64550d6d16e1 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -443,7 +443,7 @@ "in": "path", "required": true, "type": "string", - "description": "The ID of the target subscription." + "description": "The Azure subscription ID." }, "ApiVersionParameter": { "name": "api-version", From d58351bffe42705d81a18a8c712e6267a55c63f0 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 17:07:00 -0700 Subject: [PATCH 18/27] Fix validation --- .../stable/2021-07-01/SubscriptionFeatureRegistration.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 2faccfd773ac..2133c264c865 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -515,7 +515,7 @@ "in": "query", "required": true, "type": "string", - "description": "Client Api Version.", + "description": "The API version to use for this operation.", "x-ms-parameter-location": "method" }, "ProviderNamespaceParameter": { From 76356da9c79219ef0da4ce3411831cc71a8aa5ee Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 17:13:55 -0700 Subject: [PATCH 19/27] Fix validation --- .../SubscriptionFeatureRegistration.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 2133c264c865..059824dd7a38 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -421,31 +421,31 @@ "description": "Authorization Profile", "type": "object", "properties": { - "RequestedTime": { + "requestedTime": { "type": "string", "format": "date-time", - "description": "RequestedTime", + "description": "The requested time", "readOnly": true }, - "Requester": { + "requester": { "type": "string", - "description": "Requester", + "description": "The requester", "readOnly": true }, - "RequesterObjectId": { + "requesterObjectId": { "type": "string", - "description": "RequesterObjectId", + "description": "The requester object id", "readOnly": true }, - "ApprovedTime": { + "approvedTime": { "type": "string", "format": "date-time", - "description": "ApprovedTime", + "description": "The approved time", "readOnly": true }, - "Approver": { + "approver": { "type": "string", - "description": "Approver", + "description": "The approver", "readOnly": true } } From d22cc83d3c9fabc4ce132a67f27a54af9c3fdccc Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 17:29:51 -0700 Subject: [PATCH 20/27] suppress r4009 --- specification/resources/resource-manager/readme.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 21ba5f66cbd5..afac29deb874 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -769,6 +769,9 @@ directive: - suppress: TopLevelResourcesListByResourceGroup from: policySetDefinitions.json reason: Policy set definitions are a proxy resource that is only usable on subscriptions or management groups + - from: SubscriptionFeatureRegistration.json + suppress: R4009 + reason: Currently systemData is not allowed ``` --- From 54ef06daf11f0323ad84644a3633d0f6e9c30111 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 17:56:07 -0700 Subject: [PATCH 21/27] Fix validation --- .../SubscriptionFeatureRegistration.json | 45 +++---------------- 1 file changed, 6 insertions(+), 39 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 059824dd7a38..c7c620dab585 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -62,7 +62,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -108,7 +108,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -145,7 +145,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -196,7 +196,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -232,7 +232,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -268,7 +268,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../features.json#/definitions/ErrorResponse" } } }, @@ -466,39 +466,6 @@ } } } - }, - "ErrorResponse": { - "type": "object", - "description": "Error response indicates that the service is not able to process the incoming request.", - "properties": { - "error": { - "$ref": "#/definitions/ErrorDefinition", - "description": "The error details." - } - } - }, - "ErrorDefinition": { - "description": "Error definition.", - "type": "object", - "properties": { - "code": { - "description": "Service specific error code which serves as the substatus for the HTTP error code.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Description of the error.", - "type": "string", - "readOnly": true - }, - "details": { - "description": "Internal error details.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorDefinition" - } - } - } } }, "parameters": { From 68d4571cae1cd57e18100e856f922d83e29afba1 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Thu, 10 Jun 2021 17:59:54 -0700 Subject: [PATCH 22/27] Fix validation --- .../2021-07-01/SubscriptionFeatureRegistration.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index c7c620dab585..8a1b14185f25 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -62,7 +62,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, @@ -108,7 +108,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, @@ -145,7 +145,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, @@ -196,7 +196,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, @@ -232,7 +232,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, @@ -268,7 +268,7 @@ "default": { "description": "Error response describing the reason for operation failure.", "schema": { - "$ref": "../features.json#/definitions/ErrorResponse" + "$ref": "./features.json#/definitions/ErrorResponse" } } }, From baa4865ff7834af6ad3b560c67d501dde98f0320 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Fri, 11 Jun 2021 10:32:02 -0700 Subject: [PATCH 23/27] Fix python --- specification/resources/resource-manager/readme.python.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index 9770be26eb19..942c48ae816d 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -30,7 +30,6 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: - - tag: package-features-2021-07 - tag: package-features-2015-12 - tag: package-links-2016-09 - tag: package-locks-2016-09 @@ -75,7 +74,6 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: - - tag: package-features-2021-07 - tag: package-features-2015-12 - multiapiscript-features: true - tag: package-links-2016-09 From abfaf877d54ca0fa2a8653280aa5193795503a49 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Fri, 11 Jun 2021 12:13:08 -0700 Subject: [PATCH 24/27] Fix readme --- specification/resources/resource-manager/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index afac29deb874..95307a71b471 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -135,11 +135,11 @@ These settings apply only when `--tag=package-features-2021-07` is specified on ``` yaml $(tag) == 'package-features-2021-07' input-file: - Microsoft.Features/stable/2021-07-01/features.json -- Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json # Needed when there is more than one input file override-info: - title: PolicyClient + title: FeatureClient ``` ### Tag: package-features-2015-12 From f14ca5ab390c6baba6effb115fc558f52921e5fb Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Fri, 11 Jun 2021 12:42:08 -0700 Subject: [PATCH 25/27] Fix python --- specification/resources/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/resources/resource-manager/readme.md b/specification/resources/resource-manager/readme.md index 95307a71b471..9fe7a95cdd82 100644 --- a/specification/resources/resource-manager/readme.md +++ b/specification/resources/resource-manager/readme.md @@ -135,7 +135,7 @@ These settings apply only when `--tag=package-features-2021-07` is specified on ``` yaml $(tag) == 'package-features-2021-07' input-file: - Microsoft.Features/stable/2021-07-01/features.json -- Microsoft.Features/stable/2021-07-01/subscriptionFeatureRegistration.json +- Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json # Needed when there is more than one input file override-info: From 0c5ed347822c094086985506117d5f62397823ee Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Tue, 22 Jun 2021 15:39:36 -0700 Subject: [PATCH 26/27] Remove post api --- .../SubscriptionFeatureRegistration.json | 51 ------------------- .../SubscriptionFeatureRegistrationPOST.json | 31 ----------- 2 files changed, 82 deletions(-) delete mode 100644 specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json index 8a1b14185f25..311580a9926f 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/SubscriptionFeatureRegistration.json @@ -156,57 +156,6 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Features/featureProviders/{providerNamespace}/subscriptionFeatureRegistrations/{featureName}/{actionName}": { - "post": { - "description": "Action on a feature registration.", - "operationId": "SubscriptionFeatureRegistrations_Action", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ProviderNamespaceParameter" - }, - { - "$ref": "#/parameters/FeatureNameParameter" - }, - { - "$ref": "#/parameters/ActionNameParameter" - }, - { - "name": "SubscriptionFeatureRegistrationType", - "description": "Subscription Feature Registration Type details.", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/SubscriptionFeatureRegistration" - } - } - ], - "responses": { - "200": { - "description": "The feature registration is updated successfully.", - "schema": { - "$ref": "#/definitions/SubscriptionFeatureRegistration" - } - }, - "default": { - "description": "Error response describing the reason for operation failure.", - "schema": { - "$ref": "./features.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Action on a feature registration": { - "$ref": "./examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json" - } - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Features/featureProviders/{providerNamespace}/subscriptionFeatureRegistrations": { "get": { "description": "Returns subscription feature registrations for given subscription and provider namespace.", diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json deleted file mode 100644 index 6aa0df246681..000000000000 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPOST.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", - "featureName": "testFeature", - "actionName": "approve", - "api-version": "2020-09-01", - "SubscriptionFeatureRegistrationType": { - "properties": {} - } - }, - "responses": { - "200": { - "body": { - "name": "testFeature", - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Features/featureProviders/Microsoft.TestRP/subscriptionFeatureRegistrations/testFeature", - "type": "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations", - "properties": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "featureName": "testFeature", - "providerNamespace": "Microsoft.TestRP", - "state": "Pending", - "authorizationProfile": {}, - "releaseDate": "2019-11-05T00:34:53.1243228Z", - "approvalType": "ApprovalRequired", - "registrationDate": "2020-02-26T01:57:51.734777Z" - } - } - } - } -} From 2290fefedc09ebcef566a51b9bfc99e3ece13257 Mon Sep 17 00:00:00 2001 From: shenshengkafei Date: Tue, 22 Jun 2021 17:20:40 -0700 Subject: [PATCH 27/27] Update example api-versions --- .../SubscriptionFeatureRegistrationDELETE.json | 2 +- .../FeatureRegistration/SubscriptionFeatureRegistrationGET.json | 2 +- .../SubscriptionFeatureRegistrationLIST.json | 2 +- .../SubscriptionFeatureRegistrationLISTALL.json | 2 +- .../FeatureRegistration/SubscriptionFeatureRegistrationPUT.json | 2 +- .../stable/2021-07-01/examples/getFeature.json | 2 +- .../stable/2021-07-01/examples/listFeaturesOperations.json | 2 +- .../stable/2021-07-01/examples/listProviderFeatures.json | 2 +- .../stable/2021-07-01/examples/listSubscriptionFeatures.json | 2 +- .../stable/2021-07-01/examples/registerFeature.json | 2 +- .../stable/2021-07-01/examples/unregisterFeature.json | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json index 21d51cf06588..ead23307b59d 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationDELETE.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-1111-2222-3333-444444444444", "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", "featureName": "testFeature", - "api-version": "2020-09-01" + "api-version": "2021-07-01" }, "responses": { "200": {}, diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json index e965015e7dfa..87f3a8c694b4 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationGET.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-1111-2222-3333-444444444444", "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", "featureName": "testFeature", - "api-version": "2020-09-01" + "api-version": "2021-07-01" }, "responses": { "200": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json index a51a74f3ef28..458689ef3674 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLIST.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "00000000-1111-2222-3333-444444444444", "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", - "api-version": "2020-09-01" + "api-version": "2021-07-01" }, "responses": { "200": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json index 9b71ed1cea58..4a9b42f55c49 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationLISTALL.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "00000000-1111-2222-3333-444444444444", - "api-version": "2020-09-01" + "api-version": "2021-07-01" }, "responses": { "200": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json index db39f6e6e4ef..79f0e0e1a416 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/FeatureRegistration/SubscriptionFeatureRegistrationPUT.json @@ -3,7 +3,7 @@ "subscriptionId": "00000000-1111-2222-3333-444444444444", "providerNamespace": "subscriptionFeatureRegistrationGroupTestRG", "featureName": "testFeature", - "api-version": "2020-09-01", + "api-version": "2021-07-01", "SubscriptionFeatureRegistrationType": { "properties": {} } diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json index 0a0a1a60e8a5..fc7972ef903c 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/getFeature.json @@ -2,7 +2,7 @@ "parameters": { "resourceProviderNamespace": "Resource Provider Namespace", "featureName": "feature", - "api-version": "2015-12-01", + "api-version": "2021-07-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json index 30a224e78db3..847c4a7ef8e8 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listFeaturesOperations.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2015-12-01" + "api-version": "2021-07-01" }, "responses": { "200": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json index 7fa87645ed64..9fbcf79d2d21 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listProviderFeatures.json @@ -1,7 +1,7 @@ { "parameters": { "resourceProviderNamespace": "Resource Provider Namespace", - "api-version": "2015-12-01", + "api-version": "2021-07-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json index 237ef8e0f1a9..033823aa7480 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/listSubscriptionFeatures.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2015-12-01", + "api-version": "2021-07-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json index 0a0a1a60e8a5..fc7972ef903c 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/registerFeature.json @@ -2,7 +2,7 @@ "parameters": { "resourceProviderNamespace": "Resource Provider Namespace", "featureName": "feature", - "api-version": "2015-12-01", + "api-version": "2021-07-01", "subscriptionId": "subid" }, "responses": { diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json index dc44a62c04ee..4da2c9578dd3 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/examples/unregisterFeature.json @@ -2,7 +2,7 @@ "parameters": { "resourceProviderNamespace": "Resource Provider Namespace", "featureName": "feature", - "api-version": "2015-12-01", + "api-version": "2021-07-01", "subscriptionId": "ff23096b-f5a2-46ea-bd62-59c3e93fef9a" }, "responses": {