diff --git a/custom-words.txt b/custom-words.txt index d05d7f26920e..53405d698af7 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -2142,3 +2142,4 @@ FSLogix privatelinkservice natgateway Ruleproperties +kibana \ No newline at end of file diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json new file mode 100644 index 000000000000..6de31a676f3a --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json @@ -0,0 +1,1356 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Elastic", + "version": "2020-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Elastic/operations": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all operations provided by Microsoft.Elastic.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified subscription.", + "operationId": "Monitors_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_List": { + "$ref": "./examples/Monitors_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "List all monitors under the specified resource group.", + "operationId": "Monitors_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_ListByResourceGroup": { + "$ref": "./examples/Monitors_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}": { + "get": { + "tags": [ + "MonitorsResource" + ], + "summary": "Get the properties of a specific monitor resource.", + "operationId": "Monitors_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Get": { + "$ref": "./examples/Monitors_Get.json" + } + } + }, + "put": { + "tags": [ + "MonitorsResource" + ], + "summary": "Create a monitor resource.", + "operationId": "Monitors_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic monitor resource model", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Monitors_Create": { + "$ref": "./examples/Monitors_Create.json" + } + } + }, + "patch": { + "tags": [ + "MonitorsResource" + ], + "summary": "Update a monitor resource.", + "operationId": "Monitors_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Elastic resource model update parameters.", + "schema": { + "$ref": "#/definitions/ElasticMonitorResourceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_Update": { + "$ref": "./examples/Monitors_Update.json" + } + } + }, + "delete": { + "tags": [ + "MonitorsResource" + ], + "summary": "Delete a monitor resource.", + "operationId": "Monitors_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_Delete": { + "$ref": "./examples/Monitors_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listMonitoredResources": { + "post": { + "tags": [ + "MonitoredResources" + ], + "summary": "List the resources currently being monitored by the Elastic monitor resource.", + "operationId": "MonitoredResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MonitoredResources_List": { + "$ref": "./examples/MonitoredResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listDeploymentInfo": { + "post": { + "tags": [ + "DeploymentInfo" + ], + "summary": "Fetch information regarding Elastic cloud deployment corresponding to the Elastic monitor resource.", + "operationId": "DeploymentInfo_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeploymentInfoResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "DeploymentInfo_List": { + "$ref": "./examples/DeploymentInfo_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules": { + "get": { + "tags": [ + "Rules" + ], + "summary": "List the tag rules for a given monitor resource.", + "operationId": "TagRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRulesListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TagRules_List": { + "$ref": "./examples/TagRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}": { + "put": { + "tags": [ + "Rules" + ], + "summary": "Create or update a tag rule set for a given monitor resource.", + "operationId": "TagRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + }, + { + "description": "request body of MonitoringTagRules", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_CreateOrUpdate": { + "$ref": "./examples/TagRules_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "Rules" + ], + "summary": "Get a tag rule set for a given monitor resource.", + "operationId": "TagRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "TagRules_Get": { + "$ref": "./examples/TagRules_Get.json" + } + } + }, + "delete": { + "tags": [ + "Rules" + ], + "summary": "Delete a tag rule set for a given monitor resource.", + "operationId": "TagRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/RuleSetNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TagRules_Delete": { + "$ref": "./examples/TagRules_Delete.json" + } + } + } + } + }, + "definitions": { + "ErrorResponseBody": { + "description": "Error response body.", + "title": "ErrorResponseBody", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Error target.", + "type": "string" + }, + "details": { + "description": "Error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "description": "RP default error response.", + "type": "object", + "properties": { + "error": { + "description": "Response body of Error", + "readOnly": true, + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider, i.e., Microsoft.Elastic.", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'monitors'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write monitors'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "A Microsoft.Elastic REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name, i.e., {provider}/{resource}/{operation}.", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list the Microsoft.Elastic operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Elastic provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "Microsoft.Elastic SKU.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the SKU.", + "type": "string" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "description": "Provisioning state of Elastic resource.", + "title": "ProvisioningState", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "MonitoringStatus": { + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MonitoringStatus" + } + }, + "ElasticCloudUser": { + "description": "Details of the user's elastic account.", + "type": "object", + "properties": { + "emailAddress": { + "description": "Email of the Elastic User Account.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "User Id of the elastic account of the User.", + "type": "string", + "readOnly": true + }, + "elasticCloudSsoDefaultUrl": { + "description": "Elastic cloud default dashboard sso URL of the Elastic user account.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticCloudDeployment": { + "description": "Details of the user's elastic deployment associated with the monitor resource.", + "type": "object", + "properties": { + "name": { + "description": "Elastic deployment name", + "type": "string", + "readOnly": true + }, + "deploymentId": { + "description": "Elastic deployment Id", + "type": "string", + "readOnly": true + }, + "azureSubscriptionId": { + "description": "Associated Azure subscription Id for the elastic deployment.", + "type": "string", + "readOnly": true + }, + "elasticsearchRegion": { + "description": "Region where Deployment at Elastic side took place.", + "type": "string", + "readOnly": true + }, + "elasticsearchServiceUrl": { + "description": "Elasticsearch ingestion endpoint of the Elastic deployment.", + "type": "string", + "readOnly": true + }, + "kibanaServiceUrl": { + "description": "Kibana endpoint of the Elastic deployment.", + "type": "string", + "readOnly": true + }, + "kibanaSsoUrl": { + "description": "Kibana dashboard sso URL of the Elastic deployment.", + "type": "string", + "readOnly": true + } + } + }, + "ElasticProperties": { + "description": "Elastic Resource Properties.", + "type": "object", + "properties": { + "elasticCloudUser": { + "description": "Details of the user's elastic account.", + "$ref": "#/definitions/ElasticCloudUser" + }, + "elasticCloudDeployment": { + "description": "Details of the elastic cloud deployment.", + "$ref": "#/definitions/ElasticCloudDeployment" + } + } + }, + "CompanyInfo": { + "description": "Company information of the user to be passed to partners.", + "type": "object", + "properties": { + "domain": { + "description": "Domain of the company", + "maxLength": 250, + "type": "string" + }, + "business": { + "description": "Business of the company", + "maxLength": 50, + "type": "string" + }, + "employeesNumber": { + "description": "Number of employees in the company", + "maxLength": 20, + "type": "string" + }, + "state": { + "description": "State of the company location.", + "maxLength": 50, + "type": "string" + }, + "country": { + "description": "Country of the company location.", + "maxLength": 50, + "type": "string" + } + } + }, + "UserInfo": { + "description": "User Information to be passed to partners.", + "type": "object", + "properties": { + "firstName": { + "description": "First name of the user", + "maxLength": 50, + "type": "string" + }, + "lastName": { + "description": "Last name of the user", + "maxLength": 50, + "type": "string" + }, + "companyName": { + "description": "Company name of the user", + "maxLength": 50, + "type": "string" + }, + "emailAddress": { + "description": "Email of the user used by Elastic for contacting them if needed", + "pattern": "^([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)@(([a-zA-Z-_0-9]+\\.)+[a-zA-Z]{2,})$", + "type": "string" + }, + "companyInfo": { + "description": "Company information of the user to be passed to partners.", + "$ref": "#/definitions/CompanyInfo" + } + } + }, + "LiftrResourceCategories": { + "enum": [ + "Unknown", + "MonitorLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "LiftrResourceCategories" + }, + "readOnly": true + }, + "MonitorProperties": { + "description": "Properties specific to the monitor resource.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the monitor resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "monitoringStatus": { + "description": "Flag specifying if the resource monitoring is enabled or disabled.", + "$ref": "#/definitions/MonitoringStatus" + }, + "elasticProperties": { + "description": "Elastic cloud properties.", + "$ref": "#/definitions/ElasticProperties" + }, + "userInfo": { + "description": "User information.", + "$ref": "#/definitions/UserInfo", + "x-ms-mutability": [ + "create" + ] + }, + "liftrResourceCategory": { + "$ref": "#/definitions/LiftrResourceCategories" + }, + "liftrResourcePreference": { + "description": "The priority of the resource.", + "format": "int32", + "type": "integer", + "readOnly": true + } + } + }, + "ManagedIdentityTypes": { + "enum": [ + "SystemAssigned" + ], + "type": "string", + "description": "Managed Identity types.", + "x-ms-enum": { + "modelAsString": true, + "name": "ManagedIdentityTypes" + } + }, + "IdentityProperties": { + "description": "Identity properties.", + "type": "object", + "properties": { + "principalId": { + "description": "The identity ID.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Managed identity type.", + "$ref": "#/definitions/ManagedIdentityTypes" + } + } + }, + "ElasticMonitorResource": { + "description": "Monitor resource.", + "required": [ + "location" + ], + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the monitor resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the monitor resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the monitor resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "SKU of the monitor resource.", + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "description": "Properties of the monitor resource.", + "$ref": "#/definitions/MonitorProperties", + "x-ms-client-flatten": false + }, + "identity": { + "description": "Identity properties of the monitor resource.", + "$ref": "#/definitions/IdentityProperties" + }, + "tags": { + "description": "The tags of the monitor resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "The location of the monitor resource", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "ElasticMonitorResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "ElasticMonitorResourceUpdateParameters": { + "description": "Monitor resource update parameters.", + "type": "object", + "properties": { + "tags": { + "description": "elastic monitor resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SendingLogs": { + "enum": [ + "True", + "False" + ], + "type": "string", + "description": "Flag indicating the status of the resource for sending logs operation to Elastic.", + "title": "SendingLogs", + "x-ms-enum": { + "modelAsString": true, + "name": "SendingLogs" + } + }, + "MonitoredResource": { + "description": "The properties of a resource currently being monitored by the Elastic monitor resource.", + "type": "object", + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string" + }, + "sendingLogs": { + "description": "Flag indicating the status of the resource for sending logs operation to Elastic.", + "$ref": "#/definitions/SendingLogs" + }, + "reasonForLogsStatus": { + "description": "Reason for why the resource is sending logs (or why it is not sending).", + "type": "string" + } + } + }, + "MonitoredResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MonitoredResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "TagAction": { + "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.", + "enum": [ + "Include", + "Exclude" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TagAction" + } + }, + "FilteringTag": { + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored.", + "type": "object", + "properties": { + "name": { + "description": "The name (also known as the key) of the tag.", + "type": "string" + }, + "value": { + "description": "The value of the tag.", + "type": "string" + }, + "action": { + "description": "Valid actions for a filtering tag.", + "$ref": "#/definitions/TagAction" + } + } + }, + "LogRules": { + "description": "Set of rules for sending logs for the Monitor resource.", + "type": "object", + "properties": { + "sendAadLogs": { + "description": "Flag specifying if AAD logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendSubscriptionLogs": { + "description": "Flag specifying if subscription logs should be sent for the Monitor resource.", + "type": "boolean" + }, + "sendActivityLogs": { + "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.", + "type": "boolean" + }, + "filteringTags": { + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.", + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + } + } + }, + "MonitoringTagRulesProperties": { + "description": "Definition of the properties for a TagRules resource.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the monitoring tag rules.", + "$ref": "#/definitions/ProvisioningState" + }, + "logRules": { + "description": "Rules for sending logs.", + "$ref": "#/definitions/LogRules" + } + } + }, + "MonitoringTagRules": { + "description": "Capture logs and metrics of Azure resources based on ARM tags.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "description": "Name of the rule set.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the rule set.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the rule set.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the monitoring tag rules.", + "$ref": "#/definitions/MonitoringTagRulesProperties", + "x-ms-client-flatten": false + }, + "systemData": { + "readOnly": true, + "description": "The system metadata relating to this resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "MonitoringTagRulesListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MonitoringTagRules" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "ElasticDeploymentStatus": { + "description": "Flag specifying if the Elastic deployment status is healthy or not.", + "enum": [ + "Healthy", + "Unhealthy" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ElasticDeploymentStatus" + } + }, + "DeploymentInfoResponse": { + "description": "The properties of deployment in Elastic cloud corresponding to the Elastic monitor resource.", + "type": "object", + "properties": { + "status": { + "description": "The Elastic deployment status.", + "$ref": "#/definitions/ElasticDeploymentStatus", + "readOnly": true + }, + "version": { + "description": "Version of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "memoryCapacity": { + "description": "RAM capacity of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + }, + "diskCapacity": { + "description": "Disk capacity of the elasticsearch in Elastic cloud deployment.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to be used with the HTTP request.", + "required": true, + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the Elastic resource belongs.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MonitorNameParameter": { + "in": "path", + "name": "monitorName", + "description": "Monitor resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleSetNameParameter": { + "in": "path", + "name": "ruleSetName", + "description": "Tag Rule Set resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json new file mode 100644 index 000000000000..334c276538dd --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "status": "Healthy", + "version": "7.9.3", + "memoryCapacity": "1024", + "diskCapacity": "245760" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json new file mode 100644 index 000000000000..fa4030ec7960 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVault", + "sendingLogs": "True", + "reasonForLogsStatus": "CapturedByRules" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json new file mode 100644 index 000000000000..6c53018b9684 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "name": "myMonitor", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "userInfo": { + "firstName": "Alice", + "lastName": "Bob", + "companyName": "Microsoft", + "emailAddress": "alice@microsoft.com", + "companyInfo": { + "domain": "microsoft.com", + "business": "Technology", + "employeeNumber": "10000", + "state": "WA", + "country": "US" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Accepted", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json new file mode 100644 index 000000000000..1c07f5cbf779 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json new file mode 100644 index 000000000000..e483049e9e7d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json new file mode 100644 index 000000000000..9083ac122807 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json new file mode 100644 index 000000000000..9e4531d0437a --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json new file mode 100644 index 000000000000..248f8ed7a2d7 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "name": "myMonitor", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "userInfo": { + "firstName": "Alice", + "lastName": "Bob", + "companyName": "Microsoft", + "emailAddress": "alice@microsoft.com", + "companyInfo": { + "domain": "microsoft.com", + "business": "Technology", + "employeeNumber": "10000", + "state": "WA", + "country": "US" + } + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor", + "name": "myMonitor", + "type": "Microsoft.Elastic/monitors", + "sku": { + "name": "free_Monthly" + }, + "properties": { + "provisioningState": "Succeeded", + "monitoringStatus": "Enabled", + "elasticProperties": { + "elasticCloudUser": { + "emailAddress": "alice@microsoft.com", + "id": "myid123", + "elasticCloudSsoDefaultUrl": "https://examplessourl.com" + }, + "elasticCloudDeployment": { + "name": "deploymentname", + "deploymentId": "deployment_id", + "azureSubscriptionId": "00000000-0000-0000-0000-000000000000", + "elasticsearchRegion": "azure-westus2", + "elasticsearchServiceUrl": "https://elasticsearchendpoint.com", + "kibanaServiceUrl": "https://kibanaserviceurl.com", + "kibanaSsoUrl": "https://kibanssourl.com" + } + }, + "liftrResourceCategory": "MonitorLogs", + "liftrResourcePreference": 0 + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US 2" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..179357984291 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Elastic/monitors/write", + "display": { + "provider": "Microsoft.Elastic", + "resource": "monitors", + "operation": "write", + "description": "Write monitors resource" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json new file mode 100644 index 000000000000..edb352345e32 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default", + "requestBody": { + "properties": { + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json new file mode 100644 index 000000000000..b3269012a4e6 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json new file mode 100644 index 000000000000..abf649a1b34e --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "ruleSetName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json new file mode 100644 index 000000000000..7d47d2de0855 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Datadog/monitors/tagRules", + "properties": { + "provisioningState": "Succeeded", + "logRules": { + "sendAadLogs": false, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "Environment", + "value": "Prod", + "action": "Include" + }, + { + "name": "Environment", + "value": "Dev", + "action": "Exclude" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/readme.az.md b/specification/elastic/resource-manager/readme.az.md new file mode 100644 index 000000000000..861172c17a99 --- /dev/null +++ b/specification/elastic/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: elastic + namespace: azure.mgmt.elastic + package-name: azure-mgmt-elastic +az-output-folder: $(azure-cli-extension-folder)/src/elastic +python-sdk-output-folder: "$(az-output-folder)/azext_elastic/vendored_sdks/elastic" +# add additinal configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: elastic + namespace: azure.mgmt.elastic + package-name: azure-mgmt-elastic +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/elastic +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/elastic" +``` \ No newline at end of file diff --git a/specification/elastic/resource-manager/readme.azureresourceschema.md b/specification/elastic/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b91e51939ef8 --- /dev/null +++ b/specification/elastic/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,23 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-elastic-2020-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-elastic-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-elastic-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Elastic/preview/2020-07-01-preview/elastic.json +``` diff --git a/specification/elastic/resource-manager/readme.cli.md b/specification/elastic/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/elastic/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/elastic/resource-manager/readme.csharp.md b/specification/elastic/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..dffa1cd64c3a --- /dev/null +++ b/specification/elastic/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Elastic + output-folder: $(csharp-sdks-folder)/elastic/management/Microsoft.Elastic/GeneratedProtocol +``` diff --git a/specification/elastic/resource-manager/readme.go.md b/specification/elastic/resource-manager/readme.go.md new file mode 100644 index 000000000000..a1925812f00d --- /dev/null +++ b/specification/elastic/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: elastic + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview and go + +These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2020-07-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) +``` diff --git a/specification/elastic/resource-manager/readme.md b/specification/elastic/resource-manager/readme.md new file mode 100644 index 000000000000..4355eae409b9 --- /dev/null +++ b/specification/elastic/resource-manager/readme.md @@ -0,0 +1,83 @@ +# elastic + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for elastic. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the elastic. + +```yaml +openapi-type: arm +tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview + +These settings apply only when `--tag=package-2020-07-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-07-01-preview' +input-file: + - Microsoft.Elastic/preview/2020-07-01-preview/elastic.json +``` + +--- + +# 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-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js elastic/resource-manager + - repo: azure-cli-extensions +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) diff --git a/specification/elastic/resource-manager/readme.python.md b/specification/elastic/resource-manager/readme.python.md new file mode 100644 index 000000000000..af0e6a0b3c2e --- /dev/null +++ b/specification/elastic/resource-manager/readme.python.md @@ -0,0 +1,24 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.elastic +package-name: azure-mgmt-elastic +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/elastic/azure-mgmt-elastic/azure/mgmt/elastic +``` + +``` yaml $(python) && $(python-mode) == 'create' +basic-setup-py: true +output-folder: $(python-sdks-folder)/elastic/azure-mgmt-elastic +``` \ No newline at end of file diff --git a/specification/elastic/resource-manager/readme.typescript.md b/specification/elastic/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..c71866e83f78 --- /dev/null +++ b/specification/elastic/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-elastic" + output-folder: "$(typescript-sdks-folder)/sdk/elastic/arm-elastic" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +```