From 9f25badbd85c193def5e4e5bd615cfff57109aa5 Mon Sep 17 00:00:00 2001 From: gkostal Date: Wed, 16 Jun 2021 19:23:21 -0700 Subject: [PATCH] Create "2021-06-01-preview" api-version for Azure Attestation service (private endpoint required changes) (#14766) * Copy 2020-10-01 to 2021-06-01-preview * Make changes that define 2021-06-01-preview api-version * Updated readme.md * Address spell checker and lint issues * Switched publicNetworkAccess to optional on creation of attestation provider --- .../2021-06-01-preview/attestation.json | 922 ++++++++++++++++++ ...oviderDeletePrivateEndpointConnection.json | 14 + ...nProviderGetPrivateEndpointConnection.json | 28 + ...roviderListPrivateEndpointConnections.json | 47 + ...ationProviderListPrivateLinkResources.json | 39 + ...nProviderPutPrivateEndpointConnection.json | 37 + .../examples/Create_AttestationProvider.json | 59 ++ .../examples/Delete_AttestationProvider.json | 20 + .../examples/Get_AttestationProvider.json | 29 + .../Get_AttestationProvidersList.json | 32 + ...testationProvidersListByResourceGroup.json | 33 + .../Get_DefaultProviderByLocation.json | 23 + .../examples/Get_DefaultProviders.json | 38 + .../examples/Operations_List.json | 38 + .../examples/Update_AttestationProvider.json | 39 + .../attestation/resource-manager/readme.md | 9 + 16 files changed, 1407 insertions(+) create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderDeletePrivateEndpointConnection.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderGetPrivateEndpointConnection.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateEndpointConnections.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateLinkResources.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderPutPrivateEndpointConnection.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Create_AttestationProvider.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Delete_AttestationProvider.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvider.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersList.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviderByLocation.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviders.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Operations_List.json create mode 100644 specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Update_AttestationProvider.json diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json new file mode 100644 index 000000000000..c0dc950776d4 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json @@ -0,0 +1,922 @@ +{ + "swagger": "2.0", + "info": { + "title": "AttestationManagementClient", + "description": "Various APIs for managing resources in attestation service. This primarily encompasses per-provider management.", + "version": "2021-06-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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.Attestation/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Azure attestation operations.", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List all the operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_Get", + "description": "Get the status of Attestation Provider.", + "x-ms-examples": { + "AttestationProviders_Get": { + "$ref": "./examples/Get_AttestationProvider.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "providerName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the attestation provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The status of the specified attestation provider", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "default": { + "description": "Error result from Attestation service", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_Create", + "description": "Creates a new Attestation Provider.", + "x-ms-examples": { + "AttestationProviders_Create": { + "$ref": "./examples/Create_AttestationProvider.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "providerName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the attestation provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "creationParams", + "in": "body", + "required": true, + "description": "Client supplied parameters.", + "schema": { + "$ref": "#/definitions/AttestationServiceCreationParams" + }, + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "Created or updated attestation service", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "201": { + "description": "Created or updated attestation service", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "default": { + "description": "Error result from Attestation service", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_Update", + "description": "Updates the Attestation Provider.", + "x-ms-examples": { + "AttestationProviders_Update": { + "$ref": "./examples/Update_AttestationProvider.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "providerName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the attestation provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "updateParams", + "in": "body", + "required": true, + "description": "Client supplied parameters.", + "schema": { + "$ref": "#/definitions/AttestationServicePatchParams" + }, + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "Updated attestation service", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "default": { + "description": "Error result from Attestation service", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_Delete", + "description": "Delete Attestation Service.", + "x-ms-examples": { + "AttestationProviders_Delete": { + "$ref": "./examples/Delete_AttestationProvider.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "providerName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the attestation service" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Resource exists and was deleted successfully" + }, + "202": { + "description": "Request accepted for deletion of attestation service" + }, + "204": { + "description": "Resource does not exist" + }, + "default": { + "description": "Error result from Attestation service", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProvider/{providerName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the attestation provider.", + "x-ms-examples": { + "AttestationProviderListPrivateEndpointConnections": { + "$ref": "./examples/AttestationProviderListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProviderName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error result from Attestation service", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the attestation provider.", + "x-ms-examples": { + "AttestationProviderGetPrivateEndpointConnection": { + "$ref": "./examples/AttestationProviderGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProviderName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Create", + "description": "Update the state of specified private endpoint connection associated with the attestation provider.", + "x-ms-examples": { + "AttestationProviderPutPrivateEndpointConnection": { + "$ref": "./examples/AttestationProviderPutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProviderName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the attestation provider.", + "x-ms-examples": { + "AttestationProviderDeletePrivateEndpointConnection": { + "$ref": "./examples/AttestationProviderDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProviderName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByProvider", + "description": "Gets the private link resources supported for the attestation provider.", + "x-ms-examples": { + "AttestationProviderListPrivateLinkResources": { + "$ref": "./examples/AttestationProviderListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProviderName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/attestationProviders": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_List", + "description": "Returns a list of attestation providers in a subscription.", + "x-ms-examples": { + "AttestationProviders_List": { + "$ref": "./examples/Get_AttestationProvidersList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AttestationProviderListResult" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_ListByResourceGroup", + "description": "Returns attestation providers list in a resource group.", + "x-ms-examples": { + "AttestationProviders_ListByResourceGroup": { + "$ref": "./examples/Get_AttestationProvidersListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AttestationProviderListResult" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/defaultProviders": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_ListDefault", + "description": "Get the default provider", + "x-ms-examples": { + "AttestationProviders_GetDefault": { + "$ref": "./examples/Get_DefaultProviders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the default provider.", + "schema": { + "$ref": "#/definitions/AttestationProviderListResult" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/locations/{location}/defaultProvider": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_GetDefaultByLocation", + "description": "Get the default provider by location.", + "x-ms-examples": { + "AttestationProviders_GetDefaultWithLocation": { + "$ref": "./examples/Get_DefaultProviderByLocation.json" + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "description": "The location of the default provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the default provider.", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "OperationList": { + "properties": { + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + }, + "value": { + "type": "array", + "description": "List of supported operations.", + "items": { + "$ref": "#/definitions/OperationsDefinition" + } + } + }, + "description": "List of supported operations." + }, + "OperationsDefinition": { + "type": "object", + "description": "Definition object with the name and properties of an operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation." + }, + "display": { + "$ref": "#/definitions/OperationsDisplayDefinition", + "description": "Display object with properties of the operation." + } + } + }, + "OperationsDisplayDefinition": { + "type": "object", + "description": "Display object with properties of the operation.", + "properties": { + "provider": { + "type": "string", + "description": "Resource provider of the operation." + }, + "resource": { + "type": "string", + "description": "Resource for the operation." + }, + "operation": { + "type": "string", + "description": "Short description of the operation." + }, + "description": { + "type": "string", + "description": "Description of the operation." + } + } + }, + "AttestationProvider": { + "description": "Attestation service response message.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + }, + "properties": { + "type": "object", + "$ref": "#/definitions/StatusResult", + "description": "Describes Attestation service status.", + "x-ms-client-flatten": true + } + } + }, + "StatusResult": { + "type": "object", + "description": "Status of attestation service.", + "properties": { + "trustModel": { + "type": "string", + "description": "Trust model for the attestation provider." + }, + "status": { + "type": "string", + "description": "Status of attestation service.", + "enum": [ + "Ready", + "NotReady", + "Error" + ], + "x-ms-enum": { + "name": "AttestationServiceStatus", + "modelAsString": true + } + }, + "attestUri": { + "type": "string", + "description": "Gets the uri of attestation service" + }, + "publicNetworkAccess": { + "description": "Controls whether traffic from the public network is allowed to access the Attestation Provider APIs.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connections associated with the attestation provider." + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from Attestation." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for displaying in a user interface." + } + }, + "description": "An error response from Attestation." + }, + "AttestationProviderListResult": { + "description": "Attestation Providers List.", + "properties": { + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + }, + "value": { + "type": "array", + "description": "Attestation Provider array.", + "items": { + "$ref": "#/definitions/AttestationProvider" + } + } + } + }, + "AttestationServicePatchParams": { + "description": "Parameters for patching an attestation provider", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the attestation provider." + }, + "properties": { + "$ref": "#/definitions/AttestationServicePatchSpecificParams", + "description": "Properties of the attestation provider" + } + } + }, + "AttestationServicePatchSpecificParams": { + "type": "object", + "description": "Client supplied parameters used to patch an existing attestation provider.", + "properties": { + "publicNetworkAccess": { + "description": "Controls whether traffic from the public network is allowed to access the Attestation Provider APIs.", + "$ref": "#/definitions/PublicNetworkAccessType" + } + } + }, + "AttestationServiceCreationParams": { + "description": "Parameters for creating an attestation provider", + "required": [ + "location", + "properties" + ], + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "The supported Azure location where the attestation provider should be created." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the attestation provider." + }, + "properties": { + "$ref": "#/definitions/AttestationServiceCreationSpecificParams", + "description": "Properties of the attestation provider" + } + } + }, + "AttestationServiceCreationSpecificParams": { + "description": "Client supplied parameters used to create a new attestation provider.", + "properties": { + "publicNetworkAccess": { + "description": "Controls whether traffic from the public network is allowed to access the Attestation Provider APIs.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "policySigningCertificates": { + "description": "JSON Web Key Set defining a set of X.509 Certificates that will represent the parent certificate for the signing certificate used for policy operations", + "$ref": "../../../../../common-types/rfcs/rfc7517.json#/definitions/JSONWebKeySet" + } + } + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The public network access type for API calls to the Attestation Provider.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Enables public network connectivity to the Attestation Provider REST APIs." + }, + { + "value": "Disabled", + "description": "Disables public network connectivity to the Attestation Provider REST APIs." + } + ] + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version. Current version is 2021-06-01-preview" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the attestation providers.", + "x-ms-parameter-location": "method" + }, + "ProviderName": { + "name": "providerName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the attestation provider.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderDeletePrivateEndpointConnection.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..2737a0047396 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "providerName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2019-06-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderGetPrivateEndpointConnection.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6a1083e7df7b --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "providerName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Attestation/attestationProviders/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Attestation/attestationProviders/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateEndpointConnections.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateEndpointConnections.json new file mode 100644 index 000000000000..0bf11bcaf39b --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateEndpointConnections.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "providerName": "sto2527", + "api-version": "2019-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Attestation/attestationProviders/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Attestation/attestationProviders/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Attestation/attestationProviders/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Attestation/attestationProviders/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateLinkResources.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateLinkResources.json new file mode 100644 index 000000000000..74939d521ae4 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderListPrivateLinkResources.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "resourceGroupName": "MyResourceGroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview", + "providerName": "myattestationprovider" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider/privateLinkResources/tenant", + "name": "tenant", + "type": "Microsoft.Attestation/attestationProviders/privateLinkResources", + "properties": { + "groupId": "standard", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.attest.azure.net" + ] + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderPutPrivateEndpointConnection.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderPutPrivateEndpointConnection.json new file mode 100644 index 000000000000..659d10abfaf7 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/AttestationProviderPutPrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "providerName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2019-06-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Attestation/attestationProviders/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Attestation/attestationProviders/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Create_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Create_AttestationProvider.json new file mode 100644 index 000000000000..8efe9724dc82 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Create_AttestationProvider.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "MyResourceGroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview", + "providerName": "myattestationprovider", + "creationParams": { + "location": "East US", + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://myattestationprovider.eus.attest.azure.net" + } + } + }, + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://myattestationprovider.eus.attest.azure.net" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Delete_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Delete_AttestationProvider.json new file mode 100644 index 000000000000..65615ba8d809 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Delete_AttestationProvider.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "serviceName": "sampleservicename", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview", + "providerName": "myattestationprovider" + }, + "responses": { + "202": { + "description": "Request accepted for deletion of attestation service" + }, + "200": { + "description": "Resource exists and was deleted successfully" + }, + "204": { + "description": "Resource does not exist" + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvider.json new file mode 100644 index 000000000000..552945a991bb --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvider.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceGroupName": "MyResourceGroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview", + "providerName": "myattestationprovider" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "Isolated", + "status": "Ready", + "attestUri": "https://superservice.attestation.azure.net" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersList.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersList.json new file mode 100644 index 000000000000..29265cb70846 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "properties": { + "status": "Ready" + } + }, + { + "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg2/providers/Microsoft.Attestation/attestationProviders/codes2", + "name": "codes2", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "properties": { + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json new file mode 100644 index 000000000000..9be2ab2ed038 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_AttestationProvidersListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg1", + "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915", + "api-version": "2018-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "properties": { + "status": "Ready" + } + }, + { + "id": "subscriptions/6c96b33e-f5b8-40a6-9011-5cb1c58b0915/resourceGroups/testrg1/providers/Microsoft.Attestation/attestationProviders/codes2", + "name": "codes2", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "properties": { + "status": "Ready" + } + } + ] + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviderByLocation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviderByLocation.json new file mode 100644 index 000000000000..a8b823686f6a --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviderByLocation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915", + "api-version": "2021-06-01-preview", + "location": "Central US" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus", + "name": "sharedcus", + "type": "Microsoft.Attestation/attestationProviders", + "location": "Central US", + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://sharedcus.cus.attest.azure.net" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviders.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviders.json new file mode 100644 index 000000000000..6e76fa375f99 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Get_DefaultProviders.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus", + "name": "sharedcus", + "type": "Microsoft.Attestation/attestationProviders", + "location": "Central US", + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://sharedcus.cus.attest.azure.net" + } + }, + { + "id": "providers/Microsoft.Attestation/attestationProviders/shareduks", + "name": "shareduks", + "type": "Microsoft.Attestation/attestationProviders", + "location": "UK South", + "properties": { + "publicNetworkAccess": "Enabled", + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://shareduks.uks.attest.azure.net" + } + } + ] + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Operations_List.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..5fae36572e26 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Operations_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "name": "Microsoft.Attestation/attestationProviders/attestation/read", + "display": { + "provider": "Microsoft Azure Attestation", + "resource": "Attestation", + "operation": "Get status of attestation service", + "description": "Get status of attestation service." + } + }, + { + "name": "Microsoft.Attestation/attestationProviders/attestation/write", + "display": { + "provider": "Microsoft Azure Attestation", + "resource": "Attestation", + "operation": "Adds attestation service.", + "description": "Adds attestation service." + } + }, + { + "name": "Microsoft.Attestation/attestationProviders/attestation/delete", + "display": { + "provider": "Microsoft Azure Attestation", + "resource": "Attestation", + "operation": "Removes attestation service", + "description": "Removes attestation service" + } + } + ] + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Update_AttestationProvider.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Update_AttestationProvider.json new file mode 100644 index 000000000000..11d06285a293 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/examples/Update_AttestationProvider.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "resourceGroupName": "MyResourceGroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2021-06-01-preview", + "providerName": "myattestationprovider", + "updateParams": { + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/myattestationprovider", + "name": "myattestationprovider", + "type": "Microsoft.Attestation/attestationProviders", + "location": "East US", + "tags": { + "Property1": "Value1", + "Property2": "Value2", + "Property3": "Value3" + }, + "properties": { + "publicNetworkAccess": "Disabled", + "trustModel": "Isolated", + "status": "Ready", + "attestUri": "https://superservice.attestation.azure.net" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md index 3c736ccdf1dd..f4edbed26196 100644 --- a/specification/attestation/resource-manager/readme.md +++ b/specification/attestation/resource-manager/readme.md @@ -48,6 +48,15 @@ input-file: ``` +### Tag: package-2021-06-01 + +These settings apply only when `--tag=package-2021-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06-01' +input-file: +- Microsoft.Attestation/preview/2021-06-01-preview/attestation.json +``` + --- # Code Generation