diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json new file mode 100644 index 000000000000..16c247df7bb7 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customAssessmentAutomations/{customAssessmentAutomationName}": { + "get": { + "summary": "Gets a custom assessment automation", + "description": "Gets a single custom assessment automation by name for the provided subscription and resource group.", + "tags": [ + "customAssessmentAutomations" + ], + "operationId": "CustomAssessmentAutomations_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/customAssessmentAutomationName" + } + ], + "x-ms-examples": { + "Get a Custom Assessment Automation": { + "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json" + } + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customAssessmentAutomation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "summary": "Creates a custom assessment automation", + "description": "Creates or updates a custom assessment automation for the provided subscription. Please note that providing an existing custom assessment automation will replace the existing record.", + "tags": [ + "customAssessmentAutomations" + ], + "operationId": "CustomAssessmentAutomations_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/customAssessmentAutomationName" + }, + { + "$ref": "#/parameters/customAssessmentAutomationBody" + } + ], + "x-ms-examples": { + "Create a Custom Assessment Automation": { + "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json" + } + }, + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/customAssessmentAutomation" + } + }, + "200": { + "description": "OK - Updated", + "schema": { + "$ref": "#/definitions/customAssessmentAutomation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "summary": "Deletes a custom assessment automation", + "description": "Deletes a custom assessment automation by name for a provided subscription", + "tags": [ + "customAssessmentAutomations" + ], + "operationId": "CustomAssessmentAutomations_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/customAssessmentAutomationName" + } + ], + "x-ms-examples": { + "Delete a Custom Assessment Automation": { + "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json" + } + }, + "responses": { + "200": { + "description": "OK - Custom Assessment Automation was deleted" + }, + "204": { + "description": "No Content - Custom Assessment Automation does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Security/customAssessmentAutomations": { + "get": { + "summary": "List custom assessment automations in a subscription and a resource group", + "description": "List custom assessment automations by provided subscription and resource group", + "tags": [ + "customAssessmentAutomations" + ], + "operationId": "CustomAssessmentAutomations_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "x-ms-examples": { + "List Custom Assessment Automations in a subscription and a resource group": { + "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns a collection of Custom Assessment Automations", + "schema": { + "$ref": "#/definitions/customAssessmentAutomationsListResult" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/customAssessmentAutomations": { + "get": { + "summary": "List custom assessment automations in a subscription", + "description": "List custom assessment automations by provided subscription", + "tags": [ + "customAssessmentAutomations" + ], + "operationId": "CustomAssessmentAutomations_ListBySubscription", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "x-ms-examples": { + "List Custom Assessment Automations in a subscription": { + "$ref": "./examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns a collection of Custom Assessment Automations", + "schema": { + "$ref": "#/definitions/customAssessmentAutomationsListResult" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "customAssessmentAutomationsListResult": { + "type": "object", + "description": "A list of Custom Assessment Automations", + "properties": { + "value": { + "description": "Collection of Custom Assessment Automations", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/customAssessmentAutomation" + } + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + } + }, + "customAssessmentAutomation": { + "type": "object", + "description": "Custom Assessment Automation", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "describes Custom Assessment Automation properties.", + "$ref": "#/definitions/customAssessmentAutomationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "customAssessmentAutomationProperties": { + "type": "object", + "description": "describes the Custom Assessment Automation properties", + "properties": { + "compressedQuery": { + "description": "GZip encoded KQL query representing the assessment automation results required.", + "type": "string" + }, + "supportedCloud": { + "description": "Relevant cloud for the custom assessment automation.", + "type": "string", + "enum": [ + "AWS" + ], + "x-ms-enum": { + "name": "supportedCloudEnum", + "modelAsString": true + }, + "x-ms-client-default": "AWS" + }, + "severity": { + "description": "The severity to relate to the assessments generated by this assessment automation.", + "type": "string", + "enum": [ + "High", + "Medium", + "Low" + ], + "x-ms-enum": { + "name": "severityEnum", + "modelAsString": true + }, + "x-ms-client-default": "Low" + }, + "description": { + "description": "The description to relate to the assessments generated by this assessment automation.", + "type": "string" + }, + "remediationDescription": { + "description": "The remediation description to relate to the assessments generated by this assessment automation.", + "type": "string" + } + } + } + }, + "parameters": { + "customAssessmentAutomationName": { + "name": "customAssessmentAutomationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Custom Assessment Automation.", + "x-ms-parameter-location": "method" + }, + "customAssessmentAutomationBody": { + "name": "customAssessmentAutomationBody", + "in": "body", + "description": "Custom Assessment Automation body", + "required": true, + "schema": { + "$ref": "#/definitions/customAssessmentAutomation" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json new file mode 100644 index 000000000000..9d7ffbf8c222 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationCreate_example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b", + "resourceGroupName": "TestResourceGroup", + "customAssessmentAutomationName": "MyCustomAssessmentAutomation", + "customAssessmentAutomationBody": { + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "supportedCloud": "AWS", + "severity": "Medium", + "description": "Data should be encrypted", + "remediationDescription": "Encrypt store by..." + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771", + "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "supportedCloud": "AWS", + "severity": "Medium", + "description": "Data should be encrypted", + "remediationDescription": "Encrypt store by..." + } + } + }, + "201": { + "body": { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/33e7cc6e-a139-4723-a0e5-76993aee0771", + "name": "33e7cc6e-a139-4723-a0e5-76993aee0771", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "supportedCloud": "AWS", + "severity": "Low", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to..." + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json new file mode 100644 index 000000000000..b6939c3fe989 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationDelete_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b", + "resourceGroupName": "TestResourceGroup", + "customAssessmentAutomationName": "MyCustomAssessmentAutomation" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json new file mode 100644 index 000000000000..9b35fa5db07f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationGet_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b", + "resourceGroupName": "TestResourceGroup", + "customAssessmentAutomationName": "MyCustomAssessmentAutomation" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation", + "name": "MyCustomAssessmentAutomation", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "supportedCloud": "AWS", + "severity": "Low", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to..." + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json new file mode 100644 index 000000000000..5be20c22f84a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListByResourceGroup_example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b", + "resourceGroupName": "TestResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1", + "name": "MyCustomAssessmentAutomation1", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "supportedCloud": "AWS", + "severity": "Medium", + "description": "Data should be encrypted", + "remediationDescription": "Encrypt store by..." + } + }, + { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2", + "name": "MyCustomAssessmentAutomation2", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "supportedCloud": "AWS", + "severity": "Low", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to..." + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json new file mode 100644 index 000000000000..3e11c0fd88e7 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2021-07-01-preview", + "subscriptionId": "e5d1b86c-3051-44d5-8802-aa65d45a279b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation1", + "name": "MyCustomAssessmentAutomation1", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwtILC4uzy9KCcjPyUyu5OWqUShJzE5VMAQAlMJzABgAAAA=", + "supportedCloud": "AWS", + "severity": "Medium", + "description": "Data should be encrypted", + "remediationDescription": "Encrypt store by..." + } + }, + { + "id": "/subscriptions/e5d1b86c-3051-44d5-8802-aa65d45a279b/resourcegroups/TestResourceGroup/providers/Microsoft.Security/customAssessmentAutomations/MyCustomAssessmentAutomation2", + "name": "MyCustomAssessmentAutomation2", + "type": "Microsoft.Security/customAssessmentAutomations", + "properties": { + "compressedQuery": "H4sIAAAAAAAAAwvIz8lMrgzKz0nlqlFIrShJzUtR8Cz2SE3MKcmoVLBVUE9LzClOVQcA1IFnficAAAA=", + "supportedCloud": "AWS", + "severity": "Low", + "description": "organization passwords policy", + "remediationDescription": "Change password policy to..." + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index faf7ea0c9c48..3bcaa903b7f2 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -61,13 +61,13 @@ tag: package-composite-v3 The following packages may be composed from multiple api-versions. - ### Tag: package-composite-v1 These settings apply only when `--tag=package-composite-v1` is specified on the command line. ``` yaml $(tag) == 'package-composite-v1' input-file: +- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json @@ -111,6 +111,7 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ``` yaml $(tag) == 'package-composite-v2' input-file: +- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json @@ -156,6 +157,7 @@ These settings apply only when `--tag=package-composite-v3` is specified on the ``` yaml $(tag) == 'package-composite-v3' input-file: +- Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/stable/2017-08-01/complianceResults.json - Microsoft.Security/stable/2018-06-01/pricings.json - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json @@ -414,6 +416,20 @@ override-info: title: SecurityCenter ``` +### Tag: package-preview-2021-07 + +These settings apply only when `--tag=package-2021-07-preview-only` is specified on the command line. + +```yaml $(tag) == 'package-2021-07-preview-only' +input-file: + - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json +``` + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + ### Tag: package-2021-06-only These settings apply only when `--tag=package-2021-06-only` is specified on the command line. This tag is used for Ruby SDK.