diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json new file mode 100644 index 000000000000..ea7a8b9984c1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json @@ -0,0 +1,263 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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.Security/discoveredSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get discovered security solutions": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json" + } + }, + "tags": [ + "DiscoveredSecuritySolutions" + ], + "description": "Gets a list of discovered Security Solutions for the subscription.", + "operationId": "DiscoveredSecuritySolutions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get discovered security solutions from a security data location": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json" + } + }, + "tags": [ + "DiscoveredSecuritySolutions" + ], + "description": "Gets a list of discovered Security Solutions for the subscription and location.", + "operationId": "DiscoveredSecuritySolutions_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/discoveredSecuritySolutions/{discoveredSecuritySolutionName}": { + "get": { + "x-ms-examples": { + "Get discovered security solution from a security data location": { + "$ref": "./examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json" + } + }, + "tags": [ + "DiscoveredSecuritySolutions" + ], + "description": "Gets a specific discovered Security Solution.", + "operationId": "DiscoveredSecuritySolutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/DiscoveredSecuritySolutionName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiscoveredSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DiscoveredSecuritySolutionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiscoveredSecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "DiscoveredSecuritySolution": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiscoveredSecuritySolutionProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "DiscoveredSecuritySolutionProperties": { + "type": "object", + "properties": { + "securityFamily": { + "type": "string", + "description": "The security family of the discovered solution", + "enum": [ + "Waf", + "Ngfw", + "SaasWaf", + "Va" + ], + "x-ms-enum": { + "name": "securityFamily", + "modelAsString": true, + "values": [ + { + "value": "Waf" + }, + { + "value": "Ngfw" + }, + { + "value": "SaasWaf" + }, + { + "value": "Va" + } + ] + } + }, + "offer": { + "type": "string", + "description": "The security solutions' image offer" + }, + "publisher": { + "type": "string", + "description": "The security solutions' image publisher" + }, + "sku": { + "type": "string", + "description": "The security solutions' image sku" + } + }, + "required": [ + "securityFamily", + "offer", + "publisher", + "sku" + ] + } + }, + "parameters": { + "DiscoveredSecuritySolutionName": { + "name": "discoveredSecuritySolutionName", + "type": "string", + "in": "path", + "required": true, + "description": "Name of a discovered security solution.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json new file mode 100644 index 000000000000..7fdd44705361 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionResourceGroupLocation_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "centralus", + "discoveredSecuritySolutionName": "paloalto7" + }, + "responses": { + "200": { + "body": { + "properties": { + "securityFamily": "Ngfw", + "offer": "vmseries1", + "publisher": "paloaltonetworks", + "sku": "byol" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7", + "name": "paloalto7", + "type": "Microsoft.Security/locations/discoveredSecuritySolutions", + "location": "eastus2" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json new file mode 100644 index 000000000000..dd0249b47d48 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscriptionLocation_example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "centralus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "securityFamily": "Ngfw", + "offer": "cisco-asav", + "publisher": "cisco", + "sku": "asav-azure-byol" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP", + "name": "CP", + "type": "Microsoft.Security/locations/discoveredSecuritySolutions", + "location": "eastus" + }, + { + "properties": { + "securityFamily": "Ngfw", + "offer": "vmseries1", + "publisher": "paloaltonetworks", + "sku": "byol" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7", + "name": "paloalto7", + "type": "Microsoft.Security/locations/discoveredSecuritySolutions", + "location": "eastus2" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json new file mode 100644 index 000000000000..d629d7ab5bfd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/DiscoveredSecuritySolutions/GetDiscoveredSecuritySolutionsSubscription_example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "securityFamily": "Ngfw", + "offer": "cisco-asav", + "publisher": "cisco", + "sku": "asav-azure-byol" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/CP", + "name": "CP", + "type": "Microsoft.Security/locations/discoveredSecuritySolutions", + "location": "eastus" + }, + { + "properties": { + "securityFamily": "Ngfw", + "offer": "vmseries1", + "publisher": "paloaltonetworks", + "sku": "byol" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/discoveredSecuritySolutions/paloalto7", + "name": "paloalto7", + "type": "Microsoft.Security/locations/discoveredSecuritySolutions", + "location": "eastus2" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json new file mode 100644 index 000000000000..063a365fcdf0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "defaultresourcegroup-eus", + "ascLocation": "centralus", + "externalSecuritySolutionsName": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus" + }, + "responses": { + "200": { + "body": { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "eastus" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json new file mode 100644 index 000000000000..26626803e57d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "centralus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "eastus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westeurope" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-09T10:30:11.523Z", + "hostname": "barracuda", + "deviceVendor": "barracudanetworks", + "deviceType": "WAF", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda", + "name": "cef_omsprd_barracudanetworks_waf_barracuda", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-08T15:42:22.57Z", + "hostname": "demovm20", + "deviceVendor": "virtualHoneypot", + "deviceType": "Microsoft", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20", + "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm20", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-08T10:38:53.423Z", + "hostname": "demovm10", + "deviceVendor": "virtualHoneypot", + "deviceType": "Microsoft", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10", + "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm10", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd", + "name": "aad_omsprd", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "japaneast" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json new file mode 100644 index 000000000000..90c72216fc02 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-eus", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "eastus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-weu", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westeurope" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-09T10:30:11.523Z", + "hostname": "barracuda", + "deviceVendor": "barracudanetworks", + "deviceType": "WAF", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_barracudanetworks_waf_barracuda", + "name": "cef_omsprd_barracudanetworks_waf_barracuda", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-08T15:42:22.57Z", + "hostname": "demovm20", + "deviceVendor": "virtualHoneypot", + "deviceType": "Microsoft", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm20", + "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm20", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "CEF", + "properties": { + "lastEventReceived": "2018-05-08T10:38:53.423Z", + "hostname": "demovm10", + "deviceVendor": "virtualHoneypot", + "deviceType": "Microsoft", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/cef_omsprd_virtualhoneypot_Microsoft_demovm10", + "name": "cef_omsprd_virtualhoneypot_Microsoft_demovm10", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/unificationprod/providers/Microsoft.OperationalInsights/workspaces/omsprd" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/unificationprod/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_omsprd", + "name": "aad_omsprd", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "westcentralus" + }, + { + "kind": "AAD", + "properties": { + "connectivityState": "Discovered", + "deviceVendor": "Microsoft", + "deviceType": "Azure Active Directory Identity Protection", + "workspace": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/defaultresourcegroup-ejp/providers/Microsoft.OperationalInsights/workspaces/defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp" + } + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/defaultresourcegroup-ejp/providers/Microsoft.Security/locations/centralus/externalSecuritySolutions/aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp", + "name": "aad_defaultworkspace-20ff7fc3-e762-44dd-bd96-b71116dcdc23-ejp", + "type": "Microsoft.Security/locations/externalSecuritySolutions", + "location": "japaneast" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json new file mode 100644 index 000000000000..3b8b3b072232 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json @@ -0,0 +1,388 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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.Security/externalSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get external security solutions on a subscription": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscription_example.json" + } + }, + "description": "Gets a list of external security solutions for the subscription.", + "tags": [ + "ExternalSecuritySolutions" + ], + "operationId": "ExternalSecuritySolutions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get external security solutions on a subscription from security data location": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolutionsSubscriptionLocation_example.json" + } + }, + "description": "Gets a list of external Security Solutions for the subscription and location.", + "tags": [ + "ExternalSecuritySolutions" + ], + "operationId": "ExternalSecuritySolutions_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/ExternalSecuritySolutions/{externalSecuritySolutionsName}": { + "get": { + "x-ms-examples": { + "Get external security solution": { + "$ref": "./examples/ExternalSecuritySolutions/GetExternalSecuritySolution_example.json" + } + }, + "description": "Gets a specific external Security Solution.", + "tags": [ + "ExternalSecuritySolutions" + ], + "operationId": "ExternalSecuritySolutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/ExternalSecuritySolutionsName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExternalSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ExternalSecuritySolutionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExternalSecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "ExternalSecuritySolution": { + "type": "object", + "description": "Represents a security solution external to Azure Security Center which sends information to an OMS workspace and whose data is displayed by Azure Security Center.", + "required": [ + "kind" + ], + "discriminator": "kind", + "properties": {}, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "#/definitions/ExternalSecuritySolutionKind" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "CefExternalSecuritySolution": { + "x-ms-discriminator-value": "CEF", + "type": "object", + "description": "Represents a security solution which sends CEF logs to an OMS workspace", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CefSolutionProperties" + } + } + }, + "AtaExternalSecuritySolution": { + "x-ms-discriminator-value": "ATA", + "type": "object", + "description": "Represents an ATA security solution which sends logs to an OMS workspace", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AtaSolutionProperties" + } + } + }, + "AadExternalSecuritySolution": { + "x-ms-discriminator-value": "AAD", + "type": "object", + "description": "Represents an AAD identity protection solution which sends logs to an OMS workspace.", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolution" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AadSolutionProperties" + } + } + }, + "ExternalSecuritySolutionKind": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the external solution", + "enum": [ + "CEF", + "ATA", + "AAD" + ], + "x-ms-enum": { + "name": "ExternalSecuritySolutionKind", + "modelAsString": true, + "values": [ + { + "value": "CEF" + }, + { + "value": "ATA" + }, + { + "value": "AAD" + } + ] + } + } + } + }, + "ExternalSecuritySolutionProperties": { + "type": "object", + "description": "The solution properties (correspond to the solution kind)", + "additionalProperties": true, + "properties": { + "deviceVendor": { + "type": "string" + }, + "deviceType": { + "type": "string" + }, + "workspace": { + "$ref": "#/definitions/ConnectedWorkspace" + } + } + }, + "ConnectedWorkspace": { + "type": "object", + "title": "Represents an OMS workspace to which the solution is connected", + "properties": { + "id": { + "type": "string", + "description": "Azure resource ID of the connected OMS workspace" + } + } + }, + "AadConnectivityState": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "connectivityState": { + "type": "string", + "title": "The connectivity state of the external AAD solution ", + "enum": [ + "Discovered", + "NotLicensed", + "Connected" + ], + "x-ms-enum": { + "name": "AadConnectivityState", + "modelAsString": true, + "values": [ + { + "value": "Discovered" + }, + { + "value": "NotLicensed" + }, + { + "value": "Connected" + } + ] + } + } + } + }, + "AadSolutionProperties": { + "type": "object", + "title": "The external security solution properties for AAD solutions", + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + }, + { + "$ref": "#/definitions/AadConnectivityState" + } + ] + }, + "CefSolutionProperties": { + "type": "object", + "title": "The external security solution properties for CEF solutions", + "properties": { + "hostname": { + "type": "string" + }, + "agent": { + "type": "string" + }, + "lastEventReceived": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + } + ] + }, + "AtaSolutionProperties": { + "type": "object", + "title": "The external security solution properties for ATA solutions", + "properties": { + "lastEventReceived": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ExternalSecuritySolutionProperties" + } + ] + } + }, + "parameters": { + "ExternalSecuritySolutionsName": { + "name": "externalSecuritySolutionsName", + "in": "path", + "description": "Name of an external security solution.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 701b7b442b90..4140b446f9c3 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -1,335 +1,335 @@ -# Security Center - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for Security. - ---- - -## Getting Started - -To build the SDK for Security, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: - -> `autorest` - -To see additional help and options, run: - -> `autorest --help` - ---- - -## Configuration - -## Suppression - -``` yaml -directive: - - suppress: ValidFormats - from: securityContacts.json - where: $.definitions.SecurityContactProperties.properties.email.format - reason: email format is allowed - - suppress: ValidFormats - from: automations.json - where: $.definitions.AutomationActionLogicApp.properties.uri.format - reason: uri format is allowed - - suppress: PageableOperation - from: iotSecuritySolutionAnalytics.json - where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get' - reason: The list returns limited number of items -``` - -### Basic Information - -These are the global settings for the Security API. - -``` yaml -title: SecurityCenter -description: API spec for Microsoft.Security (Azure Security Center) resource provider -openapi-type: arm -tag: package-composite-v3 -``` - -## Composite packages - -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/2019-01-01-preview/automations.json -- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json -- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/preview/2017-08-01-preview/pricings.json -- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json -- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json -- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json -- Microsoft.Security/preview/2017-08-01-preview/compliances.json -- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json -- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json -- Microsoft.Security/preview/2017-08-01-preview/settings.json -- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json -- Microsoft.Security/preview/2015-06-01-preview/operations.json -- Microsoft.Security/preview/2015-06-01-preview/locations.json -- Microsoft.Security/preview/2015-06-01-preview/tasks.json -- Microsoft.Security/preview/2015-06-01-preview/alerts.json -- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json -- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json -- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/topologies.json -- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json -- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-composite-v2 - -These settings apply only when `--tag=package-composite-v2` is specified on the command line. - -``` yaml $(tag) == 'package-composite-v2' -input-file: -- Microsoft.Security/preview/2019-01-01-preview/automations.json -- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json -- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/stable/2018-06-01/pricings.json -- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json -- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json -- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json -- Microsoft.Security/preview/2017-08-01-preview/compliances.json -- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json -- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json -- Microsoft.Security/preview/2017-08-01-preview/settings.json -- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json -- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json -- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json -- Microsoft.Security/preview/2015-06-01-preview/operations.json -- Microsoft.Security/preview/2015-06-01-preview/locations.json -- Microsoft.Security/preview/2015-06-01-preview/tasks.json -- Microsoft.Security/stable/2019-01-01/alerts.json -- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json -- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json -- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/topologies.json -- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json -- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-composite-v3 - -These settings apply only when `--tag=package-composite-v3` is specified on the command line. - -``` yaml $(tag) == 'package-composite-v3' -input-file: -- Microsoft.Security/stable/2017-08-01/complianceResults.json -- Microsoft.Security/stable/2018-06-01/pricings.json -- Microsoft.Security/stable/2019-01-01/alerts.json -- Microsoft.Security/stable/2019-01-01/settings.json -- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json -- Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json -- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json -- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json -- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/locations.json -- Microsoft.Security/preview/2015-06-01-preview/operations.json -- Microsoft.Security/preview/2015-06-01-preview/tasks.json -- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json -- Microsoft.Security/preview/2017-08-01-preview/compliances.json -- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json -- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json -- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json -- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json -- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json -- Microsoft.Security/preview/2019-01-01-preview/automations.json -- Microsoft.Security/stable/2020-01-01/assessmentMetadata.json -- Microsoft.Security/stable/2020-01-01/assessments.json -- Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json -- Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json -- Microsoft.Security/stable/2020-01-01/allowedConnections.json -- Microsoft.Security/stable/2020-01-01/topologies.json -- Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2015-06-preview-only - -These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2015-06-preview-only' -input-file: -- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json -- Microsoft.Security/preview/2015-06-01-preview/alerts.json -- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json -- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json -- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json -- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json -- Microsoft.Security/preview/2015-06-01-preview/locations.json -- Microsoft.Security/preview/2015-06-01-preview/operations.json -- Microsoft.Security/preview/2015-06-01-preview/tasks.json -- Microsoft.Security/preview/2015-06-01-preview/topologies.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2017-08-preview-only - -These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2017-08-preview-only' -input-file: -- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json -- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json -- Microsoft.Security/preview/2017-08-01-preview/compliances.json -- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json -- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json -- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json -- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json -- Microsoft.Security/preview/2017-08-01-preview/pricings.json -- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json -- Microsoft.Security/preview/2017-08-01-preview/settings.json -- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2019-01-preview-only - -These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2019-01-preview-only' -input-file: -- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json -- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json -- Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json -- Microsoft.Security/preview/2019-01-01-preview/assessments.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2017-08-only - -These settings apply only when `--tag=package-2017-08-only` is specified on the command line. - -``` yaml $(tag) == 'package-2017-08-only' -input-file: -- Microsoft.Security/stable/2017-08-01/complianceResults.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2018-06-only - -These settings apply only when `--tag=package-2018-06-only` is specified on the command line. - -``` yaml $(tag) == 'package-2018-06-only' -input-file: -- Microsoft.Security/stable/2018-06-01/pricings.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2019-01-only - -These settings apply only when `--tag=package-2019-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2019-01-only' -input-file: -- Microsoft.Security/stable/2019-01-01/alerts.json -- Microsoft.Security/stable/2019-01-01/settings.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - -### Tag: package-2019-08-only - -These settings apply only when `--tag=package-2019-08-only` is specified on the command line. - -``` yaml $(tag) == 'package-2019-08-only' -input-file: -- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json -- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json - -# Needed when there is more than one input file -override-info: - title: SecurityCenter -``` - ---- - -# Code Generation - -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-net - - repo: azure-sdk-for-go - - repo: azure-sdk-for-python - - repo: azure-sdk-for-js - - repo: azure-sdk-for-node -``` - -## C# - -See configuration in [readme.csharp.md](./readme.csharp.md) - -## Go - -See configuration in [readme.go.md](./readme.go.md) - -## Python - -See configuration in [readme.python.md](./readme.python.md) - -## Node.js - -See configuration in [readme.nodejs.md](./readme.nodejs.md) - -## TypeScript - -See configuration in [readme.typescript.md](./readme.typescript.md) - -## Ruby - -See configuration in [readme.ruby.md](./readme.ruby.md) - -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - +# Security Center + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Security. + +--- + +## Getting Started + +To build the SDK for Security, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` + +--- + +## Configuration + +## Suppression + +``` yaml +directive: + - suppress: ValidFormats + from: securityContacts.json + where: $.definitions.SecurityContactProperties.properties.email.format + reason: email format is allowed + - suppress: ValidFormats + from: automations.json + where: $.definitions.AutomationActionLogicApp.properties.uri.format + reason: uri format is allowed + - suppress: PageableOperation + from: iotSecuritySolutionAnalytics.json + where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get' + reason: The list returns limited number of items +``` + +### Basic Information + +These are the global settings for the Security API. + +``` yaml +title: SecurityCenter +description: API spec for Microsoft.Security (Azure Security Center) resource provider +openapi-type: arm +tag: package-composite-v3 +``` + +## Composite packages + +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/2019-01-01-preview/automations.json +- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json +- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json +- Microsoft.Security/preview/2017-08-01-preview/pricings.json +- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json +- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json +- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json +- Microsoft.Security/preview/2017-08-01-preview/compliances.json +- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json +- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json +- Microsoft.Security/preview/2017-08-01-preview/settings.json +- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/operations.json +- Microsoft.Security/preview/2015-06-01-preview/locations.json +- Microsoft.Security/preview/2015-06-01-preview/tasks.json +- Microsoft.Security/preview/2015-06-01-preview/alerts.json +- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json +- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/topologies.json +- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json +- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-composite-v2 + +These settings apply only when `--tag=package-composite-v2` is specified on the command line. + +``` yaml $(tag) == 'package-composite-v2' +input-file: +- Microsoft.Security/preview/2019-01-01-preview/automations.json +- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json +- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json +- Microsoft.Security/stable/2018-06-01/pricings.json +- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json +- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json +- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json +- Microsoft.Security/preview/2017-08-01-preview/compliances.json +- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json +- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json +- Microsoft.Security/preview/2017-08-01-preview/settings.json +- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json +- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json +- Microsoft.Security/preview/2015-06-01-preview/operations.json +- Microsoft.Security/preview/2015-06-01-preview/locations.json +- Microsoft.Security/preview/2015-06-01-preview/tasks.json +- Microsoft.Security/stable/2019-01-01/alerts.json +- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json +- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/topologies.json +- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json +- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-composite-v3 + +These settings apply only when `--tag=package-composite-v3` is specified on the command line. + +``` yaml $(tag) == 'package-composite-v3' +input-file: +- Microsoft.Security/stable/2017-08-01/complianceResults.json +- Microsoft.Security/stable/2018-06-01/pricings.json +- Microsoft.Security/stable/2019-01-01/alerts.json +- Microsoft.Security/stable/2019-01-01/settings.json +- Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json +- Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json +- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json +- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json +- Microsoft.Security/preview/2015-06-01-preview/locations.json +- Microsoft.Security/preview/2015-06-01-preview/operations.json +- Microsoft.Security/preview/2015-06-01-preview/tasks.json +- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json +- Microsoft.Security/preview/2017-08-01-preview/compliances.json +- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json +- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json +- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json +- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json +- Microsoft.Security/preview/2019-01-01-preview/subAssessments.json +- Microsoft.Security/preview/2019-01-01-preview/automations.json +- Microsoft.Security/stable/2020-01-01/assessmentMetadata.json +- Microsoft.Security/stable/2020-01-01/assessments.json +- Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json +- Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json +- Microsoft.Security/stable/2020-01-01/allowedConnections.json +- Microsoft.Security/stable/2020-01-01/topologies.json +- Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json +- Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json +- Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2015-06-preview-only + +These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2015-06-preview-only' +input-file: +- Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json +- Microsoft.Security/preview/2015-06-01-preview/alerts.json +- Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json +- Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json +- Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json +- Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json +- Microsoft.Security/preview/2015-06-01-preview/locations.json +- Microsoft.Security/preview/2015-06-01-preview/operations.json +- Microsoft.Security/preview/2015-06-01-preview/tasks.json +- Microsoft.Security/preview/2015-06-01-preview/topologies.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2017-08-preview-only + +These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2017-08-preview-only' +input-file: +- Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json +- Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json +- Microsoft.Security/preview/2017-08-01-preview/compliances.json +- Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json +- Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json +- Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json +- Microsoft.Security/preview/2017-08-01-preview/pricings.json +- Microsoft.Security/preview/2017-08-01-preview/securityContacts.json +- Microsoft.Security/preview/2017-08-01-preview/settings.json +- Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2019-01-preview-only + +These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2019-01-preview-only' +input-file: +- Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json +- Microsoft.Security/preview/2019-01-01-preview/serverVulnerabilityAssessments.json +- Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json +- Microsoft.Security/preview/2019-01-01-preview/assessments.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2017-08-only + +These settings apply only when `--tag=package-2017-08-only` is specified on the command line. + +``` yaml $(tag) == 'package-2017-08-only' +input-file: +- Microsoft.Security/stable/2017-08-01/complianceResults.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2018-06-only + +These settings apply only when `--tag=package-2018-06-only` is specified on the command line. + +``` yaml $(tag) == 'package-2018-06-only' +input-file: +- Microsoft.Security/stable/2018-06-01/pricings.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2019-01-only + +These settings apply only when `--tag=package-2019-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2019-01-only' +input-file: +- Microsoft.Security/stable/2019-01-01/alerts.json +- Microsoft.Security/stable/2019-01-01/settings.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2019-08-only + +These settings apply only when `--tag=package-2019-08-only` is specified on the command line. + +``` yaml $(tag) == 'package-2019-08-only' +input-file: +- Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json +- Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-go + - repo: azure-sdk-for-python + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node +``` + +## C# + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Node.js + +See configuration in [readme.nodejs.md](./readme.nodejs.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + ``` yaml $(tag) == 'all-api-versions' /* autogenerated */ # include the azure profile definitions from the standard location require: $(this-folder)/../../../profiles/readme.md @@ -380,12 +380,12 @@ input-file: - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` \ No newline at end of file