forked from TrueCloudLab/restic
759 lines
30 KiB
Go
Executable file
759 lines
30 KiB
Go
Executable file
package servicemap
|
|
|
|
// Copyright (c) Microsoft and contributors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
//
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0
|
|
// Changes may cause incorrect behavior and will be lost if the code is
|
|
// regenerated.
|
|
|
|
import (
|
|
"github.com/Azure/go-autorest/autorest"
|
|
"github.com/Azure/go-autorest/autorest/date"
|
|
"github.com/Azure/go-autorest/autorest/to"
|
|
"net/http"
|
|
)
|
|
|
|
// Accuracy enumerates the values for accuracy.
|
|
type Accuracy string
|
|
|
|
const (
|
|
// Actual specifies the actual state for accuracy.
|
|
Actual Accuracy = "actual"
|
|
// Estimated specifies the estimated state for accuracy.
|
|
Estimated Accuracy = "estimated"
|
|
)
|
|
|
|
// Bitness enumerates the values for bitness.
|
|
type Bitness string
|
|
|
|
const (
|
|
// SixFourbit specifies the six fourbit state for bitness.
|
|
SixFourbit Bitness = "64bit"
|
|
// ThreeTwobit specifies the three twobit state for bitness.
|
|
ThreeTwobit Bitness = "32bit"
|
|
)
|
|
|
|
// ConnectionFailureState enumerates the values for connection failure state.
|
|
type ConnectionFailureState string
|
|
|
|
const (
|
|
// Failed specifies the failed state for connection failure state.
|
|
Failed ConnectionFailureState = "failed"
|
|
// Mixed specifies the mixed state for connection failure state.
|
|
Mixed ConnectionFailureState = "mixed"
|
|
// Ok specifies the ok state for connection failure state.
|
|
Ok ConnectionFailureState = "ok"
|
|
)
|
|
|
|
// HypervisorType enumerates the values for hypervisor type.
|
|
type HypervisorType string
|
|
|
|
const (
|
|
// Hyperv specifies the hyperv state for hypervisor type.
|
|
Hyperv HypervisorType = "hyperv"
|
|
// Unknown specifies the unknown state for hypervisor type.
|
|
Unknown HypervisorType = "unknown"
|
|
)
|
|
|
|
// MachineRebootStatus enumerates the values for machine reboot status.
|
|
type MachineRebootStatus string
|
|
|
|
const (
|
|
// MachineRebootStatusNotRebooted specifies the machine reboot status not
|
|
// rebooted state for machine reboot status.
|
|
MachineRebootStatusNotRebooted MachineRebootStatus = "notRebooted"
|
|
// MachineRebootStatusRebooted specifies the machine reboot status rebooted
|
|
// state for machine reboot status.
|
|
MachineRebootStatusRebooted MachineRebootStatus = "rebooted"
|
|
// MachineRebootStatusUnknown specifies the machine reboot status unknown
|
|
// state for machine reboot status.
|
|
MachineRebootStatusUnknown MachineRebootStatus = "unknown"
|
|
)
|
|
|
|
// MonitoringState enumerates the values for monitoring state.
|
|
type MonitoringState string
|
|
|
|
const (
|
|
// Discovered specifies the discovered state for monitoring state.
|
|
Discovered MonitoringState = "discovered"
|
|
// Monitored specifies the monitored state for monitoring state.
|
|
Monitored MonitoringState = "monitored"
|
|
)
|
|
|
|
// OperatingSystemFamily enumerates the values for operating system family.
|
|
type OperatingSystemFamily string
|
|
|
|
const (
|
|
// OperatingSystemFamilyAix specifies the operating system family aix state
|
|
// for operating system family.
|
|
OperatingSystemFamilyAix OperatingSystemFamily = "aix"
|
|
// OperatingSystemFamilyLinux specifies the operating system family linux
|
|
// state for operating system family.
|
|
OperatingSystemFamilyLinux OperatingSystemFamily = "linux"
|
|
// OperatingSystemFamilySolaris specifies the operating system family
|
|
// solaris state for operating system family.
|
|
OperatingSystemFamilySolaris OperatingSystemFamily = "solaris"
|
|
// OperatingSystemFamilyUnknown specifies the operating system family
|
|
// unknown state for operating system family.
|
|
OperatingSystemFamilyUnknown OperatingSystemFamily = "unknown"
|
|
// OperatingSystemFamilyWindows specifies the operating system family
|
|
// windows state for operating system family.
|
|
OperatingSystemFamilyWindows OperatingSystemFamily = "windows"
|
|
)
|
|
|
|
// ProcessRole enumerates the values for process role.
|
|
type ProcessRole string
|
|
|
|
const (
|
|
// AppServer specifies the app server state for process role.
|
|
AppServer ProcessRole = "appServer"
|
|
// DatabaseServer specifies the database server state for process role.
|
|
DatabaseServer ProcessRole = "databaseServer"
|
|
// LdapServer specifies the ldap server state for process role.
|
|
LdapServer ProcessRole = "ldapServer"
|
|
// SmbServer specifies the smb server state for process role.
|
|
SmbServer ProcessRole = "smbServer"
|
|
// WebServer specifies the web server state for process role.
|
|
WebServer ProcessRole = "webServer"
|
|
)
|
|
|
|
// VirtualizationState enumerates the values for virtualization state.
|
|
type VirtualizationState string
|
|
|
|
const (
|
|
// VirtualizationStateHypervisor specifies the virtualization state
|
|
// hypervisor state for virtualization state.
|
|
VirtualizationStateHypervisor VirtualizationState = "hypervisor"
|
|
// VirtualizationStatePhysical specifies the virtualization state physical
|
|
// state for virtualization state.
|
|
VirtualizationStatePhysical VirtualizationState = "physical"
|
|
// VirtualizationStateUnknown specifies the virtualization state unknown
|
|
// state for virtualization state.
|
|
VirtualizationStateUnknown VirtualizationState = "unknown"
|
|
// VirtualizationStateVirtual specifies the virtualization state virtual
|
|
// state for virtualization state.
|
|
VirtualizationStateVirtual VirtualizationState = "virtual"
|
|
)
|
|
|
|
// VirtualMachineType enumerates the values for virtual machine type.
|
|
type VirtualMachineType string
|
|
|
|
const (
|
|
// VirtualMachineTypeHyperv specifies the virtual machine type hyperv state
|
|
// for virtual machine type.
|
|
VirtualMachineTypeHyperv VirtualMachineType = "hyperv"
|
|
// VirtualMachineTypeLdom specifies the virtual machine type ldom state for
|
|
// virtual machine type.
|
|
VirtualMachineTypeLdom VirtualMachineType = "ldom"
|
|
// VirtualMachineTypeLpar specifies the virtual machine type lpar state for
|
|
// virtual machine type.
|
|
VirtualMachineTypeLpar VirtualMachineType = "lpar"
|
|
// VirtualMachineTypeUnknown specifies the virtual machine type unknown
|
|
// state for virtual machine type.
|
|
VirtualMachineTypeUnknown VirtualMachineType = "unknown"
|
|
// VirtualMachineTypeVirtualPc specifies the virtual machine type virtual
|
|
// pc state for virtual machine type.
|
|
VirtualMachineTypeVirtualPc VirtualMachineType = "virtualPc"
|
|
// VirtualMachineTypeVmware specifies the virtual machine type vmware state
|
|
// for virtual machine type.
|
|
VirtualMachineTypeVmware VirtualMachineType = "vmware"
|
|
// VirtualMachineTypeXen specifies the virtual machine type xen state for
|
|
// virtual machine type.
|
|
VirtualMachineTypeXen VirtualMachineType = "xen"
|
|
)
|
|
|
|
// Acceptor is a process accepting on a port.
|
|
type Acceptor struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*AcceptorProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// AcceptorProperties is properties for an acceptor relationship.
|
|
type AcceptorProperties struct {
|
|
Source *PortReference `json:"source,omitempty"`
|
|
Destination *ProcessReference `json:"destination,omitempty"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
}
|
|
|
|
// AgentConfiguration is describes the configuration of the Dependency Agent
|
|
// installed on a machine.
|
|
type AgentConfiguration struct {
|
|
AgentID *string `json:"agentId,omitempty"`
|
|
DependencyAgentID *string `json:"dependencyAgentId,omitempty"`
|
|
DependencyAgentVersion *string `json:"dependencyAgentVersion,omitempty"`
|
|
DependencyAgentRevision *string `json:"dependencyAgentRevision,omitempty"`
|
|
RebootStatus MachineRebootStatus `json:"rebootStatus,omitempty"`
|
|
ClockGranularity *int32 `json:"clockGranularity,omitempty"`
|
|
}
|
|
|
|
// ClientGroup is represents a collection of clients of a resource. A client
|
|
// group can represent the clients of a port, process, or a machine.
|
|
type ClientGroup struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
*ClientGroupProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// ClientGroupProperties is resource properties.
|
|
type ClientGroupProperties struct {
|
|
ClientsOf *ResourceReference `json:"clientsOf,omitempty"`
|
|
}
|
|
|
|
// ClientGroupMember is represents a member of a client group
|
|
type ClientGroupMember struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*ClientGroupMemberProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// ClientGroupMemberProperties is resource properties.
|
|
type ClientGroupMemberProperties struct {
|
|
IPAddress *string `json:"ipAddress,omitempty"`
|
|
Port *PortReference `json:"port,omitempty"`
|
|
Processes *[]ProcessReference `json:"processes,omitempty"`
|
|
}
|
|
|
|
// ClientGroupMembersCollection is collection of ClientGroupMember resources.
|
|
type ClientGroupMembersCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]ClientGroupMember `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// ClientGroupMembersCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client ClientGroupMembersCollection) ClientGroupMembersCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// ClientGroupMembersCount is specifies the number of members in a client
|
|
// group.
|
|
type ClientGroupMembersCount struct {
|
|
autorest.Response `json:"-"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
GroupID *string `json:"groupId,omitempty"`
|
|
Count *int32 `json:"count,omitempty"`
|
|
Accuracy Accuracy `json:"accuracy,omitempty"`
|
|
}
|
|
|
|
// Connection is a network connection.
|
|
type Connection struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*ConnectionProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// ConnectionCollection is collection of Connection resources.
|
|
type ConnectionCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]Connection `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// ConnectionCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client ConnectionCollection) ConnectionCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// ConnectionProperties is properties for a connection resource.
|
|
type ConnectionProperties struct {
|
|
Source *ResourceReference `json:"source,omitempty"`
|
|
Destination *ResourceReference `json:"destination,omitempty"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
ServerPort *PortReference `json:"serverPort,omitempty"`
|
|
FailureState ConnectionFailureState `json:"failureState,omitempty"`
|
|
}
|
|
|
|
// CoreResource is marker resource for the core Service Map resources
|
|
type CoreResource struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
}
|
|
|
|
// Error is error details.
|
|
type Error struct {
|
|
Code *string `json:"code,omitempty"`
|
|
Message *string `json:"message,omitempty"`
|
|
}
|
|
|
|
// ErrorResponse is an error response from the API.
|
|
type ErrorResponse struct {
|
|
Error *Error `json:"error,omitempty"`
|
|
}
|
|
|
|
// HypervisorConfiguration is describes the hypervisor configuration of a
|
|
// machine.
|
|
type HypervisorConfiguration struct {
|
|
HypervisorType HypervisorType `json:"hypervisorType,omitempty"`
|
|
NativeHostMachineID *string `json:"nativeHostMachineId,omitempty"`
|
|
}
|
|
|
|
// Ipv4NetworkInterface is describes an IPv4 network interface.
|
|
type Ipv4NetworkInterface struct {
|
|
IPAddress *string `json:"ipAddress,omitempty"`
|
|
SubnetMask *string `json:"subnetMask,omitempty"`
|
|
}
|
|
|
|
// Ipv6NetworkInterface is describes an IPv6 network interface.
|
|
type Ipv6NetworkInterface struct {
|
|
IPAddress *string `json:"ipAddress,omitempty"`
|
|
}
|
|
|
|
// Liveness is specifies the contents of a check liveness response.
|
|
type Liveness struct {
|
|
autorest.Response `json:"-"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
Live *bool `json:"live,omitempty"`
|
|
}
|
|
|
|
// Machine is 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.
|
|
type Machine struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
*MachineProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// MachineProperties is resource properties.
|
|
type MachineProperties struct {
|
|
Timestamp *date.Time `json:"timestamp,omitempty"`
|
|
MonitoringState MonitoringState `json:"monitoringState,omitempty"`
|
|
VirtualizationState VirtualizationState `json:"virtualizationState,omitempty"`
|
|
DisplayName *string `json:"displayName,omitempty"`
|
|
ComputerName *string `json:"computerName,omitempty"`
|
|
FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"`
|
|
BootTime *date.Time `json:"bootTime,omitempty"`
|
|
Timezone *Timezone `json:"timezone,omitempty"`
|
|
Agent *AgentConfiguration `json:"agent,omitempty"`
|
|
Resources *MachineResourcesConfiguration `json:"resources,omitempty"`
|
|
Networking *NetworkConfiguration `json:"networking,omitempty"`
|
|
OperatingSystem *OperatingSystemConfiguration `json:"operatingSystem,omitempty"`
|
|
VirtualMachine *VirtualMachineConfiguration `json:"virtualMachine,omitempty"`
|
|
Hypervisor *HypervisorConfiguration `json:"hypervisor,omitempty"`
|
|
}
|
|
|
|
// MachineCollection is collection of Machine resources.
|
|
type MachineCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]Machine `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// MachineCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client MachineCollection) MachineCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// MachineCountsByOperatingSystem is machines by operating system.
|
|
type MachineCountsByOperatingSystem struct {
|
|
Windows *int32 `json:"windows,omitempty"`
|
|
Linux *int32 `json:"linux,omitempty"`
|
|
}
|
|
|
|
// MachineGroup is a user-defined logical grouping of machines.
|
|
type MachineGroup struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
*MachineGroupProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// MachineGroupProperties is resource properties.
|
|
type MachineGroupProperties struct {
|
|
DisplayName *string `json:"displayName,omitempty"`
|
|
Machines *[]MachineReferenceWithHints `json:"machines,omitempty"`
|
|
}
|
|
|
|
// MachineGroupCollection is collection of Machine Group resources.
|
|
type MachineGroupCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]MachineGroup `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// MachineGroupCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client MachineGroupCollection) MachineGroupCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// MachineGroupMapRequest is specifies the computation of a machine group
|
|
// dependency map. A machine group dependency map includes all direct
|
|
// dependencies of a group of machines.
|
|
type MachineGroupMapRequest struct {
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
MachineGroupID *string `json:"machineGroupId,omitempty"`
|
|
FilterProcesses *bool `json:"filterProcesses,omitempty"`
|
|
}
|
|
|
|
// MachineReference is reference to a machine.
|
|
type MachineReference struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
// MachineReferenceWithHints is a machine reference with a hint of the
|
|
// machine's name and operating system.
|
|
type MachineReferenceWithHints struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*MachineReferenceWithHintsProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// MachineReferenceWithHintsProperties is machine reference with name and os
|
|
// hints.
|
|
type MachineReferenceWithHintsProperties struct {
|
|
DisplayNameHint *string `json:"displayNameHint,omitempty"`
|
|
OsFamilyHint OperatingSystemFamily `json:"osFamilyHint,omitempty"`
|
|
}
|
|
|
|
// MachineResourcesConfiguration is describes the resources of a machine.
|
|
type MachineResourcesConfiguration struct {
|
|
PhysicalMemory *int32 `json:"physicalMemory,omitempty"`
|
|
Cpus *int32 `json:"cpus,omitempty"`
|
|
CPUSpeed *int32 `json:"cpuSpeed,omitempty"`
|
|
CPUSpeedAccuracy Accuracy `json:"cpuSpeedAccuracy,omitempty"`
|
|
}
|
|
|
|
// MachinesSummary is a summary of the machines in the workspace.
|
|
type MachinesSummary struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*MachinesSummaryProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// MachinesSummaryProperties is summarizes machines in the workspace.
|
|
type MachinesSummaryProperties struct {
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
Total *int32 `json:"total,omitempty"`
|
|
Live *int32 `json:"live,omitempty"`
|
|
Os *MachineCountsByOperatingSystem `json:"os,omitempty"`
|
|
}
|
|
|
|
// Map is a map of resources and relationships between them.
|
|
type Map struct {
|
|
Nodes *MapNodes `json:"nodes,omitempty"`
|
|
Edges *MapEdges `json:"edges,omitempty"`
|
|
}
|
|
|
|
// MapEdges is the edges (relationships) of a map.
|
|
type MapEdges struct {
|
|
Connections *[]Connection `json:"connections,omitempty"`
|
|
Acceptors *[]Acceptor `json:"acceptors,omitempty"`
|
|
}
|
|
|
|
// MapNodes is the nodes (entities) of a map.
|
|
type MapNodes struct {
|
|
Machines *[]Machine `json:"machines,omitempty"`
|
|
Processes *[]Process `json:"processes,omitempty"`
|
|
Ports *[]Port `json:"Ports,omitempty"`
|
|
ClientGroups *[]ClientGroup `json:"ClientGroups,omitempty"`
|
|
}
|
|
|
|
// MapRequest is specifies the contents of request to generate a map.
|
|
type MapRequest struct {
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
}
|
|
|
|
// MapResponse is specified the contents of a map response.
|
|
type MapResponse struct {
|
|
autorest.Response `json:"-"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
Map *Map `json:"map,omitempty"`
|
|
}
|
|
|
|
// NetworkConfiguration is describes the network configuration of a machine.
|
|
type NetworkConfiguration struct {
|
|
Ipv4Interfaces *[]Ipv4NetworkInterface `json:"ipv4Interfaces,omitempty"`
|
|
Ipv6Interfaces *[]Ipv6NetworkInterface `json:"ipv6Interfaces,omitempty"`
|
|
DefaultIpv4Gateways *[]string `json:"defaultIpv4Gateways,omitempty"`
|
|
MacAddresses *[]string `json:"macAddresses,omitempty"`
|
|
DNSNames *[]string `json:"dnsNames,omitempty"`
|
|
}
|
|
|
|
// OperatingSystemConfiguration is describes the configuration of the operating
|
|
// system of a machine.
|
|
type OperatingSystemConfiguration struct {
|
|
Family OperatingSystemFamily `json:"family,omitempty"`
|
|
FullName *string `json:"fullName,omitempty"`
|
|
Bitness Bitness `json:"bitness,omitempty"`
|
|
}
|
|
|
|
// Port is 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.
|
|
type Port struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
*PortProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// PortProperties is resource properties.
|
|
type PortProperties struct {
|
|
MonitoringState MonitoringState `json:"monitoringState,omitempty"`
|
|
Machine *ResourceReference `json:"machine,omitempty"`
|
|
DisplayName *string `json:"displayName,omitempty"`
|
|
IPAddress *string `json:"ipAddress,omitempty"`
|
|
PortNumber *int32 `json:"portNumber,omitempty"`
|
|
}
|
|
|
|
// PortCollection is collection of Port resources.
|
|
type PortCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]Port `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// PortCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client PortCollection) PortCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// PortReference is reference to a port.
|
|
type PortReference struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*PortReferenceProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// PortReferenceProperties is resource properties.
|
|
type PortReferenceProperties struct {
|
|
Machine *MachineReference `json:"machine,omitempty"`
|
|
IPAddress *string `json:"ipAddress,omitempty"`
|
|
PortNumber *int32 `json:"portNumber,omitempty"`
|
|
}
|
|
|
|
// Process is 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
|
|
type Process struct {
|
|
autorest.Response `json:"-"`
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
Etag *string `json:"etag,omitempty"`
|
|
*ProcessProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// ProcessProperties is resource properties.
|
|
type ProcessProperties struct {
|
|
Timestamp *date.Time `json:"timestamp,omitempty"`
|
|
MonitoringState MonitoringState `json:"monitoringState,omitempty"`
|
|
Machine *ResourceReference `json:"machine,omitempty"`
|
|
ExecutableName *string `json:"executableName,omitempty"`
|
|
DisplayName *string `json:"displayName,omitempty"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
Role ProcessRole `json:"role,omitempty"`
|
|
Details *ProcessDetails `json:"details,omitempty"`
|
|
User *ProcessUser `json:"user,omitempty"`
|
|
ClientOf *ResourceReference `json:"clientOf,omitempty"`
|
|
AcceptorOf *ResourceReference `json:"acceptorOf,omitempty"`
|
|
}
|
|
|
|
// ProcessCollection is collection of Process resources.
|
|
type ProcessCollection struct {
|
|
autorest.Response `json:"-"`
|
|
Value *[]Process `json:"value,omitempty"`
|
|
NextLink *string `json:"nextLink,omitempty"`
|
|
}
|
|
|
|
// ProcessCollectionPreparer prepares a request to retrieve the next set of results. It returns
|
|
// nil if no more results exist.
|
|
func (client ProcessCollection) ProcessCollectionPreparer() (*http.Request, error) {
|
|
if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 {
|
|
return nil, nil
|
|
}
|
|
return autorest.Prepare(&http.Request{},
|
|
autorest.AsJSON(),
|
|
autorest.AsGet(),
|
|
autorest.WithBaseURL(to.String(client.NextLink)))
|
|
}
|
|
|
|
// ProcessDetails is describes process metadata.
|
|
type ProcessDetails struct {
|
|
PersistentKey *string `json:"persistentKey,omitempty"`
|
|
PoolID *int32 `json:"poolId,omitempty"`
|
|
FirstPid *int32 `json:"firstPid,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
CompanyName *string `json:"companyName,omitempty"`
|
|
InternalName *string `json:"internalName,omitempty"`
|
|
ProductName *string `json:"productName,omitempty"`
|
|
ProductVersion *string `json:"productVersion,omitempty"`
|
|
FileVersion *string `json:"fileVersion,omitempty"`
|
|
CommandLine *string `json:"commandLine,omitempty"`
|
|
ExecutablePath *string `json:"executablePath,omitempty"`
|
|
WorkingDirectory *string `json:"workingDirectory,omitempty"`
|
|
}
|
|
|
|
// ProcessReference is reference to a process.
|
|
type ProcessReference struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
*ProcessReferenceProperties `json:"properties,omitempty"`
|
|
}
|
|
|
|
// ProcessReferenceProperties is resource properties.
|
|
type ProcessReferenceProperties struct {
|
|
Machine *MachineReference `json:"machine,omitempty"`
|
|
}
|
|
|
|
// ProcessUser is describes the user under which a process is running.
|
|
type ProcessUser struct {
|
|
UserName *string `json:"userName,omitempty"`
|
|
UserDomain *string `json:"userDomain,omitempty"`
|
|
}
|
|
|
|
// Relationship is a typed relationship between two entities.
|
|
type Relationship struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
// RelationshipProperties is relationship properties.
|
|
type RelationshipProperties struct {
|
|
Source *ResourceReference `json:"source,omitempty"`
|
|
Destination *ResourceReference `json:"destination,omitempty"`
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
}
|
|
|
|
// Resource is resource model definition.
|
|
type Resource struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
// ResourceReference is represents a reference to another resource.
|
|
type ResourceReference struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
// SingleMachineDependencyMapRequest is specifies the computation of a single
|
|
// server dependency map. A single server dependency map includes all direct
|
|
// dependencies of a given machine.
|
|
type SingleMachineDependencyMapRequest struct {
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
MachineID *string `json:"machineId,omitempty"`
|
|
}
|
|
|
|
// Summary is base for all resource summaries.
|
|
type Summary struct {
|
|
ID *string `json:"id,omitempty"`
|
|
Type *string `json:"type,omitempty"`
|
|
Name *string `json:"name,omitempty"`
|
|
}
|
|
|
|
// SummaryProperties is base for all summaries.
|
|
type SummaryProperties struct {
|
|
StartTime *date.Time `json:"startTime,omitempty"`
|
|
EndTime *date.Time `json:"endTime,omitempty"`
|
|
}
|
|
|
|
// Timezone is describes a timezone.
|
|
type Timezone struct {
|
|
FullName *string `json:"fullName,omitempty"`
|
|
}
|
|
|
|
// VirtualMachineConfiguration is describes the virtualizaton-related
|
|
// configuration of a machine.
|
|
type VirtualMachineConfiguration struct {
|
|
VirtualMachineType VirtualMachineType `json:"virtualMachineType,omitempty"`
|
|
NativeMachineID *string `json:"nativeMachineId,omitempty"`
|
|
VirtualMachineName *string `json:"virtualMachineName,omitempty"`
|
|
NativeHostMachineID *string `json:"nativeHostMachineId,omitempty"`
|
|
}
|