Files
sailpoint-cli/cmd/connector/models.go
2023-09-07 11:20:40 -05:00

95 lines
2.2 KiB
Go

// Copyright (c) 2021, SailPoint Technologies, Inc. All rights reserved.
package connector
import (
"fmt"
"strconv"
)
type connector struct {
ID string `json:"id"`
Alias string `json:"alias"`
}
func (c connector) columns() []string {
return []string{c.ID, c.Alias}
}
var connectorColumns = []string{"ID", "Alias"}
type connectorVersion struct {
ConnectorID string `json:"connectorId"`
Version int `json:"version"`
}
type connectorUpdate struct {
Alias string `json:"alias"`
}
func (v connectorVersion) columns() []string {
return []string{v.ConnectorID, strconv.Itoa(v.Version)}
}
var connectorVersionColumns = []string{"Connector ID", "Version"}
// tag is an anchor point pointing to a version of the connector
type tag struct {
ID string `json:"id"`
TagName string `json:"tagName"`
ActiveVersion uint32 `json:"activeVersion"`
}
func (t tag) columns() []string {
return []string{t.ID, t.TagName, fmt.Sprint(t.ActiveVersion)}
}
var tagColumns = []string{"ID", "Tag Name", "Active Version"}
type TagCreate struct {
TagName string `json:"tagName"`
ActiveVersion uint32 `json:"activeVersion"`
}
type TagUpdate struct {
ActiveVersion uint32 `json:"activeVersion"`
}
type instance struct {
ID string `json:"id"`
Name string `json:"name"`
CustomizerId string `json:"connectorCustomizerId"`
}
func (c instance) columns() []string {
return []string{c.ID, c.Name, c.CustomizerId}
}
var instanceColumns = []string{"ID", "Name", "Customizer ID"}
type customizer struct {
ID string `json:"id"`
Name string `json:"name"`
ImageVersion *int `json:"imageVersion,omitempty"`
}
func (c customizer) columns() []string {
if c.ImageVersion == nil {
return []string{c.ID, c.Name, ""}
}
return []string{c.ID, c.Name, strconv.Itoa(*c.ImageVersion)}
}
var customizerColumns = []string{"ID", "Name", "Version"}
type customizerVersion struct {
CustomizerID string `json:"connectorCustomizerId"`
ImageID string `json:"imageId"`
Version int `json:"version"`
}
func (c customizerVersion) columns() []string {
return []string{c.CustomizerID, c.ImageID, strconv.Itoa(c.Version)}
}
var customizerVersionColumns = []string{"Customizer ID", "Image ID", "Version"}