client

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudAccessPolicy

type CloudAccessPolicy struct {
	Name        string                   `json:"name"`
	DisplayName string                   `json:"displayName"`
	Scopes      []string                 `json:"scopes"`
	Realms      []CloudAccessPolicyRealm `json:"realms"`

	// The following fields are not part of the input, but are returned by the API.
	ID        string    `json:"id"`
	OrgID     string    `json:"orgId"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

type CloudAccessPolicyConditions

type CloudAccessPolicyConditions struct {
	AllowedSubnets []string `json:"allowedSubnets,omitempty"`
}

type CloudAccessPolicyLabelPolicy

type CloudAccessPolicyLabelPolicy struct {
	Selector string `json:"selector"`
}

type CloudAccessPolicyRealm

type CloudAccessPolicyRealm struct {
	Type          string                         `json:"type"`
	Identifier    string                         `json:"identifier"`
	LabelPolicies []CloudAccessPolicyLabelPolicy `json:"labelPolicies"`
}

type CloudAccessPolicyToken

type CloudAccessPolicyToken struct {
	ID             string     `json:"id"`
	AccessPolicyID string     `json:"accessPolicyId"`
	Name           string     `json:"name"`
	DisplayName    string     `json:"displayName"`
	ExpiresAt      *time.Time `json:"expiresAt"`
	FirstUsedAt    time.Time  `json:"firstUsedAt"`
	CreatedAt      time.Time  `json:"createdAt"`
	UpdatedAt      *time.Time `json:"updatedAt"`

	Token string `json:"token,omitempty"` // Only returned when creating a token.
}

type CreateCloudAccessPolicyInput

type CreateCloudAccessPolicyInput struct {
	Name        string                       `json:"name"`
	DisplayName string                       `json:"displayName"`
	Scopes      []string                     `json:"scopes"`
	Realms      []CloudAccessPolicyRealm     `json:"realms"`
	Conditions  *CloudAccessPolicyConditions `json:"conditions,omitempty"`
}

type CreateCloudAccessPolicyTokenInput

type CreateCloudAccessPolicyTokenInput struct {
	AccessPolicyID string     `json:"accessPolicyId"`
	Name           string     `json:"name"`
	DisplayName    string     `json:"displayName,omitempty"`
	ExpiresAt      *time.Time `json:"expiresAt,omitempty"`
}

type CreateServiceAccountInput

type CreateServiceAccountInput struct {
	Name       string `json:"name"`
	Role       string `json:"role"`
	IsDisabled *bool  `json:"isDisabled,omitempty"`
}

type CreateServiceAccountTokenInput

type CreateServiceAccountTokenInput struct {
	Name             string `json:"name"`
	ServiceAccountID int64  `json:"-"`
	SecondsToLive    int64  `json:"secondsToLive,omitempty"`
}

type Grafana

type Grafana struct {
	// contains filtered or unexported fields
}

func New

func New(baseURL, bearerToken string) (*Grafana, error)

func (*Grafana) CreateCloudAccessPolicy

func (g *Grafana) CreateCloudAccessPolicy(region string, input CreateCloudAccessPolicyInput) (CloudAccessPolicy, error)

func (*Grafana) CreateCloudAccessPolicyToken

func (g *Grafana) CreateCloudAccessPolicyToken(region string, input CreateCloudAccessPolicyTokenInput) (CloudAccessPolicyToken, error)

func (*Grafana) CreateCustomRole

func (g *Grafana) CreateCustomRole(input RoleInput) (Role, error)

func (*Grafana) CreateGrafanaServiceAccountFromCloud

func (g *Grafana) CreateGrafanaServiceAccountFromCloud(stack string, input CreateServiceAccountInput) (*ServiceAccount, error)

func (*Grafana) CreateGrafanaServiceAccountTokenFromCloud

func (g *Grafana) CreateGrafanaServiceAccountTokenFromCloud(stack string, input CreateServiceAccountTokenInput) (*ServiceAccountToken, error)

func (*Grafana) CreateServiceAccount

func (g *Grafana) CreateServiceAccount(input CreateServiceAccountInput) (ServiceAccount, error)

func (*Grafana) CreateServiceAccountToken

func (g *Grafana) CreateServiceAccountToken(input CreateServiceAccountTokenInput) (ServiceAccountToken, error)

func (*Grafana) CreateTemporaryStackGrafanaClient

func (g *Grafana) CreateTemporaryStackGrafanaClient(stackSlug string, tempSaPrefix string, tempKeyDuration time.Duration) (tempClient *Grafana, cleanup func() error, err error)

func (*Grafana) DeleteCloudAccessPolicy

func (g *Grafana) DeleteCloudAccessPolicy(region, cloudAccessPolicyID string) error

func (*Grafana) DeleteCustomRole

func (g *Grafana) DeleteCustomRole(roleUID string) error

func (*Grafana) DeleteGrafanaServiceAccountFromCloud

func (g *Grafana) DeleteGrafanaServiceAccountFromCloud(stack string, serviceAccountID int64) error

func (*Grafana) DeleteServiceAccount

func (g *Grafana) DeleteServiceAccount(serviceAccountID int64) error

func (*Grafana) GetAllRoles

func (g *Grafana) GetAllRoles() ([]Role, error)

func (*Grafana) SetServiceAccountRoleAssignments

func (g *Grafana) SetServiceAccountRoleAssignments(input ServiceAccountRoleAssignmentsInput) error

func (*Grafana) StackBySlug

func (g *Grafana) StackBySlug(id string) (Stack, error)

type Permission

type Permission struct {
	Action string `json:"action"`
	Scope  string `json:"scope"`
}

type Role

type Role struct {
	Version     int64        `json:"version"`
	UID         string       `json:"uid,omitempty"`
	Name        string       `json:"name"`
	Description string       `json:"description"`
	Global      bool         `json:"global"`
	Group       string       `json:"group"`
	DisplayName string       `json:"displayName"`
	Hidden      bool         `json:"hidden"`
	Permissions []Permission `json:"permissions,omitempty"`
}

type RoleInput

type RoleInput Role

type ServiceAccount

type ServiceAccount struct {
	ID         int64      `json:"id"`
	Name       string     `json:"name"`
	Login      string     `json:"login"`
	OrgID      int64      `json:"orgId"`
	IsDisabled bool       `json:"isDisabled"`
	CreatedAt  time.Time  `json:"createdAt"`
	UpdatedAt  *time.Time `json:"updatedAt"`
	AvatarURL  string     `json:"avatarUrl"`
	Role       string     `json:"role"`
	Teams      []string   `json:"teams"`
}

type ServiceAccountRoleAssignmentsInput

type ServiceAccountRoleAssignmentsInput struct {
	ServiceAccountID int64    `json:"-"`
	Global           bool     `json:"global"`
	RoleUIDs         []string `json:"roleUids"`
	IncludeHidden    bool     `json:"includeHidden"`
}

type ServiceAccountToken

type ServiceAccountToken struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
	Key  string `json:"key"`
}

type Stack

type Stack struct {
	ID                       int64     `json:"id"`
	OrgID                    int64     `json:"orgId"`
	OrgSlug                  string    `json:"orgSlug"`
	OrgName                  string    `json:"orgName"`
	Name                     string    `json:"name"`
	URL                      string    `json:"url"`
	Slug                     string    `json:"slug"`
	Version                  string    `json:"version"`
	Description              string    `json:"description"`
	Status                   string    `json:"status"`
	Gateway                  string    `json:"gateway"`
	CreatedAt                time.Time `json:"createdAt"`
	CreatedBy                string    `json:"createdBy"`
	UpdatedAt                time.Time `json:"updatedAt"`
	UpdatedBy                string    `json:"updatedBy"`
	Trial                    int       `json:"trial"`
	TrialExpiresAt           time.Time `json:"trialExpiresAt"`
	ClusterID                int       `json:"clusterId"`
	ClusterSlug              string    `json:"clusterSlug"`
	ClusterName              string    `json:"clusterName"`
	Plan                     string    `json:"plan"`
	PlanName                 string    `json:"planName"`
	BillingStartDate         time.Time `json:"billingStartDate"`
	BillingEndDate           time.Time `json:"billingEndDate"`
	BillingActiveUsers       int       `json:"billingActiveUsers"`
	CurrentActiveUsers       int       `json:"currentActiveUsers"`
	CurrentActiveAdminUsers  int       `json:"currentActiveAdminUsers"`
	CurrentActiveEditorUsers int       `json:"currentActiveEditorUsers"`
	CurrentActiveViewerUsers int       `json:"currentActiveViewerUsers"`
	DailyUserCnt             int       `json:"dailyUserCnt"`
	DailyAdminCnt            int       `json:"dailyAdminCnt"`
	DailyEditorCnt           int       `json:"dailyEditorCnt"`
	DailyViewerCnt           int       `json:"dailyViewerCnt"`
	BillableUserCnt          int       `json:"billableUserCnt"`
	DashboardCnt             int       `json:"dashboardCnt"`
	DatasourceCnts           struct {
	} `json:"datasourceCnts"`
	UserQuota                         int     `json:"userQuota"`
	DashboardQuota                    int     `json:"dashboardQuota"`
	AlertQuota                        int     `json:"alertQuota"`
	Ssl                               bool    `json:"ssl"`
	CustomAuth                        bool    `json:"customAuth"`
	CustomDomain                      bool    `json:"customDomain"`
	Support                           bool    `json:"support"`
	RunningVersion                    string  `json:"runningVersion"`
	MachineLearning                   int     `json:"machineLearning"`
	HmInstancePromID                  int     `json:"hmInstancePromId"`
	HmInstancePromURL                 string  `json:"hmInstancePromUrl"`
	HmInstancePromName                string  `json:"hmInstancePromName"`
	HmInstancePromStatus              string  `json:"hmInstancePromStatus"`
	HmInstancePromCurrentUsage        float64 `json:"hmInstancePromCurrentUsage"`
	HmInstancePromCurrentActiveSeries int     `json:"hmInstancePromCurrentActiveSeries"`
	HmInstanceGraphiteID              int     `json:"hmInstanceGraphiteId"`
	HmInstanceGraphiteURL             string  `json:"hmInstanceGraphiteUrl"`
	HmInstanceGraphiteName            string  `json:"hmInstanceGraphiteName"`
	HmInstanceGraphiteType            string  `json:"hmInstanceGraphiteType"`
	HmInstanceGraphiteStatus          string  `json:"hmInstanceGraphiteStatus"`
	HmInstanceGraphiteCurrentUsage    float64 `json:"hmInstanceGraphiteCurrentUsage"`
	HlInstanceID                      int     `json:"hlInstanceId"`
	HlInstanceURL                     string  `json:"hlInstanceUrl"`
	HlInstanceName                    string  `json:"hlInstanceName"`
	HlInstanceStatus                  string  `json:"hlInstanceStatus"`
	HlInstanceCurrentUsage            float64 `json:"hlInstanceCurrentUsage"`
	AmInstanceID                      int     `json:"amInstanceId"`
	AmInstanceName                    string  `json:"amInstanceName"`
	AmInstanceURL                     string  `json:"amInstanceUrl"`
	AmInstanceStatus                  string  `json:"amInstanceStatus"`
	AmInstanceGeneratorURL            string  `json:"amInstanceGeneratorUrl"`
	HtInstanceID                      int     `json:"htInstanceId"`
	HtInstanceURL                     string  `json:"htInstanceUrl"`
	HtInstanceName                    string  `json:"htInstanceName"`
	HtInstanceStatus                  string  `json:"htInstanceStatus"`
	RegionID                          int     `json:"regionId"`
	RegionSlug                        string  `json:"regionSlug"`
	Links                             []struct {
		Rel  string `json:"rel"`
		Href string `json:"href"`
	} `json:"links"`
}

Jump to

Keyboard shortcuts

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