diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessmentList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessmentList_example.json new file mode 100644 index 000000000000..0a5bd1c785d8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessmentList_example.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "regulatoryComplianceStandardName": "PCI-DSS-3.2", + "regulatoryComplianceControlName": "1.1" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/1.1/regulatoryComplianceAssessments/968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "name": "968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "type": "Microsoft.Security/regulatoryComplianceAssessment", + "properties": { + "controlName": "1.1", + "description": "Troubleshoot missing scan data on your machines", + "assessmentType": "Assessment", + "assessmentDetailsLink": "https://management.azure.com/subscriptions/a27e854a-8578-4395-8eaf-6fc7849f3050/providers/Microsoft.Security/securityStatuses/968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "state": "failed", + "passedResources": 7, + "failedResources": 4, + "skippedResources": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/2/regulatoryComplianceAssessments/3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a", + "name": "3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a", + "type": "Microsoft.Security/regulatoryComplianceAssessment", + "properties": { + "controlName": "1.1", + "description": "Resolve endpoint protection health issues on your machines", + "assessmentType": "Assessment", + "assessmentDetailsLink": "https://management.azure.com/subscriptions/a27e854a-8578-4395-8eaf-6fc7849f3050/providers/Microsoft.Security/securityStatuses/3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a", + "state": "skipped", + "passedResources": 0, + "failedResources": 0, + "skippedResources": 10 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/2.1/regulatoryComplianceAssessments/d1db3318-01ff-16de-29eb-28b344515626", + "name": "d1db3318-01ff-16de-29eb-28b344515626", + "type": "Microsoft.Security/regulatoryComplianceAssessment", + "properties": { + "controlName": "1.1", + "description": "Install monitoring agent on your machines", + "assessmentType": "Assessment", + "assessmentDetailsLink": "https://management.azure.com/subscriptions/a27e854a-8578-4395-8eaf-6fc7849f3050/providers/Microsoft.Security/securityStatuses/d1db3318-01ff-16de-29eb-28b344515626", + "state": "passed", + "passedResources": 8, + "failedResources": 0, + "skippedResources": 0 + } + }] + } + } + } + } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessment_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessment_example.json new file mode 100644 index 000000000000..fb587b9143f8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceAssessment_example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "regulatoryComplianceStandardName": "PCI-DSS-3.2", + "regulatoryComplianceControlName": "1.1", + "regulatoryComplianceAssessmentName": "968548cb-02b3-8cd2-11f8-0cf64ab1a347" + }, + "responses": { + "200": { + "body": { + "value": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/1.1/regulatoryComplianceAssessments/968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "name": "968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "type": "Microsoft.Security/regulatoryComplianceAssessment", + "properties": { + "controlName": "1.1", + "description": "Troubleshoot missing scan data on your machines", + "assessmentType": "Assessment", + "assessmentDetailsLink": "https://management.azure.com/subscriptions/a27e854a-8578-4395-8eaf-6fc7849f3050/providers/Microsoft.Security/securityStatuses/968548cb-02b3-8cd2-11f8-0cf64ab1a347", + "state": "failed", + "passedResources": 7, + "failedResources": 4, + "skippedResources": 0 + } + } + } + } + } + } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControlList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControlList_example.json new file mode 100644 index 000000000000..c6d14084ec14 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControlList_example.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "regulatoryComplianceStandardName": "PCI-DSS-3.2" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/1.1", + "name": "1.1", + "type": "Microsoft.Security/regulatoryComplianceControl", + "properties": { + "standardName": "PCI-DSS-3.2", + "description": "Common Criteria Related to Organization and Management.", + "state": "failed", + "passedAssessments": 7, + "failedAssessments": 4, + "skippedAssessments": 0, + "unsupportedAssessments": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/2", + "name": "2", + "type": "Microsoft.Security/regulatoryComplianceControl", + "properties": { + "standardName": "PCI-DSS-3.2", + "description": "Confidential information is protected during the system design, development, testing, implementation, and change processes in accordance with confidentiality commitments and requirements.", + "state": "skipped", + "passedAssessments": 0, + "failedAssessments": 0, + "skippedAssessments": 10, + "unsupportedAssessments": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/2.1", + "name": "2.1", + "type": "Microsoft.Security/regulatoryComplianceControl", + "properties": { + "standardName": "PCI-DSS-3.2", + "description": "Changes to confidentiality commitments and requirements are communicated to internal and external users, vendors, and other third parties whose products and services are included in the system.", + "state": "unsupported", + "passedAssessments": 0, + "failedAssessments": 0, + "skippedAssessments": 0, + "unsupportedAssessments": 0 + } + }] + } + } + } + } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControl_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControl_example.json new file mode 100644 index 000000000000..7827996423b2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceControl_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "regulatoryComplianceStandardName": "PCI-DSS-3.2", + "regulatoryComplianceControlName": "1.1" + }, + "responses": { + "200": { + "body": { + "value": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2/regulatoryComplianceControls/1.1", + "name": "1.1", + "type": "Microsoft.Security/regulatoryComplianceControl", + "properties": { + "standardName": "PCI-DSS-3.2", + "description": "Common Criteria Related to Organization and Management", + "state": "failed", + "passedAssessments": 7, + "failedAssessments": 4, + "skippedAssessments": 0, + "unsupportedAssessments": 0 + } + } + } + } + } + } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandardList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandardList_example.json new file mode 100644 index 000000000000..48f00fa6037c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandardList_example.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2", + "name": "PCI-DSS-3.2", + "type": "Microsoft.Security/regulatoryComplianceStandard", + "properties": { + "state": "failed", + "passedControls": 7, + "failedControls": 4, + "skippedControls": 0, + "unsupportedControls": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/ISO-27001", + "name": "ISO-27001", + "type": "Microsoft.Security/regulatoryComplianceStandard", + "properties": { + "state": "skipped", + "passedControls": 0, + "failedControls": 0, + "skippedControls": 10, + "unsupportedControls": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/AZURE-CIS", + "name": "AZURE-CIS", + "type": "Microsoft.Security/regulatoryComplianceStandard", + "properties": { + "state": "unsupported", + "passedControls": 0, + "failedControls": 0, + "skippedControls": 0, + "unsupportedControls": 0 + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/SOC-TSP", + "name": "SOC-TSP", + "type": "Microsoft.Security/regulatoryComplianceStandard", + "properties": { + "state": "passed", + "passedControls": 15, + "failedControls": 0, + "skippedControls": 0, + "unsupportedControls": 0 + } + }] + } + } + } + } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandard_example.json new file mode 100644 index 000000000000..27954f21caba --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/RegulatoryCompliance/getRegulatoryComplianceStandard_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "regulatoryComplianceStandardName": "PCI-DSS-3.2" + }, + "responses": { + "200": { + "body": { + "value": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/regulatoryComplianceStandards/PCI-DSS-3.2", + "name": "PCI-DSS-3.2", + "type": "Microsoft.Security/regulatoryComplianceStandard", + "properties": { + "state": "failed", + "passedControls": 7, + "failedControls": 4, + "skippedControls": 0, + "unsupportedControls": 0 + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json new file mode 100644 index 000000000000..59dfb5bc3409 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -0,0 +1,599 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-01-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [ + { + "azure_auth": ["user_impersonation"] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/regulatoryComplianceStandards": { + "get": { + "x-ms-examples": { + "Get all supported regulatory compliance standards details and state": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceStandardList_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "Supported regulatory compliance standards details and state", + "operationId": "RegulatoryComplianceStandards_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceStandardList" + } + }, + "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/regulatoryComplianceStandards/{regulatoryComplianceStandardName}": { + "get": { + "x-ms-examples": { + "Get selected regulatory compliance standard details and state": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceStandard_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "Supported regulatory compliance details state for selected standard", + "operationId": "RegulatoryComplianceStandards_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/RegulatoryComplianceStandardName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceStandard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" +} + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/regulatoryComplianceStandards/{regulatoryComplianceStandardName}/regulatoryComplianceControls": { + "get": { + "x-ms-examples": { + "Get all regulatory compliance controls details and state for selected standard": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceControlList_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "All supported regulatory compliance controls details and state for selected standard", + "operationId": "RegulatoryComplianceControls_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceStandardName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceControlList" + } + }, + "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/regulatoryComplianceStandards/{regulatoryComplianceStandardName}/regulatoryComplianceControls/{regulatoryComplianceControlName}": { + "get": { + "x-ms-examples": { + "Get selected regulatory compliance control details and state": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceControl_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "Selected regulatory compliance control details and state", + "operationId": "RegulatoryComplianceControls_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/RegulatoryComplianceStandardName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceControlName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/regulatoryComplianceStandards/{regulatoryComplianceStandardName}/regulatoryComplianceControls/{regulatoryComplianceControlName}/regulatoryComplianceAssessments": { + "get": { + "x-ms-examples": { + "Get all assessments mapped to selected regulatory compliance control": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceAssessmentList_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "Details and state of assessments mapped to selected regulatory compliance control", + "operationId": "RegulatoryComplianceAssessments_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceStandardName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceControlName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ODataFilter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceAssessmentList" + } + }, + "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/regulatoryComplianceStandards/{regulatoryComplianceStandardName}/regulatoryComplianceControls/{regulatoryComplianceControlName}/regulatoryComplianceAssessments/{regulatoryComplianceAssessmentName}": { + "get": { + "x-ms-examples": { + "Get selected regulatory compliance assessment details and state": { + "$ref": "./examples/RegulatoryCompliance/getRegulatoryComplianceAssessment_example.json" + } + }, + "tags": ["RegulatoryCompliance"], + "description": "Supported regulatory compliance details and state for selected assessment", + "operationId": "RegulatoryComplianceAssessments_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/RegulatoryComplianceStandardName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceControlName" + }, + { + "$ref": "#/parameters/RegulatoryComplianceAssessmentName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RegulatoryComplianceAssessment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "RegulatoryComplianceStandardList": { + "description": "List of regulatory compliance standards response", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RegulatoryComplianceStandard" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "RegulatoryComplianceStandard": { + "type": "object", + "description": "Regulatory compliance standard details and state", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Regulatory compliance standard data", + "$ref": "#/definitions/RegulatoryComplianceStandardProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "RegulatoryComplianceStandardProperties": { + "type": "object", + "description": "Regulatory compliance standard data", + "properties": { + "state": { + "type": "string", + "description": "Aggregative state based on the standard's supported controls states", + "enum": ["Passed", "Failed", "Skipped", "Unsupported"], + "x-ms-enum": { + "name": "state", + "modelAsString": true, + "values": [ + { + "value": "Passed", + "description": "All supported regulatory compliance controls in the given standard have a passed state" + }, + { + "value": "Failed", + "description": "At least one supported regulatory compliance control in the given standard has a state of failed" + }, + { + "value": "Skipped", + "description": "All supported regulatory compliance controls in the given standard have a state of skipped" + }, + { + "value": "Unsupported", + "description": "No supported regulatory compliance data for the given standard" + } + ] + } + }, + "passedControls": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance controls of the given standard with a passed state" + }, + "failedControls": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance controls of the given standard with a failed state" + }, + "skippedControls": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance controls of the given standard with a skipped state" + }, + "unsupportedControls": { + "readOnly": true, + "type": "integer", + "description": "The number of regulatory compliance controls of the given standard which are unsupported by automated assessments" + } + } + }, + "RegulatoryComplianceControlList": { + "description": "List of regulatory compliance controls response", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "description": "List of regulatory compliance controls", + "items": { + "$ref": "#/definitions/RegulatoryComplianceControl" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "RegulatoryComplianceControl": { + "type": "object", + "description": "Regulatory compliance control details and state", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Regulatory compliance control data", + "$ref": "#/definitions/RegulatoryComplianceControlProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "RegulatoryComplianceControlProperties": { + "type": "object", + "description": "Regulatory compliance control data", + "properties": { + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the regulatory compliance control" + }, + "state": { + "type": "string", + "description": "Aggregative state based on the control's supported assessments states", + "enum": ["Passed", "Failed", "Skipped", "Unsupported"], + "x-ms-enum": { + "name": "state", + "modelAsString": true, + "values": [ + { + "value": "Passed", + "description": "All supported regulatory compliance assessments in the given control have a passed state" + }, + { + "value": "Failed", + "description": "At least one supported regulatory compliance assessment in the given control has a state of failed" + }, + { + "value": "Skipped", + "description": "All supported regulatory compliance assessments in the given control have a state of skipped" + }, + { + "value": "Unsupported", + "description": "No supported regulatory assessment data for the given control" + } + ] + } + }, + "passedAssessments": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance assessments of the given control with a passed state" + }, + "failedAssessments": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance assessments of the given control with a failed state" + }, + "skippedAssessments": { + "readOnly": true, + "type": "integer", + "description": "The number of supported regulatory compliance assessments of the given control with a skipped state" + } + } + }, + "RegulatoryComplianceAssessmentList": { + "description": "List of regulatory compliance assessment response", + "required": ["value"], + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RegulatoryComplianceAssessment" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "RegulatoryComplianceAssessment": { + "type": "object", + "description": "Regulatory compliance assessment details and state", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Regulatory compliance assessment data", + "$ref": "#/definitions/RegulatoryComplianceAssessmentProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "RegulatoryComplianceAssessmentProperties": { + "type": "object", + "description": "Regulatory compliance assessment data", + "properties": { + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the regulatory compliance assessment" + }, + "assessmentType": { + "readOnly": true, + "type": "string", + "description": "The expected type of assessment contained in the AssessmentDetailsLink" + }, + "assessmentDetailsLink": { + "readOnly": true, + "type": "string", + "description": "Link to more detailed assessment results data. The response type will be according to the assessmentType field" + }, + "state": { + "type": "string", + "description": "Aggregative state based on the assessment's scanned resources states", + "enum": ["Passed", "Failed", "Skipped", "Unsupported"], + "x-ms-enum": { + "name": "state", + "modelAsString": true, + "values": [ + { + "value": "Passed", + "description": "All related resources passed the given assessment" + }, + { + "value": "Failed", + "description": "The given assessment failed on at least one resource" + }, + { + "value": "Skipped", + "description": "The given assessment skipped on all related resources" + }, + { + "value": "Unsupported", + "description": "The given assessment has no supported resources" + } + ] + } + }, + "passedResources": { + "readOnly": true, + "type": "integer", + "description": "The given assessment's related resources count with passed state." + }, + "failedResources": { + "readOnly": true, + "type": "integer", + "description": "The given assessment's related resources count with failed state." + }, + "skippedResources": { + "readOnly": true, + "type": "integer", + "description": "The given assessment's related resources count with skipped state." + }, + "unsupportedResources": { + "readOnly": true, + "type": "integer", + "description": "The given assessment's related resources count with unsupported state." + } + } + } + }, + "parameters": { + "RegulatoryComplianceStandardName": { + "name": "regulatoryComplianceStandardName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the regulatory compliance standard object", + "x-ms-parameter-location": "method" + }, + "RegulatoryComplianceControlName": { + "name": "regulatoryComplianceControlName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the regulatory compliance control object", + "x-ms-parameter-location": "method" + }, + "RegulatoryComplianceAssessmentName": { + "name": "regulatoryComplianceAssessmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the regulatory compliance assessment object", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 071d9f0aebeb..44408a6ea173 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -51,6 +51,7 @@ These settings apply only when `--tag=package-composite-v1` is specified on the ```yaml $(tag) == 'package-composite-v1' input-file: +- 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 @@ -80,6 +81,7 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ```yaml $(tag) == 'package-composite-v2' input-file: +- 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 @@ -142,4 +144,4 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## Ruby -See configuration in [readme.ruby.md](./readme.ruby.md) \ No newline at end of file +See configuration in [readme.ruby.md](./readme.ruby.md)