{
  "openapi": "3.0.0",
  "info": {
    "description": "Service Map API Reference",
    "title": "Service Map",
    "version": "2015-11-01-preview",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/service-map/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ClientGroupNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientGroup"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Client Groups"
        ],
        "description": "Retrieves the specified client group",
        "operationId": "ClientGroups_Get",
        "x-ms-examples": {
          "SMClientGroupsGetGet": {
            "$ref": "./examples/ClientGroups/SMClientGroupsGetGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ClientGroupNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Page size to use. When not specified, the default page size is 100 records.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientGroupMembersCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Client Groups"
        ],
        "description": "Returns the members of the client group during the specified time interval.",
        "operationId": "ClientGroups_ListMembers",
        "x-ms-examples": {
          "SMClientGroupsListMembersGet": {
            "$ref": "./examples/ClientGroups/SMClientGroupsListMembersGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ClientGroupNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientGroupMembersCount"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Client Groups"
        ],
        "description": "Returns the approximate number of members in the client group.",
        "operationId": "ClientGroups_GetMembersCount",
        "x-ms-examples": {
          "SMClientGroupsGetMembersCountGet": {
            "$ref": "./examples/ClientGroups/SMClientGroupsGetMembersCountGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MapResponse"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Maps"
        ],
        "description": "Generates the specified map.",
        "operationId": "Maps_Generate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MapRequest"
              }
            }
          },
          "description": "Request options.",
          "required": true
        },
        "x-ms-examples": {
          "SMMapsGenerateMachineGroupDependencyPost": {
            "$ref": "./examples/Maps/SMMapsGenerateMachineGroupDependencyPost.json"
          },
          "SMMapsGenerateMachineListDependencyPost": {
            "$ref": "./examples/Maps/SMMapsGenerateMachineListDependencyPost.json"
          },
          "SMMapsGenerateSingleMachineDependencyPost": {
            "$ref": "./examples/Maps/SMMapsGenerateSingleMachineDependencyPost.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineGroupCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "MachineGroups"
        ],
        "description": "Returns all machine groups during the specified time interval.",
        "operationId": "MachineGroups_ListByWorkspace",
        "x-ms-examples": {
          "SMMachineGroupsListByWorkspaceGet": {
            "$ref": "./examples/MachineGroups/SMMachineGroupsListByWorkspaceGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineGroup"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "MachineGroups"
        ],
        "description": "Creates a new machine group.",
        "operationId": "MachineGroups_Create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineGroup"
              }
            }
          },
          "description": "Machine Group resource to create.",
          "required": true
        },
        "x-ms-examples": {
          "SMMachineGroupsCreatePost": {
            "$ref": "./examples/MachineGroups/SMMachineGroupsCreatePost.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}": {
      "delete": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineGroupNameParameter"
          }
        ],
        "responses": {
          "204": {
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "MachineGroups"
        ],
        "description": "Deletes the specified Machine Group.",
        "operationId": "MachineGroups_Delete",
        "x-ms-examples": {
          "SMMachineGroupsDeleteDelete": {
            "$ref": "./examples/MachineGroups/SMMachineGroupsDeleteDelete.json"
          }
        }
      },
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineGroupNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineGroup"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "MachineGroups"
        ],
        "description": "Returns the specified machine group as it existed during the specified time interval.",
        "operationId": "MachineGroups_Get",
        "x-ms-examples": {
          "SMMachineGroupsGetGet": {
            "$ref": "./examples/MachineGroups/SMMachineGroupsGetGet.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineGroup"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "MachineGroups"
        ],
        "description": "Updates a machine group.",
        "operationId": "MachineGroups_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MachineGroup"
              }
            }
          },
          "description": "Machine Group resource to update.",
          "required": true
        },
        "x-ms-examples": {
          "SMMachineGroupsUpdatePut": {
            "$ref": "./examples/MachineGroups/SMMachineGroupsUpdatePut.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "description": "Specifies whether to return live resources (true) or inventory resources (false). Defaults to **true**. When retrieving live resources, the start time (`startTime`) and end time (`endTime`) of the desired interval should be included. When retrieving inventory resources, an optional timestamp (`timestamp`) parameter can be specified to return the version of each resource closest (not-after) that timestamp.",
            "in": "query",
            "name": "live",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying a time instance relative to which to evaluate each machine resource. Only applies when `live=false`. When not specified, the service uses DateTime.UtcNow.",
            "in": "query",
            "name": "timestamp",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Page size to use. When not specified, the default page size is 100 records.",
            "in": "query",
            "name": "$top",
            "required": false,
            "schema": {
              "format": "int32",
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines"
        ],
        "description": "Returns a collection of machines matching the specified conditions.  The returned collection represents either machines that are active/live during the specified interval  of time (`live=true` and `startTime`/`endTime` are specified) or that are known to have existed at or  some time prior to the specified point in time (`live=false` and `timestamp` is specified).",
        "operationId": "Machines_ListByWorkspace",
        "x-ms-examples": {
          "SMMachinesListByWorkspaceGet": {
            "$ref": "./examples/Machines/SMMachinesListByWorkspaceGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "UTC date and time specifying a time instance relative to which to evaluate the machine resource. When not specified, the service uses DateTime.UtcNow.",
            "in": "query",
            "name": "timestamp",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Machine"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines"
        ],
        "description": "Returns the specified machine.",
        "operationId": "Machines_Get",
        "x-ms-examples": {
          "SMMachinesGetGet": {
            "$ref": "./examples/Machines/SMMachinesGetGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines"
        ],
        "description": "Returns a collection of connections terminating or originating at the specified machine",
        "operationId": "Machines_ListConnections",
        "x-ms-examples": {
          "SMMachinesListConnectionsGet": {
            "$ref": "./examples/Machines/SMMachinesListConnectionsGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Liveness"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines"
        ],
        "description": "Obtains the liveness status of the machine during the specified time interval.",
        "operationId": "Machines_GetLiveness",
        "x-ms-examples": {
          "SMMachinesGetLivenessGet": {
            "$ref": "./examples/Machines/SMMachinesGetLivenessGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineGroupCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines",
          "MachineGroups"
        ],
        "description": "Returns a collection of machine groups this machine belongs to during the specified time interval.",
        "operationId": "Machines_ListMachineGroupMembership",
        "x-ms-examples": {
          "SMMachinesListMachineGroupMembershipGet": {
            "$ref": "./examples/Machines/MachineGroups/SMMachinesListMachineGroupMembershipGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Machines",
          "Ports"
        ],
        "description": "Returns a collection of live ports on the specified machine during the specified time interval.",
        "operationId": "Machines_ListPorts",
        "x-ms-examples": {
          "SMMachinesListPortsGet": {
            "$ref": "./examples/Machines/Ports/SMMachinesListPortsGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/PortNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Port"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Ports"
        ],
        "description": "Returns the specified port. The port must be live during the specified time interval. If the port is not live during the interval, status 404 (Not Found) is returned.",
        "operationId": "Ports_Get",
        "x-ms-examples": {
          "SMMachinesPortsGetGet": {
            "$ref": "./examples/Machines/Ports/SMMachinesPortsGetGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/PortNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Ports",
          "Processes"
        ],
        "description": "Returns a collection of processes accepting on the specified port",
        "operationId": "Ports_ListAcceptingProcesses",
        "x-ms-examples": {
          "SMMachinesPortsListAcceptingProcessesGet": {
            "$ref": "./examples/Machines/Ports/SMMachinesPortsListAcceptingProcessesGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/PortNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Ports"
        ],
        "description": "Returns a collection of connections established via the specified port.",
        "operationId": "Ports_ListConnections",
        "x-ms-examples": {
          "SMMachinesPortsListConnectionsGet": {
            "$ref": "./examples/Machines/Ports/SMMachinesPortsListConnectionsGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/PortNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Liveness"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Ports"
        ],
        "description": "Obtains the liveness status of the port during the specified time interval.",
        "operationId": "Ports_GetLiveness",
        "x-ms-examples": {
          "SMMachinesPortsGetLivenessGet": {
            "$ref": "./examples/Machines/Ports/SMMachinesPortsGetLivenessGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "description": "Specifies whether to return live resources (true) or inventory resources (false). Defaults to **true**. When retrieving live resources, the start time (`startTime`) and end time (`endTime`) of the desired interval should be included. When retrieving inventory resources, an optional timestamp (`timestamp`) parameter can be specified to return the version of each resource closest (not-after) that timestamp.",
            "in": "query",
            "name": "live",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying a time instance relative to which to evaluate all process resource. Only applies when `live=false`. When not specified, the service uses DateTime.UtcNow.",
            "in": "query",
            "name": "timestamp",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Processes",
          "Machines"
        ],
        "description": "Returns a collection of processes on the specified machine matching the specified conditions. The returned collection represents either processes that are active/live during the specified interval  of time (`live=true` and `startTime`/`endTime` are specified) or that are known to have existed at or  some time prior to the specified point in time (`live=false` and `timestamp` is specified).        ",
        "operationId": "Machines_ListProcesses",
        "x-ms-examples": {
          "SMMachinesListProcessesGet": {
            "$ref": "./examples/Machines/Processes/SMMachinesListProcessesGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/ProcessNameParameter"
          },
          {
            "description": "UTC date and time specifying a time instance relative to which to evaluate a resource. When not specified, the service uses DateTime.UtcNow.",
            "in": "query",
            "name": "timestamp",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Process"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Processes"
        ],
        "description": "Returns the specified process.",
        "operationId": "Processes_Get",
        "x-ms-examples": {
          "SMMachinesProcessesGetGet": {
            "$ref": "./examples/Machines/Processes/SMMachinesProcessesGetGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/ProcessNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Processes"
        ],
        "description": "Returns a collection of ports on which this process is accepting",
        "operationId": "Processes_ListAcceptingPorts",
        "x-ms-examples": {
          "SMMachinesProcessesListAcceptingPortsGet": {
            "$ref": "./examples/Machines/Processes/SMMachinesProcessesListAcceptingPortsGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/ProcessNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionCollection"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Processes"
        ],
        "description": "Returns a collection of connections terminating or originating at the specified process",
        "operationId": "Processes_ListConnections",
        "x-ms-examples": {
          "SMMachinesProcessesListConnectionsGet": {
            "$ref": "./examples/Machines/Processes/SMMachinesProcessesListConnectionsGet.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/MachineNameParameter"
          },
          {
            "$ref": "#/components/parameters/ProcessNameParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Liveness"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Processes"
        ],
        "description": "Obtains the liveness status of the process during the specified time interval.",
        "operationId": "Processes_GetLiveness",
        "x-ms-examples": {
          "SMMachinesProcessesGetLivenessGet": {
            "$ref": "./examples/Machines/Processes/SMMachinesProcessesGetLivenessGet.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/WorkspaceNameParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "description": "UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m",
            "in": "query",
            "name": "startTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow",
            "in": "query",
            "name": "endTime",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachinesSummary"
                }
              }
            },
            "description": "The operation completed successfully."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error."
          }
        },
        "tags": [
          "Summaries"
        ],
        "description": "Returns summary information about the machines in the workspace.",
        "operationId": "Summaries_GetMachines",
        "x-ms-examples": {
          "SMSummariesGetMachinesGet": {
            "$ref": "./examples/Summaries/SMSummariesGetMachinesGet.json"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "ApiVersionParameter": {
        "description": "API version.",
        "in": "query",
        "name": "api-version",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ClientGroupNameParameter": {
        "description": "Client Group resource name.",
        "in": "path",
        "name": "clientGroupName",
        "required": true,
        "schema": {
          "maxLength": 256,
          "minLength": 3,
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "MachineGroupNameParameter": {
        "description": "Machine Group resource name.",
        "in": "path",
        "name": "machineGroupName",
        "required": true,
        "schema": {
          "maxLength": 36,
          "minLength": 36,
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "MachineNameParameter": {
        "description": "Machine resource name.",
        "in": "path",
        "name": "machineName",
        "required": true,
        "schema": {
          "maxLength": 64,
          "minLength": 3,
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "PortNameParameter": {
        "description": "Port resource name.",
        "in": "path",
        "name": "portName",
        "required": true,
        "schema": {
          "maxLength": 64,
          "minLength": 3,
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "ProcessNameParameter": {
        "description": "Process resource name.",
        "in": "path",
        "name": "processName",
        "required": true,
        "schema": {
          "maxLength": 128,
          "minLength": 3,
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "ResourceGroupNameParameter": {
        "description": "Resource group name within the specified subscriptionId.",
        "in": "path",
        "name": "resourceGroupName",
        "required": true,
        "schema": {
          "maxLength": 64,
          "minLength": 1,
          "pattern": "[a-zA-Z0-9_-]+",
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "SubscriptionIdParameter": {
        "description": "Azure subscription identifier.",
        "in": "path",
        "name": "subscriptionId",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "WorkspaceNameParameter": {
        "description": "OMS workspace containing the resources of interest.",
        "in": "path",
        "name": "workspaceName",
        "required": true,
        "schema": {
          "maxLength": 63,
          "minLength": 3,
          "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]+[a-zA-Z0-9_]",
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      }
    },
    "schemas": {
      "Acceptor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Relationship"
          }
        ],
        "description": "A process accepting on a port.",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/AcceptorProperties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "rel:acceptor"
      },
      "AcceptorProperties": {
        "description": "Properties for an acceptor relationship.",
        "properties": {
          "destination": {
            "$ref": "#/components/schemas/ProcessReference",
            "description": "Accepting process."
          },
          "endTime": {
            "description": "Relationship end time.",
            "format": "date-time",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/PortReference",
            "description": "Port being accepted."
          },
          "startTime": {
            "description": "Relationship start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "source",
          "destination"
        ],
        "type": "object"
      },
      "Accuracy": {
        "description": "Specifies the accuracy of a computation.",
        "enum": [
          "actual",
          "estimated"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "Accuracy"
        }
      },
      "AgentConfiguration": {
        "description": "Describes the configuration of the Dependency Agent installed on a machine.",
        "properties": {
          "agentId": {
            "description": "Health Service Agent unique identifier.",
            "type": "string"
          },
          "clockGranularity": {
            "description": "Machine clock granularity in milliseconds.",
            "format": "int32",
            "type": "integer"
          },
          "dependencyAgentId": {
            "description": "Dependency Agent unique identifier.",
            "type": "string"
          },
          "dependencyAgentRevision": {
            "description": "Dependency Agent revision number.",
            "type": "string"
          },
          "dependencyAgentVersion": {
            "description": "Dependency Agent version number.",
            "type": "string"
          },
          "rebootStatus": {
            "$ref": "#/components/schemas/MachineRebootStatus",
            "description": "Specifies whether the machine has been rebooted since the Dependency Agent installation."
          }
        },
        "required": [
          "agentId"
        ],
        "type": "object"
      },
      "AzureCloudServiceConfiguration": {
        "description": "Describes an Azure Cloud Service",
        "properties": {
          "deployment": {
            "description": "Cloud Service deployment identifier",
            "type": "string"
          },
          "instanceId": {
            "description": "Cloud Service instance identifier",
            "type": "string"
          },
          "name": {
            "description": "Cloud Service name",
            "type": "string"
          },
          "roleName": {
            "description": "Cloud Service role name",
            "type": "string"
          },
          "roleType": {
            "description": "Used to specify type of an Azure Cloud Service role",
            "enum": [
              "unknown",
              "worker",
              "web"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "AzureCloudServiceRoleType"
            }
          }
        },
        "type": "object"
      },
      "AzureHostingConfiguration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HostingConfiguration"
          }
        ],
        "description": "Provides information about how a machine is hosted in Azure",
        "properties": {
          "cloudService": {
            "$ref": "#/components/schemas/AzureCloudServiceConfiguration",
            "description": "Contains information about machines hosted as an Azure Cloud Service"
          },
          "faultDomain": {
            "description": "Fault domain of the VM.",
            "type": "string"
          },
          "image": {
            "$ref": "#/components/schemas/ImageConfiguration",
            "description": "Image of the machine."
          },
          "location": {
            "description": "Geographical location of the VM.",
            "type": "string"
          },
          "name": {
            "description": "Machine name according to the hosting provider.",
            "type": "string"
          },
          "resourceGroup": {
            "description": "Resource group name within the specified subscription.",
            "type": "string"
          },
          "resourceId": {
            "description": "Unique identifier of the resource.",
            "type": "string"
          },
          "serviceFabricCluster": {
            "$ref": "#/components/schemas/AzureServiceFabricClusterConfiguration",
            "description": "Contains information about machines that belong an Azure Service Fabric Cluster"
          },
          "size": {
            "description": "Size of the VM.",
            "type": "string"
          },
          "subscriptionId": {
            "description": "Subscription ID.",
            "type": "string"
          },
          "updateDomain": {
            "description": "Update domain of the VM.",
            "type": "string"
          },
          "vmId": {
            "description": "Virtual Machine ID (unique identifier).",
            "type": "string"
          },
          "vmScaleSet": {
            "$ref": "#/components/schemas/AzureVmScaleSetConfiguration",
            "description": "Contains information about machines hosted as an Azure Virtual Machine Scale Set"
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "provider:azure"
      },
      "AzureProcessHostingConfiguration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProcessHostingConfiguration"
          }
        ],
        "description": "Describes the hosting configuration of a process when hosted on azure",
        "properties": {
          "cloudService": {
            "$ref": "#/components/schemas/AzureCloudServiceConfiguration",
            "description": "Contains information about the cloud service the process belongs to"
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "provider:azure"
      },
      "AzureServiceFabricClusterConfiguration": {
        "description": "Describes an Azure Service Fabric Cluster",
        "properties": {
          "clusterId": {
            "description": "Service Fabric cluster identifier.",
            "type": "string"
          },
          "name": {
            "description": "Service Fabric cluster name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AzureVmScaleSetConfiguration": {
        "description": "Describes an Azure Virtual Machine Scale Set",
        "properties": {
          "deployment": {
            "description": "Virtual Machine Scale Set deployment identifier",
            "type": "string"
          },
          "instanceId": {
            "description": "Virtual Machine Scale Set instance identifier",
            "type": "string"
          },
          "name": {
            "description": "Virtual Machine Scale Set name",
            "type": "string"
          },
          "resourceId": {
            "description": "Unique identifier of the resource.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Bitness": {
        "description": "Specifies the bitness of a machine or process.",
        "enum": [
          "32bit",
          "64bit"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "Bitness"
        }
      },
      "ClientGroup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CoreResource"
          }
        ],
        "description": "Represents a collection of clients of a resource. A client group can represent the clients of a port, process, or a machine.",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "clientsOf": {
                "$ref": "#/components/schemas/ResourceReference",
                "description": "Reference to the resource whose clients are represented by this group."
              }
            },
            "required": [
              "clientsOf"
            ],
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "clientGroup"
      },
      "ClientGroupMember": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          }
        ],
        "description": "Represents a member of a client group",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "ipAddress": {
                "description": "IP address.",
                "type": "string"
              },
              "port": {
                "$ref": "#/components/schemas/PortReference",
                "description": "Port into which this client connected"
              },
              "processes": {
                "description": "Processes accepting on the above port that received connections from this client.",
                "items": {
                  "$ref": "#/components/schemas/ProcessReference"
                },
                "type": "array"
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "ClientGroupMembersCollection": {
        "description": "Collection of ClientGroupMember resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of ClientGroupMember resources.",
            "items": {
              "$ref": "#/components/schemas/ClientGroupMember"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ClientGroupMembersCount": {
        "description": "Specifies the number of members in a client group.",
        "properties": {
          "accuracy": {
            "$ref": "#/components/schemas/Accuracy",
            "description": "Accuracy of the reported count."
          },
          "count": {
            "description": "Number of members in the client group. Use this value together with the value of ```accuracy```. If accuracy is `exact` then the value represents the actual number of members in the cloud. When accuracy is `estimated`, the actual number of members is larger than the value of ```count```.",
            "format": "int32",
            "type": "integer"
          },
          "endTime": {
            "description": "Membership interval start time.",
            "format": "date-time",
            "type": "string"
          },
          "groupId": {
            "description": "Client Group URI.",
            "type": "string"
          },
          "startTime": {
            "description": "Membership interval start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "startTime",
          "endTime",
          "groupId",
          "count",
          "accuracy"
        ],
        "type": "object"
      },
      "ClientGroupReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceReference"
          }
        ],
        "description": "Reference to a client group.",
        "x-ms-discriminator-value": "ref:clientgroup"
      },
      "Connection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Relationship"
          }
        ],
        "description": "A network connection.",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/ConnectionProperties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "rel:connection"
      },
      "ConnectionCollection": {
        "description": "Collection of Connection resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of Connection resources.",
            "items": {
              "$ref": "#/components/schemas/Connection"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ConnectionFailureState": {
        "description": "Connection failure state:\n * ```ok``` indicates no failures\n * ```failed``` indicates only failures\n * ```mixed``` indicates both failures and successes",
        "enum": [
          "ok",
          "failed",
          "mixed"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "ConnectionFailureState"
        }
      },
      "ConnectionProperties": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RelationshipProperties"
          }
        ],
        "description": "Properties for a connection resource.",
        "properties": {
          "failureState": {
            "$ref": "#/components/schemas/ConnectionFailureState",
            "description": "Specifies whether there are only successful, failed or a mixture of both connections represented by this resource."
          },
          "serverPort": {
            "$ref": "#/components/schemas/PortReference",
            "description": "Reference to the server port via which this connection has been established."
          }
        },
        "type": "object"
      },
      "CoreResource": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          }
        ],
        "description": "Marker resource for the core Service Map resources",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "etag": {
            "description": "Resource ETAG.",
            "type": "string"
          },
          "kind": {
            "description": "Additional resource type qualifier.",
            "enum": [
              "machine",
              "process",
              "port",
              "clientGroup",
              "machineGroup"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "Error": {
        "description": "Error details.",
        "properties": {
          "code": {
            "description": "Error code identifying the specific error.",
            "type": "string"
          },
          "message": {
            "description": "Error message in the caller's locale.",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "ErrorResponse": {
        "description": "An error response from the API.",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/Error",
            "description": "Error information."
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "HostingConfiguration": {
        "description": "Describes the hosting configuration of a machine.",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "kind": {
            "description": "Additional hosting configuration type qualifier.",
            "enum": [
              "provider:azure"
            ],
            "type": "string"
          },
          "provider": {
            "description": "The hosting provider of the VM.",
            "enum": [
              "azure"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "HypervisorConfiguration": {
        "description": "Describes the hypervisor configuration of a machine.",
        "properties": {
          "hypervisorType": {
            "$ref": "#/components/schemas/HypervisorType",
            "description": "Specifies the virtualization technology used by the hypervisor (hyperv, vmware, etc.)"
          },
          "nativeHostMachineId": {
            "description": "The unique identifier of the hypervisor machine as reported by the underlying virtualization system.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "HypervisorType": {
        "description": "Specifies the hypervisor type of a machine.",
        "enum": [
          "unknown",
          "hyperv"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "HypervisorType"
        }
      },
      "ImageConfiguration": {
        "description": "Describes the VM image of a machine.",
        "properties": {
          "offering": {
            "description": "Offering of the VM image.",
            "type": "string"
          },
          "publisher": {
            "description": "Publisher of the VM image.",
            "type": "string"
          },
          "sku": {
            "description": "SKU of the VM image.",
            "type": "string"
          },
          "version": {
            "description": "Version of the VM image.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Ipv4NetworkInterface": {
        "description": "Describes an IPv4 network interface.",
        "properties": {
          "ipAddress": {
            "description": "IPv4 address.",
            "type": "string"
          },
          "subnetMask": {
            "default": "255.255.255.255",
            "description": "IPv4 subnet mask.",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "type": "object"
      },
      "Ipv6NetworkInterface": {
        "description": "Describes an IPv6 network interface.",
        "properties": {
          "ipAddress": {
            "description": "IPv6 address.",
            "type": "string"
          }
        },
        "required": [
          "ipAddress"
        ],
        "type": "object"
      },
      "Liveness": {
        "description": "Specifies the contents of a check liveness response.",
        "properties": {
          "endTime": {
            "description": "Liveness interval end time.",
            "format": "date-time",
            "type": "string"
          },
          "live": {
            "description": "`true` if the resource is live during [startTime, endTime], `false` otherwise",
            "type": "boolean"
          },
          "startTime": {
            "description": "Liveness interval start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "startTime",
          "endTime",
          "live"
        ],
        "type": "object"
      },
      "Machine": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CoreResource"
          }
        ],
        "description": "A machine resource represents a discovered computer system. It can be *monitored*, i.e., a Dependency Agent is running on it, or *discovered*, i.e., its existence was inferred by observing the data stream from monitored machines. As machines change, prior versions of the machine resource are preserved and available for access. A machine is live during an interval of time, if either its Dependency Agent has reported data during (parts) of that interval, or a Dependency agent running on other machines has reported activity associated with the machine.",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "agent": {
                "$ref": "#/components/schemas/AgentConfiguration",
                "description": "Dependency Agent configuration."
              },
              "bootTime": {
                "description": "UTC date and time when the machine last booted",
                "format": "date-time",
                "type": "string"
              },
              "computerName": {
                "description": "Name of the machine, e.g., server",
                "type": "string"
              },
              "displayName": {
                "description": "Name to use for display purposes",
                "type": "string"
              },
              "fullyQualifiedDomainName": {
                "description": "Fully-qualified name of the machine, e.g., server.company.com",
                "type": "string"
              },
              "hosting": {
                "$ref": "#/components/schemas/HostingConfiguration",
                "description": "Hosting-related configuration. Present if hosting information is discovered for the VM."
              },
              "hypervisor": {
                "$ref": "#/components/schemas/HypervisorConfiguration",
                "description": "Hypervisor-related configuration. Present only when 'virtualizationState' is `hypervisor`."
              },
              "monitoringState": {
                "$ref": "#/components/schemas/MonitoringState",
                "description": "Specifies whether the machine is actively monitored or discovered."
              },
              "networking": {
                "$ref": "#/components/schemas/NetworkConfiguration",
                "description": "Network configuration (ips, gateways, dns, etc.)"
              },
              "operatingSystem": {
                "$ref": "#/components/schemas/OperatingSystemConfiguration",
                "description": "Operating system information."
              },
              "resources": {
                "$ref": "#/components/schemas/MachineResourcesConfiguration",
                "description": "Machine resources (memory, cpu, etc.)."
              },
              "timestamp": {
                "description": "UTC date and time when this resource was updated in the system.",
                "format": "date-time",
                "type": "string"
              },
              "timezone": {
                "$ref": "#/components/schemas/Timezone",
                "description": "Timezone of the machine."
              },
              "virtualMachine": {
                "$ref": "#/components/schemas/VirtualMachineConfiguration",
                "description": "Virtualization-related configuration. Present only when `virtualizationState` is `virtual`."
              },
              "virtualizationState": {
                "$ref": "#/components/schemas/VirtualizationState",
                "description": "Specifies whether the machine is virtualized."
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "machine"
      },
      "MachineCollection": {
        "description": "Collection of Machine resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of Machine resources.",
            "items": {
              "$ref": "#/components/schemas/Machine"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MachineCountsByOperatingSystem": {
        "description": "Machines by operating system.",
        "properties": {
          "linux": {
            "description": "Number of live Linux machines.",
            "format": "int32",
            "type": "integer"
          },
          "windows": {
            "description": "Number of live Windows machines.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "windows",
          "linux"
        ],
        "type": "object"
      },
      "MachineGroup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CoreResource"
          }
        ],
        "description": "A user-defined logical grouping of machines.",
        "properties": {
          "etag": {
            "description": "Resource ETAG.",
            "type": "string"
          },
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "count": {
                "description": "Count of machines in this group. The value of count may be bigger than the number of machines in case of the group has been truncated due to exceeding the max number of machines a group can handle.",
                "format": "int32",
                "type": "integer"
              },
              "displayName": {
                "description": "User defined name for the group",
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "groupType": {
                "description": "Type of the machine group",
                "enum": [
                  "unknown",
                  "azure-cs",
                  "azure-sf",
                  "azure-vmss",
                  "user-static"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": true,
                  "name": "MachineGroupType"
                }
              },
              "machines": {
                "description": "References of the machines in this group. The hints within each reference do not represent the current value of the corresponding fields. They are a snapshot created during the last time the machine group was updated.",
                "items": {
                  "$ref": "#/components/schemas/MachineReferenceWithHints"
                },
                "type": "array"
              }
            },
            "required": [
              "displayName"
            ],
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "machineGroup"
      },
      "MachineGroupCollection": {
        "description": "Collection of Machine Group resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of Machine Group resources.",
            "items": {
              "$ref": "#/components/schemas/MachineGroup"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MachineGroupMapRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MultipleMachinesMapRequest"
          }
        ],
        "description": "Specifies the computation of a machine group dependency map. A machine group dependency map includes all direct dependencies the machines in the group.",
        "properties": {
          "machineGroupId": {
            "description": "URI of machine group resource for which to generate the map.",
            "type": "string"
          }
        },
        "required": [
          "machineGroupId"
        ],
        "type": "object",
        "x-ms-discriminator-value": "map:machine-group-dependency"
      },
      "MachineListMapRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MultipleMachinesMapRequest"
          }
        ],
        "description": "Specifies the computation of a one hope dependency map for a list of machines. The resulting map includes all direct dependencies for the specified machines.",
        "properties": {
          "machineIds": {
            "description": "a list of URIs of machine resources for which to generate the map.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "machineIds"
        ],
        "type": "object",
        "x-ms-discriminator-value": "map:machine-list-dependency"
      },
      "MachineRebootStatus": {
        "description": "Specifies if the machine has been rebooted since the installation of the dependency agent.",
        "enum": [
          "unknown",
          "rebooted",
          "notRebooted"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "MachineRebootStatus"
        }
      },
      "MachineReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceReference"
          }
        ],
        "description": "Reference to a machine.",
        "x-ms-discriminator-value": "ref:machine"
      },
      "MachineReferenceWithHints": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceReference"
          }
        ],
        "description": "A machine reference with a hint of the machine's name and operating system.",
        "properties": {
          "properties": {
            "description": "Machine reference with name and os hints.",
            "properties": {
              "displayNameHint": {
                "description": "Last known display name.",
                "readOnly": true,
                "type": "string"
              },
              "osFamilyHint": {
                "$ref": "#/components/schemas/OperatingSystemFamily",
                "description": "Last known operating system family.",
                "readOnly": true
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "ref:machinewithhints"
      },
      "MachineResourcesConfiguration": {
        "description": "Describes the resources of a machine.",
        "properties": {
          "cpuSpeed": {
            "description": "CPU speed in megahertz (Mhz).",
            "format": "int32",
            "type": "integer"
          },
          "cpuSpeedAccuracy": {
            "$ref": "#/components/schemas/Accuracy",
            "description": "Describes the accuracy of the cpuSpeed field."
          },
          "cpus": {
            "description": "Number of CPUs.",
            "format": "int32",
            "type": "integer"
          },
          "physicalMemory": {
            "description": "Physical memory in megabytes (MB).",
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MachinesSummary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Summary"
          }
        ],
        "description": "A summary of the machines in the workspace.",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/MachinesSummaryProperties",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "MachinesSummaryProperties": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SummaryProperties"
          }
        ],
        "description": "Summarizes machines in the workspace.",
        "properties": {
          "live": {
            "description": "Number of live machines.",
            "format": "int32",
            "type": "integer"
          },
          "os": {
            "$ref": "#/components/schemas/MachineCountsByOperatingSystem",
            "description": "Machine counts by operating system."
          },
          "total": {
            "description": "Total number of machines.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "total",
          "live",
          "os"
        ],
        "type": "object"
      },
      "Map": {
        "description": "A map of resources and relationships between them.",
        "properties": {
          "edges": {
            "$ref": "#/components/schemas/MapEdges"
          },
          "nodes": {
            "$ref": "#/components/schemas/MapNodes"
          }
        },
        "required": [
          "nodes",
          "edges"
        ],
        "type": "object"
      },
      "MapEdges": {
        "description": "The edges (relationships) of a map.",
        "properties": {
          "acceptors": {
            "description": "Processes accepting on a port.",
            "items": {
              "$ref": "#/components/schemas/Acceptor"
            },
            "type": "array"
          },
          "connections": {
            "description": "Network connections.",
            "items": {
              "$ref": "#/components/schemas/Connection"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MapNodes": {
        "description": "The nodes (entities) of a map.",
        "properties": {
          "clientGroups": {
            "description": "Client Group resources.",
            "items": {
              "$ref": "#/components/schemas/ClientGroup"
            },
            "type": "array"
          },
          "machines": {
            "description": "Machine resources.",
            "items": {
              "$ref": "#/components/schemas/Machine"
            },
            "type": "array"
          },
          "ports": {
            "description": "Port resources.",
            "items": {
              "$ref": "#/components/schemas/Port"
            },
            "type": "array"
          },
          "processes": {
            "description": "Process resources.",
            "items": {
              "$ref": "#/components/schemas/Process"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MapRequest": {
        "description": "Specifies the contents of request to generate a map.",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "endTime": {
            "description": "Map interval end time.",
            "format": "date-time",
            "type": "string"
          },
          "kind": {
            "description": "The type of map to create.",
            "enum": [
              "map:single-machine-dependency",
              "map:machine-group-dependency",
              "map:machine-list-dependency"
            ],
            "type": "string"
          },
          "startTime": {
            "description": "Map interval start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "MapResponse": {
        "description": "Specified the contents of a map response.",
        "properties": {
          "endTime": {
            "description": "Map interval end time.",
            "format": "date-time",
            "type": "string"
          },
          "map": {
            "$ref": "#/components/schemas/Map",
            "description": "The generated map."
          },
          "startTime": {
            "description": "Map interval start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "startTime",
          "endTime",
          "map"
        ],
        "type": "object"
      },
      "MonitoringState": {
        "description": "Used to specify if a resources is monitored or discovered.",
        "enum": [
          "monitored",
          "discovered"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "MonitoringState"
        }
      },
      "MultipleMachinesMapRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MapRequest"
          }
        ],
        "description": "Provides a base class for describing map requests for a collection of machines",
        "properties": {
          "filterProcesses": {
            "description": "If true, only processes between specified machines will be included. Any connections in or out of those processes will be included.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "NetworkConfiguration": {
        "description": "Describes the network configuration of a machine.",
        "properties": {
          "defaultIpv4Gateways": {
            "description": "Default IPv4 gateways.",
            "items": {
              "description": "IPv4 address.",
              "type": "string"
            },
            "type": "array"
          },
          "dnsNames": {
            "description": "DNS names associated with the machine.",
            "items": {
              "description": "DNS name.",
              "type": "string"
            },
            "type": "array"
          },
          "ipv4Interfaces": {
            "description": "IPv4 interfaces.",
            "items": {
              "$ref": "#/components/schemas/Ipv4NetworkInterface"
            },
            "type": "array",
            "x-ms-identifiers": [
              "ipAddress",
              "subnetMask"
            ]
          },
          "ipv6Interfaces": {
            "description": "IPv6 interfaces.",
            "items": {
              "$ref": "#/components/schemas/Ipv6NetworkInterface"
            },
            "type": "array",
            "x-ms-identifiers": [
              "ipAddress"
            ]
          },
          "macAddresses": {
            "description": "MAC addresses of all active network interfaces.",
            "items": {
              "description": "MAC address.",
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "OperatingSystemConfiguration": {
        "description": "Describes the configuration of the operating system of a machine.",
        "properties": {
          "bitness": {
            "$ref": "#/components/schemas/Bitness",
            "description": "Operating system bitness (32-bit or 64-bit)."
          },
          "family": {
            "$ref": "#/components/schemas/OperatingSystemFamily",
            "description": "Windows, Linux, etc."
          },
          "fullName": {
            "description": "Operating system full name.",
            "type": "string"
          }
        },
        "required": [
          "family",
          "fullName",
          "bitness"
        ],
        "type": "object"
      },
      "OperatingSystemFamily": {
        "description": "Specifies the operating system family, e.g., Linux, Windows, etc.",
        "enum": [
          "unknown",
          "windows",
          "linux",
          "solaris",
          "aix"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "OperatingSystemFamily"
        }
      },
      "Port": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CoreResource"
          }
        ],
        "description": "A port resource represents a server port on a machine. The port may be actively *monitored*, i.e., a Dependency Agent is running on its machine, or *discovered*, i.e., its existence was inferred by observing the data stream from monitored machines. A port is live during an interval of time, if that port had associated activity during (parts) of that interval.",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "displayName": {
                "description": "Name to use for display purposes.",
                "type": "string"
              },
              "ipAddress": {
                "description": "IP address associated with the port. At present only IPv4 addresses are supported.",
                "type": "string"
              },
              "machine": {
                "$ref": "#/components/schemas/ResourceReference",
                "description": "Machine hosting this port."
              },
              "monitoringState": {
                "$ref": "#/components/schemas/MonitoringState",
                "description": "Specifies whether the port is actively monitored or discovered."
              },
              "portNumber": {
                "description": "Port number.",
                "format": "int32",
                "type": "integer"
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "port"
      },
      "PortCollection": {
        "description": "Collection of Port resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of Port resources.",
            "items": {
              "$ref": "#/components/schemas/Port"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PortReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceReference"
          }
        ],
        "description": "Reference to a port.",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "ipAddress": {
                "description": "IP address of the port.",
                "readOnly": true,
                "type": "string"
              },
              "machine": {
                "$ref": "#/components/schemas/MachineReference",
                "description": "Machine hosting the port.",
                "readOnly": true
              },
              "portNumber": {
                "description": "Port number.",
                "format": "int32",
                "type": "integer"
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "ref:port"
      },
      "Process": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CoreResource"
          }
        ],
        "description": "A process resource represents a process running on a machine. The process may be actively *monitored*, i.e., a Dependency Agent is running on its machine, or *discovered*, i.e., its existence was inferred by observing the data stream from monitored machines. A process resource represents a pool of actual operating system resources that share command lines and metadata. As the process pool evolves over time, prior versions of the process resource are preserved and available for access. A process is live during an interval of time, if that process is executing during (parts) of that interval",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "acceptorOf": {
                "$ref": "#/components/schemas/ResourceReference",
                "description": "Present only for a discovered process acting as a server. References the port on which the discovered process is accepting."
              },
              "clientOf": {
                "$ref": "#/components/schemas/ResourceReference",
                "description": "Present only for a discovered process acting as a client of a monitored process/machine/port. References the monitored process/machine/port that this process is a client of."
              },
              "details": {
                "$ref": "#/components/schemas/ProcessDetails",
                "description": "Process metadata (command line, product name, etc.)."
              },
              "displayName": {
                "description": "Name to use for display purposes",
                "type": "string"
              },
              "executableName": {
                "description": "The name of the process executable",
                "type": "string"
              },
              "group": {
                "description": "The name of the product or suite of the process. The group is determined by its executable name, command line, etc.",
                "type": "string"
              },
              "hosting": {
                "$ref": "#/components/schemas/ProcessHostingConfiguration",
                "description": "Information about the hosting environment"
              },
              "machine": {
                "$ref": "#/components/schemas/ResourceReference",
                "description": "Machine hosting this process."
              },
              "monitoringState": {
                "$ref": "#/components/schemas/MonitoringState",
                "description": "Specifies whether the process is actively monitored or discovered."
              },
              "role": {
                "description": "The inferred role of this process based on its name, command line, etc.",
                "enum": [
                  "webServer",
                  "appServer",
                  "databaseServer",
                  "ldapServer",
                  "smbServer"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": true,
                  "name": "ProcessRole"
                }
              },
              "startTime": {
                "description": "UTC date and time when the process started",
                "format": "date-time",
                "type": "string"
              },
              "timestamp": {
                "description": "UTC date and time when this process resource was updated in the system",
                "format": "date-time",
                "type": "string"
              },
              "user": {
                "$ref": "#/components/schemas/ProcessUser",
                "description": "Information about the account under which the process is executing."
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "process"
      },
      "ProcessCollection": {
        "description": "Collection of Process resources.",
        "properties": {
          "nextLink": {
            "description": "The URL to the next set of resources.",
            "type": "string"
          },
          "value": {
            "description": "Collection of Process resources.",
            "items": {
              "$ref": "#/components/schemas/Process"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ProcessDetails": {
        "description": "Describes process metadata.",
        "properties": {
          "commandLine": {
            "description": "Process command line.",
            "type": "string"
          },
          "companyName": {
            "description": "Name of company that created the process executable.",
            "type": "string"
          },
          "description": {
            "description": "Process description.",
            "type": "string"
          },
          "executablePath": {
            "description": "Process executable path.",
            "type": "string"
          },
          "fileVersion": {
            "description": "File version.",
            "type": "string"
          },
          "firstPid": {
            "description": "The Operating System Process Identifier (PID) of the first process in this process pool.",
            "format": "int32",
            "type": "integer"
          },
          "internalName": {
            "description": "Internal process name.",
            "type": "string"
          },
          "persistentKey": {
            "description": "A unique identifier for a process, generally resilient to process restart, computed by Service Map.",
            "type": "string"
          },
          "poolId": {
            "description": "Represents the identity of the process pool assigned to the process by Dependency Agent.",
            "format": "int32",
            "type": "integer"
          },
          "productName": {
            "description": "Product name.",
            "type": "string"
          },
          "productVersion": {
            "description": "Product version.",
            "type": "string"
          },
          "services": {
            "description": "Collection of services hosted by this Process (Windows only).",
            "items": {
              "$ref": "#/components/schemas/ProcessHostedService"
            },
            "type": "array",
            "x-ms-identifiers": []
          },
          "workingDirectory": {
            "description": "Process workingDirectory.",
            "type": "string"
          },
          "zoneName": {
            "description": "Process zone name (Linux only).",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProcessHostedService": {
        "description": "A service hosted by a process.",
        "properties": {
          "displayName": {
            "description": "The service's display name.",
            "type": "string"
          },
          "name": {
            "description": "The name of the service.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProcessHostingConfiguration": {
        "description": "Describes the hosting configuration of a process.",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "kind": {
            "description": "Additional hosting configuration type qualifier.",
            "enum": [
              "provider:azure"
            ],
            "type": "string"
          },
          "provider": {
            "description": "The hosting provider of the VM.",
            "enum": [
              "azure"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "ProcessReference": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceReference"
          }
        ],
        "description": "Reference to a process.",
        "properties": {
          "properties": {
            "description": "Resource properties.",
            "properties": {
              "machine": {
                "$ref": "#/components/schemas/MachineReference",
                "description": "Machine hosting the process.",
                "readOnly": true
              }
            },
            "type": "object",
            "x-ms-client-flatten": true
          }
        },
        "type": "object",
        "x-ms-discriminator-value": "ref:process"
      },
      "ProcessUser": {
        "description": "Describes the user under which a process is running.",
        "properties": {
          "userDomain": {
            "description": "Domain name for the user.",
            "type": "string"
          },
          "userName": {
            "description": "User name under which the process is running.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Relationship": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          }
        ],
        "description": "A typed relationship between two entities.",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "kind": {
            "description": "Additional resource type qualifier.",
            "enum": [
              "rel:connection",
              "rel:acceptor"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "RelationshipProperties": {
        "description": "Relationship properties.",
        "properties": {
          "destination": {
            "$ref": "#/components/schemas/ResourceReference",
            "description": "Destination resource of the relationship."
          },
          "endTime": {
            "description": "Relationship end time.",
            "format": "date-time",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/ResourceReference",
            "description": "Source resource of the relationship."
          },
          "startTime": {
            "description": "Relationship start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "source",
          "destination"
        ],
        "type": "object"
      },
      "Resource": {
        "description": "Resource model definition.",
        "properties": {
          "id": {
            "description": "Resource identifier.",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "description": "Resource name.",
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "description": "Resource type.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object",
        "x-ms-azure-resource": true
      },
      "ResourceReference": {
        "description": "Represents a reference to another resource.",
        "discriminator": {
          "propertyName": "kind"
        },
        "properties": {
          "id": {
            "description": "Resource URI.",
            "type": "string"
          },
          "kind": {
            "description": "Specifies the sub-class of the reference.",
            "enum": [
              "ref:machine",
              "ref:machinewithhints",
              "ref:process",
              "ref:port",
              "ref:onmachine",
              "ref:clientgroup"
            ],
            "type": "string"
          },
          "name": {
            "description": "Resource name.",
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "description": "Resource type qualifier.",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind"
        ],
        "type": "object"
      },
      "SingleMachineDependencyMapRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MapRequest"
          }
        ],
        "description": "Specifies the computation of a single server dependency map. A single server dependency map includes all direct dependencies of a given machine.",
        "properties": {
          "machineId": {
            "description": "URI of machine resource for which to generate the map.",
            "type": "string"
          }
        },
        "required": [
          "machineId"
        ],
        "type": "object",
        "x-ms-discriminator-value": "map:single-machine-dependency"
      },
      "Summary": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          }
        ],
        "description": "Base for all resource summaries."
      },
      "SummaryProperties": {
        "description": "Base for all summaries.",
        "properties": {
          "endTime": {
            "description": "Summary interval end time.",
            "format": "date-time",
            "type": "string"
          },
          "startTime": {
            "description": "Summary interval start time.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "startTime",
          "endTime"
        ],
        "type": "object"
      },
      "Timezone": {
        "description": "Describes a timezone.",
        "properties": {
          "fullName": {
            "description": "Timezone full name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "VirtualMachineConfiguration": {
        "description": "Describes the virtualization-related configuration of a machine.",
        "properties": {
          "nativeHostMachineId": {
            "description": "The unique identifier of the host of this virtual machine as reported by the underlying virtualization system.",
            "type": "string"
          },
          "nativeMachineId": {
            "description": "The unique identifier of the virtual machine as reported by the underlying virtualization system.",
            "type": "string"
          },
          "virtualMachineName": {
            "description": "The Name of the virtual machine.",
            "type": "string"
          },
          "virtualMachineType": {
            "$ref": "#/components/schemas/VirtualMachineType",
            "description": "Specifies the virtualization technology used by the machine (hyperv, vmware, etc.)"
          }
        },
        "type": "object"
      },
      "VirtualMachineType": {
        "description": "Specifies the virtualization type of a machine.",
        "enum": [
          "unknown",
          "hyperv",
          "ldom",
          "lpar",
          "vmware",
          "virtualPc",
          "xen"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "VirtualMachineType"
        }
      },
      "VirtualizationState": {
        "description": "Specifies if the machine is physical, virtual, hypervisor, or unknown.",
        "enum": [
          "unknown",
          "physical",
          "virtual",
          "hypervisor"
        ],
        "type": "string",
        "x-ms-enum": {
          "modelAsString": false,
          "name": "VirtualizationState"
        }
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}