icp

package
v1.6.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package icp provides binding the the ITRS Capacity Planner data model

Index

Constants

View Source
const (
	LoginEndpoint = "/api/login" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-login

	EntityPropertiesEndpoint = "/api/entityproperties" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-entityproperties

	ProjectsEndpoint           = "/api/projects"            // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects
	ProjectsModelsEndpoint     = "/api/projects/models"     // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects-models_projectId_baselineId
	ProjectsIgnoreListEndpoint = "/api/projects/ignorelist" // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects-ignorelist_projectId_baselineId

	AssetServersEndpoint           = "/api/asset/servers"            // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-servers_projectId_baselineId
	AssetStorageEndpoint           = "/api/asset/storage"            // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-storage_projectId_baselineId
	AssetGroupingsEndpoint         = "/api/asset/groupings"          // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings_projectId_baselineId
	AssetGroupingsGroupingEndpoint = "/api/asset/groupings/grouping" // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-grouping_projectId_groupingName_baselineId
	AssetGroupingsEntityEndpoint   = "/api/asset/groupings/entity"   // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-entity_projectId_entityId_baselineId
	AssetGroupingsDynamicEndpoint  = "/api/asset/groupings/dynamic"  // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-dynamic_projectId_summaryDate_groupingName_baselineId_entityId_summaryLevelID
	AssetEndpoint                  = "/api/asset"                    // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-asset

	BaselineViewsProjectEndpoint = "/api/baselineviews/project" // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-baselineviews-project-projectId
	BaselineViewsEndpoint        = "/api/baselineviews"         // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-baselineviews-baselineViewId

	EntityMetaDataEndpoint       = "/api/entitymetadata" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-entitymetadata
	EntityMetaDataExportEndpoint = "/api/metadataexport" // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-metadataexport-projectId_onlyInclude

	MetricsEndpoint                   = "/api/metrics"                    // https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-metrics_projectId_baselineId
	MetricsSummariesEndpoint          = "/api/metrics/summaries"          // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summaries
	MetricsSummariesDateRangeEndpoint = "/api/metrics/summariesdaterange" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summariesdaterange

	EventsBaselineViewEndpoint = "/api/events/baselineview" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-events-baselineview

	// EventsEventFilterEndpoint endpoint
	//
	// https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-events-eventfilter
	//
	// https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-events-eventfilter_projectId
	//
	// https://icp-api.itrsgroup.com/v2.0/Help/Api/DELETE-api-events-eventfilter_projectId
	EventsEventFilterEndpoint = "/api/events/eventfilter"

	UploadEndpoint = "/api/Upload" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-Upload_version_taskname_machinename_selectedProjectId_testOnly_log

	CreateStackEndpoint                         = "" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-createstack
	CreateServiceAccountEndpoint                = "" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-createserviceaccount
	DeleteServiceAccountEndpoint                = "" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-deleteserviceaccount
	CreatePipelineServiceAndDataFoldersEndpoint = "" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-createpipelineserviceanddatafolders

	RecommendationsCloudInstancesEndpoint = "/api/recommendations/cloudinstances" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-recommendations-cloudinstances

	DataMartEntityPerformanceEndpoint = "/Api/DataMart/EntityPerformance" // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityPerformance
	DataMartEntityRelationEndpoint    = "/Api/DataMart/EntityRelation"    // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityRelation
	DataMartPropertiesEntityEndpoint  = "/Api/DataMart/PropertiesEntity"  // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-PropertiesEntity
	DataMartMetricsEndpoint           = "/Api/DataMart/Metrics"           // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-Metrics
	DataMartMetricTimeseriesEndpoint  = "/Api/DataMart/MetricTimeseries"  // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricTimeseries
	DataMartEntityPropertiesEndpoint  = "/Api/DataMart/EntityProperties"  // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityProperties
	DataMartMetricCapacitiesEndpoint  = "/Api/DataMart/MetricCapacities"  // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricCapacities
	DataMartGetEntitiesEndpoint       = "/Api/DataMart/GetEntities"       // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-GetEntities
	DataMartStartProcessingEndpoint   = "/Api/DataMart/StartProcessing"   // https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-StartProcessing
)

Variables

View Source
var ErrServerError = errors.New("Error from server (HTTP Status > 299)")

ErrServerError makes it a little easier for the caller to check the underlying HTTP response

Functions

This section is empty.

Types

type AssetGroupingsDynamicRequest

type AssetGroupingsDynamicRequest struct {
	ProjectID      int    `url:"projectId"`
	SummaryDate    string `url:"summaryDate"`
	GroupingName   string `url:"groupingName"`
	BaselineID     int    `url:"baselineId,omitempty"`
	EntityID       string `url:"entityId"`
	SummaryLevelID int    `url:"summaryLevelID,omitempty"`
}

AssetGroupingsDynamicRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-dynamic_projectId_summaryDate_groupingName_baselineId_entityId_summaryLevelID

type AssetGroupingsEntityRequest

type AssetGroupingsEntityRequest struct {
	ProjectID  int `url:"projectId"`
	EntityID   int `url:"entityId"`
	BaselineID int `url:"baselineId,omitempty"`
}

AssetGroupingsEntityRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-entity_projectId_entityId_baselineId

type AssetGroupingsEntityResponse

type AssetGroupingsEntityResponse []string

AssetGroupingsEntityResponse type XXX Unknown response from docs

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-entity_projectId_entityId_baselineId

type AssetGroupingsGroupingRequest

type AssetGroupingsGroupingRequest struct {
	ProjectID    int    `url:"projectId"`
	GroupingName string `url:"groupingName"`
	BaselineID   int    `url:"baselineId,omitempty"`
}

AssetGroupingsGroupingRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-grouping_projectId_groupingName_baselineId

type AssetGroupingsGroupingResponse

type AssetGroupingsGroupingResponse []string

AssetGroupingsGroupingResponse type XXX Unknown response from docs

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings-grouping_projectId_groupingName_baselineId

type AssetGroupingsRequest

type AssetGroupingsRequest struct {
	ProjectID  int `url:"projectId"`
	BaselineID int `url:"baselineId,omitempty"`
}

AssetGroupingsRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings_projectId_baselineId

type AssetGroupingsResponse

type AssetGroupingsResponse []string

AssetGroupingsResponse type XXX Unknown response from docs

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-groupings_projectId_baselineId

type AssetRegisterItem

type AssetRegisterItem struct {
	ServerName                   string     `json:"ServerName,omitempty"`
	TimeStamp                    time.Time  `json:"TimeStamp,omitempty"`
	InternalID                   string     `json:"InternalID,omitempty"`
	SourceServer                 string     `json:"SourceServer,omitempty"`
	ServerType                   string     `json:"ServerType,omitempty"`
	HostName                     string     `json:"HostName,omitempty"`
	DataCentreName               string     `json:"DataCentreName,omitempty"`
	Cluster                      string     `json:"Cluster,omitempty"`
	Environment                  string     `json:"Environment,omitempty"`
	Hypervisor                   string     `json:"Hypervisor,omitempty"`
	HypervisorVersion            string     `json:"HypervisorVersion,omitempty"`
	OperatingSystem              string     `json:"OperatingSystem,omitempty"`
	MemoryMB                     int        `json:"MemoryMB,omitempty"`
	ClockSpeedMHz                int        `json:"ClockSpeedMHz,omitempty"`
	NumberOfPhysicalCoresOrvCPUs int        `json:"NumberOfPhysicalCoresOrvCPUs,omitempty"`
	HyperthreadingEnabled        bool       `json:"HyperthreadingEnabled,omitempty"`
	DeployedDate                 time.Time  `json:"DeployedDate,omitempty"`
	DecommissionedDate           time.Time  `json:"DecommissionedDate,omitempty"`
	FailoverServerName           string     `json:"FailoverServerName,omitempty"`
	CPURatio                     int        `json:"CPURatio,omitempty"`
	SpecintRate2006              int        `json:"specint_rate2006,omitempty"`
	MaximumIOKBS                 int        `json:"MaximumIOKBS,omitempty"`
	LogicalCoresPerPhysicalCore  int        `json:"LogicalCoresPerPhysicalCore,omitempty"`
	HardwareModel                string     `json:"HardwareModel,omitempty"`
	HardwareVendor               string     `json:"HardwareVendor,omitempty"`
	Groupings                    []Grouping `json:"Groupings,omitempty"`
}

AssetRegisterItem type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=AssetRegisterItem

type AssetServersItem

type AssetServersItem struct {
	ServerID  int               `json:"ServerId"`
	Assets    Assets            `json:"Assets"`
	Groupings map[string]string `json:"Groupings"`
}

AssetServersItem type

Not documented

type AssetServersRequest

type AssetServersRequest struct {
	ProjectID  int `url:"projectId"`
	BaselineID int `url:"baselineId,omitempty"`
}

AssetServersRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-servers_projectId_baselineId

type AssetServersResponse

type AssetServersResponse []AssetServersItem

AssetServersResponse type XXX Unknown response from docs

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-servers_projectId_baselineId

type AssetStorageRequest

type AssetStorageRequest struct {
	ProjectID  int `url:"projectId"`
	BaselineID int `url:"baselineId,omitempty"`
}

AssetStorageRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-storage_projectId_baselineId

type AssetStorageResponse

type AssetStorageResponse struct {
	DataStores []DataStore `json:"DataStore"`
	VMFiles    []VMFile    `json:"VMFiles"`
}

AssetStorageResponse type XXX Unknown response from docs

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-asset-storage_projectId_baselineId

type Assets

type Assets struct {
	CPURatio             float64   `json:"CPURatio,omitempty"`
	EntityInternalID     string    `json:"EntityInternalId,omitempty"`
	HostID               int       `json:"HostID,omitempty"`
	ServerType           string    `json:"ServerType,omitempty"`
	BenchmarkScore       string    `json:"benchmarkScore,omitempty"`
	CoreMHzCapacity      string    `json:"coreMHzCapacity,omitempty"`
	Cores                string    `json:"cores,omitempty"`
	DecommisionDate      time.Time `json:"decommisionDate,omitempty"`
	DeployDate           time.Time `json:"deployDate,omitempty"`
	DeriveredCPUCapacity string    `json:"deriveredCPUCapacity,omitempty"`
	IOLimit              string    `json:"ioLimit,omitempty"`
	IOLimitActual        string    `json:"ioLimitActual,omitempty"`
	MemoryCapacity       string    `json:"memoryCapacity,omitempty"`
	ParentType           string    `json:"parentType,omitempty"`
	ServerName           string    `json:"serverName,omitempty"`
}

Assets Type

Not documented

type AvailableModel

type AvailableModel struct {
	SummaryLevelID int       `json:"SummaryLevelID"`
	StartDate      time.Time `json:"StartDate"`
	EndDate        time.Time `json:"EndDate"`
	Description    string    `json:"Description"`
}

AvailableModel type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=AvailableModel

type BaselineView

type BaselineView struct {
	ProjectID         int       `json:"ProjectId"`
	ID                string    `json:"ID"`
	Name              string    `json:"Name"`
	StartDate         time.Time `json:"StartDate"`
	EndDate           time.Time `json:"EndDate"`
	LastProcessedDate time.Time `json:"LastProcessedDate"`
	BaselineID        int       `json:"BaselineId"`
}

BaselineView type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=BaselineView

type DataMartEntityPerformanceRequest

type DataMartEntityPerformanceRequest struct {
	ProjectID         int                 `json:"ProjectId"`
	EntityPerformance []EntityPerformance `json:"EntityPerformance"`
}

DataMartEntityPerformanceRequest body type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityPerformance

type DataMartEntityPropertiesRequest

type DataMartEntityPropertiesRequest struct {
	ProjectID        int                `json:"ProjectId"`
	DataSourceName   string             `json:"DataSourceName"`
	SourceKey1       string             `json:"SourceKey1,omitempty"`
	SourceKey2       string             `json:"SourceKey2,omitempty"`
	SourceKey3       string             `json:"SourceKey3,omitempty"`
	SourceKey4       string             `json:"SourceKey4,omitempty"`
	SourceKey5       string             `json:"SourceKey5,omitempty"`
	EntityProperties []EntityProperties `json:"Metrics"`
}

DataMartEntityPropertiesRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityProperties

type DataMartEntityRelationRequest

type DataMartEntityRelationRequest struct {
	ProjectID      int              `json:"ProjectId"`
	EntityRelation []EntityRelation `json:"EntityRelation"`
}

DataMartEntityRelationRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityRelation

type DataMartGetEntitiesRequest

type DataMartGetEntitiesRequest struct {
	ProjectID  int      `json:"ProjectId"`
	EntityType []string `json:"EntityType"`
}

DataMartGetEntitiesRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-GetEntities

type DataMartMetricCapacitiesRequest

type DataMartMetricCapacitiesRequest struct {
	ProjectID        int                `json:"ProjectId"`
	DataSourceName   string             `json:"DataSourceName"`
	SourceKey1       string             `json:"SourceKey1,omitempty"`
	SourceKey2       string             `json:"SourceKey2,omitempty"`
	SourceKey3       string             `json:"SourceKey3,omitempty"`
	SourceKey4       string             `json:"SourceKey4,omitempty"`
	SourceKey5       string             `json:"SourceKey5,omitempty"`
	MetricName       string             `json:"MetricName"`
	MetricCapacities []MetricCapacities `json:"MetricCapacities"`
}

DataMartMetricCapacitiesRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricCapacities

type DataMartMetricTimeSeriesRequest

type DataMartMetricTimeSeriesRequest struct {
	ProjectID        int                `json:"ProjectId"`
	DataSourceName   string             `json:"DataSourceName"`
	SourceKey1       string             `json:"SourceKey1,omitempty"`
	SourceKey2       string             `json:"SourceKey2,omitempty"`
	SourceKey3       string             `json:"SourceKey3,omitempty"`
	SourceKey4       string             `json:"SourceKey4,omitempty"`
	SourceKey5       string             `json:"SourceKey5,omitempty"`
	MetricName       string             `json:"MetricName"`
	MetricTimeseries []MetricTimeSeries `json:"MetricTimeSeries"`
}

DataMartMetricTimeSeriesRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricTimeseries

type DataMartMetricsRequest

type DataMartMetricsRequest struct {
	ProjectID      int       `json:"ProjectId"`
	DataSourceName string    `json:"DataSourceName"`
	SourceKey1     string    `json:"SourceKey1,omitempty"`
	SourceKey2     string    `json:"SourceKey2,omitempty"`
	SourceKey3     string    `json:"SourceKey3,omitempty"`
	SourceKey4     string    `json:"SourceKey4,omitempty"`
	SourceKey5     string    `json:"SourceKey5,omitempty"`
	Metrics        []Metrics `json:"Metrics"`
}

DataMartMetricsRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-Metrics

type DataMartPropertiesEntityRequest

type DataMartPropertiesEntityRequest struct {
	ProjectID        int                `json:"ProjectId"`
	PropertiesEntity []PropertiesEntity `json:"PropertiesEntity"`
}

DataMartPropertiesEntityRequest body type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-PropertiesEntity

type DataMartStartProcessingRequest

type DataMartStartProcessingRequest struct {
	ProjectID int `json:"ProjectId"`
}

DataMartStartProcessingRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-StartProcessing

type DataStore

type DataStore struct {
	CapacityMB       float64 `json:"capacityMB"`
	DataCenter       string  `json:"dataCenter"`
	DataStoreCluster string  `json:"datastoreCluster"`
	DataStoreID      int     `json:"datastoreID"`
	DataStoreName    string  `json:"datastoreName"`
	EntitySource     string  `json:"entitySource"`
	InternalID       string  `json:"internalId"`
	ProvisionedMB    float64 `json:"provisionedMB"`
	ReservedRatio    float64 `json:"reserveRatio"`
	Shared           bool    `json:"shared"`
	UsedMB           float64 `json:"usedMB"`
}

DataStore type

Not documented

type DynamicProperty

type DynamicProperty struct {
	EntityName    string `json:"EntityName"`
	EntityID      int    `json:"EntityID"`
	PropertyName  string `json:"PropertyName"`
	PropertyValue string `json:"PropertyValue"`
}

DynamicProperty type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=DynamicProperty

type EntitiesPropertiesItem

type EntitiesPropertiesItem struct {
	KeyField1  string     `json:"KeyField1"`
	KeyField2  string     `json:"KeyField2"`
	KeyField3  string     `json:"KeyField3"`
	KeyField4  string     `json:"KeyField4"`
	KeyField5  string     `json:"KeyField5"`
	EntityType string     `json:"EntityType"`
	EntityName string     `json:"EntityName"`
	Timestamp  string     `json:"Timestamp"`
	Properties []Grouping `json:"Properties"`
}

EntitiesPropertiesItem type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=EntityPropertiesItem

type EntityMetaDataItem

type EntityMetaDataItem struct {
	SourceServer string
	InternalID   string
	Groupings    []Grouping
	Action       string
}

EntityMetaDataItem type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-entitymetadata

type EntityMeteDataExportRequest

type EntityMeteDataExportRequest struct {
	ProjectID   int    `url:"projectId,omitempty"`
	OnlyInclude string `url:"onlyInclude,omitempty"`
}

EntityMeteDataExportRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-metadataexport-projectId_onlyInclude

type EntityPerformance

type EntityPerformance struct {
	DataSourceName string    `json:"DataSourceName"`
	DataDateTime   time.Time `json:"DataDateTime"`
	SourceKey1     string    `json:"SourceKey1,omitempty"`
	SourceKey2     string    `json:"SourceKey2,omitempty"`
	SourceKey3     string    `json:"SourceKey3,omitempty"`
	SourceKey4     string    `json:"SourceKey4,omitempty"`
	SourceKey5     string    `json:"SourceKey5,omitempty"`
	MetricName     string    `json:"MetricName"`
	MetricValue    string    `json:"MetricValue"`
}

EntityPerformance type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=EntityPerformance

type EntityProperties

type EntityProperties struct {
	PropertyName  string    `json:"PropertyName"`
	PropertyValue string    `json:"PropertyValue"`
	EffectiveFrom time.Time `json:"EffectiveFrom"`
}

EntityProperties type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=EntityProperties

type EntityRelation

type EntityRelation struct {
	DataSourceName    string    `json:"DataSourceName"`
	Entity1SourceKey1 string    `json:"Entity1SourceKey1,omitempty"`
	Entity1SourceKey2 string    `json:"Entity1SourceKey2,omitempty"`
	Entity1SourceKey3 string    `json:"Entity1SourceKey3,omitempty"`
	Entity1SourceKey4 string    `json:"Entity1SourceKey4,omitempty"`
	Entity1SourceKey5 string    `json:"Entity1SourceKey5,omitempty"`
	Entity2SourceKey1 string    `json:"Entity2SourceKey1,omitempty"`
	Entity2SourceKey2 string    `json:"Entity2SourceKey2,omitempty"`
	Entity2SourceKey3 string    `json:"Entity2SourceKey3,omitempty"`
	Entity2SourceKey4 string    `json:"Entity2SourceKey4,omitempty"`
	Entity2SourceKey5 string    `json:"Entity2SourceKey5,omitempty"`
	RelationName      string    `json:"RelationName"`
	EffectiveFrom     time.Time `json:"EffectiveFrom"`
}

EntityRelation type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=EntityRelation

type EventBaselineRequest

type EventBaselineRequest struct {
	BaselineviewID         string `json:"BaselineviewId"`
	Filter                 string `json:"Filter"`
	ExcludePrecedingEvents bool   `json:"ExcludePrecedingEvents"`
	IncludeClusterEvents   bool   `json:"IncludeClusterEvents"`
}

EventBaselineRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-events-baselineview

type EventFilterRequest

type EventFilterRequest struct {
	ProjectID   int       `json:"ProjectID"`
	Start       time.Time `json:"Start"`
	End         time.Time `json:"End"`
	FiltersJSON string    `json:"FiltersJson"`
}

EventFilterRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-events-eventfilter

type Grouping

type Grouping struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

Grouping type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=Grouping

type ICP

type ICP struct {
	BaseURL string
	// contains filtered or unexported fields
}

ICP holds the projectID, endpoint and http client for the configured ICP instance. If token is set it is sent with each request as a auth header.

func Login

func Login(username string, password *config.Plaintext, options ...Options) (icp *ICP, err error)

Login sends a login request to the http endpoint and returns a token or an error

func New

func New(options ...Options) (icp *ICP)

New returns a new ICP object. BaseURL defaults to "https://icp-api.itrsgroup.com/v2.0" and client, if nil, to a default http.Client

func (*ICP) Asset

func (i *ICP) Asset(ctx context.Context, request *AssetRequest) (resp *http.Response, err error)

Asset request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-asset

func (*ICP) AssetGroupings

func (i *ICP) AssetGroupings(ctx context.Context, request *AssetGroupingsRequest) (response AssetGroupingsResponse, resp *http.Response, err error)

AssetGroupings request

func (*ICP) AssetGroupingsDynamic

func (i *ICP) AssetGroupingsDynamic(ctx context.Context, request *AssetGroupingsDynamicRequest) (response AssetGroupingsDynamicResponse, resp *http.Response, err error)

AssetGroupingsDynamic request

func (*ICP) AssetGroupingsEntity

func (i *ICP) AssetGroupingsEntity(ctx context.Context, request *AssetGroupingsEntityRequest) (response AssetGroupingsEntityResponse, resp *http.Response, err error)

AssetGroupingsEntity request

func (*ICP) AssetGroupingsGrouping

func (i *ICP) AssetGroupingsGrouping(ctx context.Context, request *AssetGroupingsGroupingRequest) (response AssetGroupingsGroupingResponse, resp *http.Response, err error)

AssetGroupingsGrouping request

func (*ICP) AssetServers

func (i *ICP) AssetServers(ctx context.Context, request *AssetServersRequest) (response AssetServersResponse, resp *http.Response, err error)

AssetServers request

func (*ICP) AssetStorage

func (i *ICP) AssetStorage(ctx context.Context, request *AssetStorageRequest) (response AssetStorageResponse, resp *http.Response, err error)

AssetStorage request

func (*ICP) BaselineViewsProject

func (i *ICP) BaselineViewsProject(ctx context.Context, request BaselineViewsProjectRequest) (response BaselineViewsProjectResponse, resp *http.Response, err error)

BaselineViewsProject request

func (*ICP) DataMartEntityPerformance

func (i *ICP) DataMartEntityPerformance(ctx context.Context, request *DataMartEntityPerformanceRequest) (resp *http.Response, err error)

DataMartEntityPerformance request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityPerformance

func (*ICP) DataMartEntityProperties

func (i *ICP) DataMartEntityProperties(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartEntityProperties request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityProperties

func (*ICP) DataMartEntityRelation

func (i *ICP) DataMartEntityRelation(ctx context.Context, request *DataMartEntityRelationRequest) (resp *http.Response, err error)

DataMartEntityRelation request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-EntityRelation

func (*ICP) DataMartGetEntities

func (i *ICP) DataMartGetEntities(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartGetEntities request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-GetEntities

func (*ICP) DataMartMetricCapacities

func (i *ICP) DataMartMetricCapacities(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartMetricCapacities request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricCapacities

func (*ICP) DataMartMetricTimeseries

func (i *ICP) DataMartMetricTimeseries(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartMetricTimeseries request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-MetricTimeseries

func (*ICP) DataMartMetrics

func (i *ICP) DataMartMetrics(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartMetrics request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-Metrics

func (*ICP) DataMartPropertiesEntity

func (i *ICP) DataMartPropertiesEntity(ctx context.Context, request *DataMartPropertiesEntityRequest) (resp *http.Response, err error)

DataMartPropertiesEntity request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-PropertiesEntity

func (*ICP) DataMartStartProcessing

func (i *ICP) DataMartStartProcessing(ctx context.Context, request *DataMartMetricsRequest) (resp *http.Response, err error)

DataMartStartProcessing request

(Response format unknown)

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-Api-DataMart-StartProcessing

func (*ICP) Delete

func (icp *ICP) Delete(ctx context.Context, endpoint string, request interface{}) (resp *http.Response, err error)

Delete Method

func (*ICP) EntityMetaData

func (i *ICP) EntityMetaData(ctx context.Context, request EntityMetaDataRequest) (resp *http.Response, err error)

EntityMetaData request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-entitymetadata

func (*ICP) EntityProperties

func (i *ICP) EntityProperties(ctx context.Context, request *EntityPropertiesRequest) (resp *http.Response, err error)

EntityProperties type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-entityproperties

func (*ICP) EventFilterDelete

func (i *ICP) EventFilterDelete(ctx context.Context, request EventFiltersRequest) (resp *http.Response, err error)

EventFilterDelete request

https://icp-api.itrsgroup.com/v2.0/Help/Api/DELETE-api-events-eventfilter_projectId

func (*ICP) EventFilterSet

func (i *ICP) EventFilterSet(ctx context.Context, request EventFilterRequest) (resp *http.Response, err error)

EventFilterSet request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-events-eventfilter

func (*ICP) Get

func (icp *ICP) Get(ctx context.Context, endpoint string, request interface{}, response interface{}) (resp *http.Response, err error)

Get sends a GET request to the endpoint

func (*ICP) MetricsSummaries

func (i *ICP) MetricsSummaries(ctx context.Context, request MetricsSummariesRequest) (response MetricsSummariesResponse, resp *http.Response, err error)

MetricsSummaries request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summaries

func (*ICP) MetricsSummariesDateRange

func (i *ICP) MetricsSummariesDateRange(ctx context.Context, request MetricsSummariesDateRangeRequest) (response MetricsSummariesResponse, resp *http.Response, err error)

MetricsSummariesDateRange request

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summariesdaterange

func (*ICP) Post

func (icp *ICP) Post(ctx context.Context, endpoint string, request interface{}) (resp *http.Response, err error)

Post makes a POST request to the endpoint after marshalling the body as json. The caller must close resp.Body.

func (*ICP) Projects

func (i *ICP) Projects(ctx context.Context) (response ProjectsResponse, resp *http.Response, err error)

Projects queries ICP for the authorised projects for the user. The response contains the unmarshalled data while resp and err return information from the underlying request. The resp.Body is already closed, if there wa no error.

func (*ICP) ProjectsModels

func (i *ICP) ProjectsModels(ctx context.Context, request *ProjectsModelsRequest) (response ProjectsModelsResponse, resp *http.Response, err error)

ProjectsModels gets a list of models for a specified project for the authenticated user

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects-models_projectId_baselineId

type LoginRequest

type LoginRequest struct {
	Username string `json:"Username"`
	Password string `json:"Password"`
}

LoginRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-login

type MetricCapacities

type MetricCapacities struct {
	CapacityValue string    `json:"CapacityValue"`
	EffectiveFrom time.Time `json:"EffectiveFrom"`
}

MetricCapacities type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=MetricCapacities

type MetricTimeSeries

type MetricTimeSeries struct {
	MetricValue  string    `json:"MetricValue"`
	DataDateTime time.Time `json:"DataDateTime"`
}

MetricTimeSeries type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=MetricTimeseries

type Metrics

type Metrics struct {
	MetricName   string    `json:"MetricName"`
	MetricValue  string    `json:"MetricValue"`
	DataDateTime time.Time `json:"DataDateTime"`
}

Metrics type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=Metrics

type MetricsRequest

type MetricsRequest struct {
	ProjectID  int `url:"projectId"`
	BaselineID int `url:"baselineId,omitempty"`
}

MetricsRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-metrics_projectId_baselineId

type MetricsSummariesDateRangeRequest

type MetricsSummariesDateRangeRequest struct {
	MetricID         int    `json:"MetricID,omitempty"`
	SummaryEndDate   string `json:"SummaryEndDate,omitempty"`
	ProjectID        int    `json:"ProjectId,omitempty"`
	BaselineID       int    `json:"BaselineId,omitempty"`
	EntityIDList     string `json:"EntityIDList,omitempty"`
	SummaryLevelID   int    `json:"SummaryLevelID,omitempty"`
	SummaryStartDate string `json:"SummaryStartDate,omitempty"`
}

MetricsSummariesDateRangeRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summariesdaterange

type MetricsSummariesRequest

type MetricsSummariesRequest struct {
	ProjectID        int    `json:"ProjectId,omitempty"`
	BaselineID       int    `json:"BaselineId,omitempty"`
	EntityIDList     string `json:"EntityIDList,omitempty"`
	SummaryLevelID   int    `json:"SummaryLevelID,omitempty"`
	SummaryStartDate string `json:"SummaryStartDate,omitempty"`
}

MetricsSummariesRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summaries

type MetricsSummariesResponse

type MetricsSummariesResponse map[string]string

MetricsSummariesResponse type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-metrics-summaries

type Options

type Options func(*icpOptions)

Options are used to control behaviour of ICP functions

func BaseURL

func BaseURL(baseurl string) Options

BaseURL sets the root of the REST API URL. The default is "https://icp-api.itrsgroup.com/v2.0"

func HTTPClient

func HTTPClient(client *http.Client) Options

HTTPClient sets the http.Client to use for requests. The default is the default http package client.

type PredictedEvent

type PredictedEvent struct {
	ID             int       `json:"Id,omitempty"`
	Priority       string    `json:"Priority,omitempty"`
	Confidence     float64   `json:"Confidence,omitempty"`
	EventTime      time.Time `json:"EventTime,omitempty"`
	Metric         string    `json:"Metric,omitempty"`
	Description    string    `json:"Description,omitempty"`
	Entity         string    `json:"Entity,omitempty"`
	EntityType     string    `json:"EntityType,omitempty"`
	Element        string    `json:"Element,omitempty"`
	InternalID     string    `json:"InternalId,omitempty"`
	SourceServer   string    `json:"SourceServer,omitempty"`
	IsClusterEvent bool      `json:"IsClusterEvent,omitempty"`
	Critical       string    `json:"Critical,omitempty"`
	Major          string    `json:"Major,omitempty"`
	Warning        string    `json:"Warning,omitempty"`
}

PredictedEvent type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=PredictedEvent

type Project

type Project struct {
	ID   int    `json:"Id"`
	Name string `json:"Name"`
}

Project type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=Project

type ProjectsIgnoreListRequest

type ProjectsIgnoreListRequest struct {
	ProjectID  int `json:"projectId"`
	BaselineID int `json:"baselineId"`
}

ProjectsIgnoreListRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects-ignorelist_projectId_baselineId

type ProjectsModelsRequest

type ProjectsModelsRequest struct {
	ProjectID  int `url:"projectId"`
	BaselineID int `url:"baselineId,omitempty"`
}

ProjectsModelsRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/GET-api-projects-models_projectId_baselineId

type PropertiesEntity

type PropertiesEntity struct {
	DataSourceName string    `json:"DataSourceName"`
	SourceKey1     string    `json:"SourceKey1,omitempty"`
	SourceKey2     string    `json:"SourceKey2,omitempty"`
	SourceKey3     string    `json:"SourceKey3,omitempty"`
	SourceKey4     string    `json:"SourceKey4,omitempty"`
	SourceKey5     string    `json:"SourceKey5,omitempty"`
	PropertyName   string    `json:"PropertyName"`
	PropertyValue  string    `json:"PropertyValue"`
	EffectiveFrom  time.Time `json:"EffectiveFrom"`
}

PropertiesEntity type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=PropertiesEntity

type UploadRequest

type UploadRequest struct {
	Version           string `url:"version"`
	TaskName          string `url:"taskname"`
	MachineName       string `url:"machinename"`
	SelectedProjectID int    `url:"selectedProjectId"`
	TestOnly          bool   `url:"testOnly"`
	Log               int    `url:"log"`
}

UploadRequest type

https://icp-api.itrsgroup.com/v2.0/Help/Api/POST-api-Upload_version_taskname_machinename_selectedProjectId_testOnly_log

type VMFile

type VMFile struct {
	CapacityMB      float64 `json:"capacityMB"`
	DataStoreID     int     `json:"datastoreID"`
	DemandMB        float64 `json:"demandMB"`
	EntityID        int     `json:"entityID"`
	FileSizeMB      float64 `json:"fileSizeMB"`
	Filename        string  `json:"filename"`
	HasTrueDemand   bool    `json:"hasTrueDemand"`
	StorageFileType int     `json:"storageFileType"`
	StorageFormat   int     `json:"storageFormat"`
	VMFileID        int     `json:"vmFileID"`
}

VMFile type

Not documented

type Version

type Version struct {
	Major         int `json:"Major,omitempty"`
	Minor         int `json:"Minor,omitempty"`
	Build         int `json:"Build,omitempty"`
	Revision      int `json:"Revision,omitempty"`
	MajorRevision int `json:"MajorRevision,omitempty"`
	MinorRevision int `json:"MinorRevision,omitempty"`
}

Version type

https://icp-api.itrsgroup.com/v2.0/Help/ResourceModel?modelName=PropertiesEntity

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL