swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector Maps API schemes: - https tags: - name: Maps paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap : post: tags: - Maps operationId: microsoftAzureMapsGenerate x-ms-examples: SMMapsGenerateSingleMachineDependencyPost: $ref: ./examples/Maps/SMMapsGenerateSingleMachineDependencyPost.json SMMapsGenerateMachineGroupDependencyPost: $ref: ./examples/Maps/SMMapsGenerateMachineGroupDependencyPost.json SMMapsGenerateMachineListDependencyPost: $ref: ./examples/Maps/SMMapsGenerateMachineListDependencyPost.json description: Generates the specified map. parameters: - $ref: '#/parameters/SubscriptionIdParameter' - $ref: '#/parameters/ResourceGroupNameParameter' - $ref: '#/parameters/WorkspaceNameParameter' - $ref: '#/parameters/ApiVersionParameter' - name: request in: body required: true schema: $ref: '#/definitions/MapRequest' description: Request options. responses: '200': description: The operation completed successfully. schema: $ref: '#/definitions/MapResponse' default: description: An error occurred while processing the request. See the error.code parameter to identify the specific error. schema: $ref: '#/definitions/ErrorResponse' summary: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Operationalinsights Workspaces Workspacename Features Servicemap Generatemap definitions: Acceptor: description: A process accepting on a port. allOf: - $ref: '#/definitions/Relationship' x-ms-discriminator-value: rel:acceptor properties: properties: x-ms-client-flatten: true $ref: '#/definitions/AcceptorProperties' Machine: 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. allOf: - $ref: '#/definitions/CoreResource' x-ms-discriminator-value: machine properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: timestamp: type: string format: date-time description: UTC date and time when this resource was updated in the system. monitoringState: $ref: '#/definitions/MonitoringState' description: Specifies whether the machine is actively monitored or discovered. virtualizationState: $ref: '#/definitions/VirtualizationState' description: Specifies whether the machine is virtualized. displayName: type: string description: Name to use for display purposes computerName: type: string description: Name of the machine, e.g., server fullyQualifiedDomainName: type: string description: Fully-qualified name of the machine, e.g., server.company.com bootTime: type: string format: date-time description: UTC date and time when the machine last booted timezone: $ref: '#/definitions/Timezone' description: Timezone of the machine. agent: $ref: '#/definitions/AgentConfiguration' description: Dependency Agent configuration. resources: $ref: '#/definitions/MachineResourcesConfiguration' description: Machine resources (memory, cpu, etc.). networking: $ref: '#/definitions/NetworkConfiguration' description: Network configuration (ips, gateways, dns, etc.) operatingSystem: $ref: '#/definitions/OperatingSystemConfiguration' description: Operating system information. virtualMachine: $ref: '#/definitions/VirtualMachineConfiguration' description: Virtualization-related configuration. Present only when `virtualizationState` is `virtual`. hypervisor: $ref: '#/definitions/HypervisorConfiguration' description: Hypervisor-related configuration. Present only when 'virtualizationState' is `hypervisor`. hosting: $ref: '#/definitions/HostingConfiguration' description: Hosting-related configuration. Present if hosting information is discovered for the VM. MapNodes: description: The nodes (entities) of a map. type: object properties: machines: description: Machine resources. type: array items: $ref: '#/definitions/Machine' processes: description: Process resources. type: array items: $ref: '#/definitions/Process' ports: description: Port resources. type: array items: $ref: '#/definitions/Port' clientGroups: description: Client Group resources. type: array items: $ref: '#/definitions/ClientGroup' AcceptorProperties: description: Properties for an acceptor relationship. properties: source: $ref: '#/definitions/PortReference' description: Port being accepted. destination: $ref: '#/definitions/ProcessReference' description: Accepting process. startTime: type: string format: date-time description: Relationship start time. endTime: type: string format: date-time description: Relationship end time. required: - source - destination Ipv4NetworkInterface: description: Describes an IPv4 network interface. properties: ipAddress: type: string description: IPv4 address. subnetMask: type: string default: 255.255.255.255 description: IPv4 subnet mask. required: - ipAddress HypervisorConfiguration: description: Describes the hypervisor configuration of a machine. properties: hypervisorType: $ref: '#/definitions/HypervisorType' description: Specifies the virtualization technology used by the hypervisor (hyperv, vmware, etc.) nativeHostMachineId: type: string description: The unique identifier of the hypervisor machine as reported by the underlying virtualization system. Bitness: description: Specifies the bitness of a machine or process. type: string enum: - 32bit - 64bit x-ms-enum: name: Bitness modelAsString: false Timezone: description: Describes a timezone. properties: fullName: type: string description: Timezone full name. Resource: description: Resource model definition. properties: id: type: string description: Resource identifier. readOnly: true type: type: string description: Resource type. readOnly: true name: type: string description: Resource name. readOnly: true x-ms-azure-resource: true Relationship: description: A typed relationship between two entities. allOf: - $ref: '#/definitions/Resource' discriminator: kind properties: kind: type: string description: Additional resource type qualifier. enum: - rel:connection - rel:acceptor required: - kind MapResponse: description: Specified the contents of a map response. type: object properties: startTime: type: string format: date-time description: Map interval start time. endTime: type: string format: date-time description: Map interval end time. map: $ref: '#/definitions/Map' description: The generated map. required: - startTime - endTime - map MachineReference: description: Reference to a machine. allOf: - $ref: '#/definitions/ResourceReference' x-ms-discriminator-value: ref:machine VirtualizationState: description: Specifies if the machine is physical, virtual, hypervisor, or unknown. type: string enum: - unknown - physical - virtual - hypervisor x-ms-enum: name: VirtualizationState modelAsString: false ProcessDetails: description: Describes process metadata. properties: persistentKey: type: string description: A unique identifier for a process, generally resilient to process restart, computed by Service Map. poolId: type: integer format: int32 description: Represents the identity of the process pool assigned to the process by Dependency Agent. firstPid: type: integer format: int32 description: The Operating System Process Identifier (PID) of the first process in this process pool. description: type: string description: Process description. companyName: type: string description: Name of company that created the process executable. internalName: type: string description: Internal process name. productName: type: string description: Product name. productVersion: type: string description: Product version. fileVersion: type: string description: File version. commandLine: type: string description: Process command line. executablePath: type: string description: Process executable path. workingDirectory: type: string description: Process workingDirectory. services: type: array items: $ref: '#/definitions/ProcessHostedService' x-ms-identifiers: [] description: Collection of services hosted by this Process (Windows only). zoneName: type: string description: Process zone name (Linux only). Connection: description: A network connection. allOf: - $ref: '#/definitions/Relationship' x-ms-discriminator-value: rel:connection properties: properties: x-ms-client-flatten: true $ref: '#/definitions/ConnectionProperties' ConnectionFailureState: description: "Connection failure state:\n * ```ok``` indicates no failures\n * ```failed``` indicates only failures\n * ```mixed``` indicates both failures and successes" type: string enum: - ok - failed - mixed x-ms-enum: name: ConnectionFailureState modelAsString: false OperatingSystemFamily: description: Specifies the operating system family, e.g., Linux, Windows, etc. type: string enum: - unknown - windows - linux - solaris - aix x-ms-enum: name: OperatingSystemFamily modelAsString: false Port: 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. allOf: - $ref: '#/definitions/CoreResource' x-ms-discriminator-value: port properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: monitoringState: $ref: '#/definitions/MonitoringState' description: Specifies whether the port is actively monitored or discovered. machine: $ref: '#/definitions/ResourceReference' description: Machine hosting this port. displayName: type: string description: Name to use for display purposes. ipAddress: type: string description: IP address associated with the port. At present only IPv4 addresses are supported. portNumber: type: integer format: int32 description: Port number. MachineResourcesConfiguration: description: Describes the resources of a machine. properties: physicalMemory: type: integer format: int32 description: Physical memory in megabytes (MB). cpus: type: integer format: int32 description: Number of CPUs. cpuSpeed: type: integer format: int32 description: CPU speed in megahertz (Mhz). cpuSpeedAccuracy: $ref: '#/definitions/Accuracy' description: Describes the accuracy of the cpuSpeed field. ProcessHostingConfiguration: description: Describes the hosting configuration of a process. discriminator: kind properties: provider: type: string description: The hosting provider of the VM. enum: - azure kind: type: string description: Additional hosting configuration type qualifier. enum: - provider:azure required: - kind ClientGroup: description: Represents a collection of clients of a resource. A client group can represent the clients of a port, process, or a machine. allOf: - $ref: '#/definitions/CoreResource' x-ms-discriminator-value: clientGroup properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: clientsOf: $ref: '#/definitions/ResourceReference' description: Reference to the resource whose clients are represented by this group. required: - clientsOf ProcessUser: description: Describes the user under which a process is running. properties: userName: type: string description: User name under which the process is running. userDomain: type: string description: Domain name for the user. Process: 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 allOf: - $ref: '#/definitions/CoreResource' x-ms-discriminator-value: process properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: timestamp: type: string format: date-time description: UTC date and time when this process resource was updated in the system monitoringState: $ref: '#/definitions/MonitoringState' description: Specifies whether the process is actively monitored or discovered. machine: $ref: '#/definitions/ResourceReference' description: Machine hosting this process. executableName: type: string description: The name of the process executable displayName: type: string description: Name to use for display purposes startTime: type: string format: date-time description: UTC date and time when the process started role: type: string enum: - webServer - appServer - databaseServer - ldapServer - smbServer x-ms-enum: name: ProcessRole modelAsString: true description: The inferred role of this process based on its name, command line, etc. group: type: string description: The name of the product or suite of the process. The group is determined by its executable name, command line, etc. details: $ref: '#/definitions/ProcessDetails' description: Process metadata (command line, product name, etc.). user: $ref: '#/definitions/ProcessUser' description: Information about the account under which the process is executing. clientOf: $ref: '#/definitions/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. acceptorOf: $ref: '#/definitions/ResourceReference' description: Present only for a discovered process acting as a server. References the port on which the discovered process is accepting. hosting: $ref: '#/definitions/ProcessHostingConfiguration' description: Information about the hosting environment AgentConfiguration: description: Describes the configuration of the Dependency Agent installed on a machine. properties: agentId: type: string description: Health Service Agent unique identifier. dependencyAgentId: type: string description: Dependency Agent unique identifier. dependencyAgentVersion: type: string description: Dependency Agent version number. dependencyAgentRevision: type: string description: Dependency Agent revision number. rebootStatus: $ref: '#/definitions/MachineRebootStatus' description: Specifies whether the machine has been rebooted since the Dependency Agent installation. clockGranularity: type: integer format: int32 description: Machine clock granularity in milliseconds. required: - agentId MapRequest: description: Specifies the contents of request to generate a map. type: object discriminator: kind properties: startTime: type: string format: date-time description: Map interval start time. endTime: type: string format: date-time description: Map interval end time. kind: type: string description: The type of map to create. enum: - map:single-machine-dependency - map:machine-group-dependency - map:machine-list-dependency required: - kind PortReference: description: Reference to a port. allOf: - $ref: '#/definitions/ResourceReference' x-ms-discriminator-value: ref:port properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: machine: $ref: '#/definitions/MachineReference' description: Machine hosting the port. readOnly: true ipAddress: type: string description: IP address of the port. readOnly: true portNumber: type: integer format: int32 description: Port number. HostingConfiguration: description: Describes the hosting configuration of a machine. discriminator: kind properties: provider: type: string description: The hosting provider of the VM. enum: - azure kind: type: string description: Additional hosting configuration type qualifier. enum: - provider:azure required: - kind NetworkConfiguration: description: Describes the network configuration of a machine. properties: ipv4Interfaces: type: array items: $ref: '#/definitions/Ipv4NetworkInterface' x-ms-identifiers: - ipAddress - subnetMask description: IPv4 interfaces. ipv6Interfaces: type: array items: $ref: '#/definitions/Ipv6NetworkInterface' x-ms-identifiers: - ipAddress description: IPv6 interfaces. defaultIpv4Gateways: type: array items: type: string description: IPv4 address. description: Default IPv4 gateways. macAddresses: type: array items: type: string description: MAC address. description: MAC addresses of all active network interfaces. dnsNames: type: array items: type: string description: DNS name. description: DNS names associated with the machine. Accuracy: description: Specifies the accuracy of a computation. type: string enum: - actual - estimated x-ms-enum: name: Accuracy modelAsString: false Error: type: object description: Error details. properties: code: type: string description: Error code identifying the specific error. message: type: string description: Error message in the caller's locale. required: - code ResourceReference: description: Represents a reference to another resource. discriminator: kind properties: id: type: string description: Resource URI. type: type: string description: Resource type qualifier. readOnly: true name: type: string description: Resource name. readOnly: true kind: type: string description: Specifies the sub-class of the reference. enum: - ref:machine - ref:machinewithhints - ref:process - ref:port - ref:onmachine - ref:clientgroup required: - id - kind HypervisorType: description: Specifies the hypervisor type of a machine. type: string enum: - unknown - hyperv x-ms-enum: name: HypervisorType modelAsString: false ErrorResponse: type: object description: An error response from the API. properties: error: $ref: '#/definitions/Error' description: Error information. required: - error MachineRebootStatus: description: Specifies if the machine has been rebooted since the installation of the dependency agent. type: string enum: - unknown - rebooted - notRebooted x-ms-enum: name: MachineRebootStatus modelAsString: false VirtualMachineConfiguration: description: Describes the virtualization-related configuration of a machine. properties: virtualMachineType: $ref: '#/definitions/VirtualMachineType' description: Specifies the virtualization technology used by the machine (hyperv, vmware, etc.) nativeMachineId: type: string description: The unique identifier of the virtual machine as reported by the underlying virtualization system. virtualMachineName: type: string description: The Name of the virtual machine. nativeHostMachineId: type: string description: The unique identifier of the host of this virtual machine as reported by the underlying virtualization system. ProcessReference: description: Reference to a process. allOf: - $ref: '#/definitions/ResourceReference' x-ms-discriminator-value: ref:process properties: properties: x-ms-client-flatten: true type: object description: Resource properties. properties: machine: $ref: '#/definitions/MachineReference' description: Machine hosting the process. readOnly: true CoreResource: description: Marker resource for the core Service Map resources allOf: - $ref: '#/definitions/Resource' discriminator: kind properties: etag: type: string description: Resource ETAG. kind: type: string description: Additional resource type qualifier. enum: - machine - process - port - clientGroup - machineGroup required: - kind Ipv6NetworkInterface: description: Describes an IPv6 network interface. properties: ipAddress: type: string description: IPv6 address. required: - ipAddress VirtualMachineType: description: Specifies the virtualization type of a machine. type: string enum: - unknown - hyperv - ldom - lpar - vmware - virtualPc - xen x-ms-enum: name: VirtualMachineType modelAsString: false OperatingSystemConfiguration: description: Describes the configuration of the operating system of a machine. properties: family: $ref: '#/definitions/OperatingSystemFamily' description: Windows, Linux, etc. fullName: type: string description: Operating system full name. bitness: $ref: '#/definitions/Bitness' description: Operating system bitness (32-bit or 64-bit). required: - family - fullName - bitness ProcessHostedService: description: A service hosted by a process. properties: name: type: string description: The name of the service. displayName: type: string description: The service's display name. MapEdges: description: The edges (relationships) of a map. type: object properties: connections: type: array items: $ref: '#/definitions/Connection' description: Network connections. acceptors: type: array items: $ref: '#/definitions/Acceptor' description: Processes accepting on a port. Map: description: A map of resources and relationships between them. type: object properties: nodes: $ref: '#/definitions/MapNodes' edges: $ref: '#/definitions/MapEdges' required: - nodes - edges MonitoringState: description: Used to specify if a resources is monitored or discovered. type: string enum: - monitored - discovered x-ms-enum: name: MonitoringState modelAsString: false RelationshipProperties: description: Relationship properties. properties: source: $ref: '#/definitions/ResourceReference' description: Source resource of the relationship. destination: $ref: '#/definitions/ResourceReference' description: Destination resource of the relationship. startTime: type: string format: date-time description: Relationship start time. endTime: type: string format: date-time description: Relationship end time. required: - source - destination ConnectionProperties: description: Properties for a connection resource. allOf: - $ref: '#/definitions/RelationshipProperties' properties: serverPort: $ref: '#/definitions/PortReference' description: Reference to the server port via which this connection has been established. failureState: $ref: '#/definitions/ConnectionFailureState' description: Specifies whether there are only successful, failed or a mixture of both connections represented by this resource. parameters: ApiVersionParameter: name: api-version in: query required: true type: string description: API version. ResourceGroupNameParameter: name: resourceGroupName in: path x-ms-parameter-location: method required: true type: string description: Resource group name within the specified subscriptionId. maxLength: 64 minLength: 1 pattern: '[a-zA-Z0-9_-]+' SubscriptionIdParameter: name: subscriptionId in: path required: true type: string description: Azure subscription identifier. WorkspaceNameParameter: name: workspaceName in: path x-ms-parameter-location: method required: true type: string description: OMS workspace containing the resources of interest. minLength: 3 maxLength: 63 pattern: '[a-zA-Z0-9_][a-zA-Z0-9_-]+[a-zA-Z0-9_]' x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'