rosacli

package
v1.2.45 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const VersionChannelGroupCandidate = "candidate"
View Source
const VersionChannelGroupNightly = "nightly"
View Source
const VersionChannelGroupStable = "stable"

Variables

View Source
var RoleTypeSuffixMap = map[string]string{
	"Installer":     "Installer-Role",
	"Support":       "Support-Role",
	"Control plane": "ControlPlane-Role",
	"Worker":        "Worker-Role",
}

Functions

func Convert

func Convert(i interface{}) interface{}

func ConvertMapKey

func ConvertMapKey(m map[string]interface{}) map[string]interface{}

func GetCommitAuthor added in v1.2.39

func GetCommitAuthor() (string, error)

func GetCommitMessage added in v1.2.44

func GetCommitMessage() (string, error)

func GetFeatureLabelFilter added in v1.2.44

func GetFeatureLabelFilter(commitMessage string) (*Labels, error)

func GetFocusCaseIDs added in v1.2.44

func GetFocusCaseIDs(commitMessage string) (string, error)

func MapStructure

func MapStructure(m map[string]interface{}, i interface{}) error

mapStructure will map the map to the address of the structre *i

func NewRunner

func NewRunner() *runner

func NewTuningConfigSpecProfileData added in v1.2.43

func NewTuningConfigSpecProfileData(vmDirtyRatio int) string

func ReadLines

func ReadLines(in bytes.Buffer) [][]byte

Read the cmd input and return the []byte array

func RetrieveDesiredComputeNodes

func RetrieveDesiredComputeNodes(clusterDescription *ClusterDescription) (nodesNb int, err error)

Types

type AccountRole

type AccountRole struct {
	RoleName         string `json:"ROLE NAME,omitempty"`
	RoleType         string `json:"ROLE TYPE,omitempty"`
	RoleArn          string `json:"ROLE ARN,omitempty"`
	OpenshiftVersion string `json:"OPENSHIFT VERSION,omitempty"`
	AWSManaged       string `json:"AWS Managed,omitempty"`
}

type AccountRoleList

type AccountRoleList struct {
	AccountRoleList []*AccountRole `json:"AccountRoleList,omitempty"`
}

func (AccountRoleList) AccountRole

func (arl AccountRoleList) AccountRole(arn string) (accountRole *AccountRole)

Get specified account role by the arn

func (AccountRoleList) AccountRoles

func (arl AccountRoleList) AccountRoles(prefix string) (accountRoles []*AccountRole)

Get specified account roles by prefix

func (AccountRoleList) DigAccountRoles added in v1.2.39

func (arl AccountRoleList) DigAccountRoles(prefix string, hcp bool) *AccountRolesUnit

Get all specified account roles by prefix and classic

func (AccountRoleList) InstallerRole

func (arl AccountRoleList) InstallerRole(prefix string, hostedcp bool) (accountRole *AccountRole)

type AccountRolesUnit added in v1.2.39

type AccountRolesUnit struct {
	InstallerRole    string `json:"Installer,omitempty"`
	SupportRole      string `json:"Support,omitempty"`
	WorkerRole       string `json:"Worker,omitempty"`
	ControlPlaneRole string `json:"Control plane,omitempty"`
}

type AccountsInfo

type AccountsInfo struct {
	AWSArn                    string `json:"AWS ARN,omitempty"`
	AWSAccountID              string `json:"AWS Account ID,omitempty"`
	AWSDefaultRegion          string `json:"AWS Default Region,omitempty"`
	OCMApi                    string `json:"OCM API,omitempty"`
	OCMAccountEmail           string `json:"OCM Account Email,omitempty"`
	OCMAccountID              string `json:"OCM Account ID,omitempty"`
	OCMAccountName            string `json:"OCM Account Name,omitempty"`
	OCMAccountUsername        string `json:"OCM Account Username,omitempty"`
	OCMOrganizationExternalID string `json:"OCM Organization External ID,omitempty"`
	OCMOrganizationID         string `json:"OCM Organization ID,omitempty"`
	OCMOrganizationName       string `json:"OCM Organization Name,omitempty"`
}

type AutoScalerDescription added in v1.2.41

type AutoScalerDescription struct {
	BalanceSimilarNodeGroups      string                   `yaml:"Balance Similar Node Groups,omitempty"`
	SkipNodesWithLocalStorage     string                   `yaml:"Skip Nodes With Local Storage,omitempty"`
	LogVerbosity                  string                   `yaml:"Log Verbosity,omitempty"`
	LabelsIgnoredForNodeBalancing string                   `yaml:"Labels Ignored For Node Balancing,omitempty"`
	IgnoreDaemonSetsUtilization   string                   `yaml:"Ignore DaemonSets Utilization,omitempty"`
	MaxNodeProvisionTime          string                   `yaml:"Maximum Node Provision Time,omitempty"`
	MaxPodGracePeriod             string                   `yaml:"Max Pod Grace Period,omitempty"`
	PodPriorityThreshold          string                   `yaml:"Pod Priority Threshold,omitempty"`
	ResourceLimits                []map[string]interface{} `yaml:"Resource Limits,omitempty"`
	ScaleDown                     []map[string]interface{} `yaml:"Scale Down,omitempty"`
}

type AutoScalerService added in v1.2.41

type AutoScalerService interface {
	ResourcesCleaner

	CreateAutoScaler(clusterID string, flags ...string) (bytes.Buffer, error)
	DeleteAutoScaler(clusterID string) (bytes.Buffer, error)
	DescribeAutoScaler(clusterID string) (bytes.Buffer, error)
	EditAutoScaler(clusterID string, flags ...string) (bytes.Buffer, error)
	ReflectAutoScalerDescription(result bytes.Buffer) (asd *AutoScalerDescription, err error)
	DescribeAutoScalerAndReflect(clusterID string) (*AutoScalerDescription, error)

	RetrieveHelpForDescribe() (output bytes.Buffer, err error)
	RetrieveHelpForDelete() (output bytes.Buffer, err error)
}

func NewAutoScalerService added in v1.2.41

func NewAutoScalerService(client *Client) AutoScalerService

type Autoscaler added in v1.2.42

type Autoscaler struct {
	LogVerbosity                int                       `yaml:"log_verbosity,omitempty"`
	BalancingIgnoredLabels      []string                  `yaml:"balancing_ignored_labels,omitempty"`
	BalanceSimilarNodeGroups    bool                      `yaml:"balance_similar_node_groups,omitempty"`
	MaxNodeProvisionTime        string                    `yaml:"max_node_provision_time,omitempty"`
	MaxPodGracePeriod           int                       `yaml:"max_pod_grace_period,omitempty"`
	PodPriorityThresold         int                       `yaml:"pod_priority_threshold,omitempty"`
	ResourcesLimits             AutoscalerResourcesLimits `yaml:"resource_limits,omitempty"`
	ScaleDown                   AutoscalerScaleDown       `yaml:"scale_down,omitempty"`
	SkipNodesWithLocalStorage   bool                      `yaml:"skip_nodes_with_local_storage,omitempty"`
	IgnoreDaemonSetsUtilization bool                      `yaml:"ignore_daemonsets_utilization,omitempty"`
}

type AutoscalerGPU added in v1.2.42

type AutoscalerGPU struct {
	Range AutoscalerResourcesRange `yaml:"range,omitempty"`
	Type  string                   `yaml:"type,omitempty"`
}

type AutoscalerResourcesLimits added in v1.2.42

type AutoscalerResourcesLimits struct {
	Cores         AutoscalerResourcesRange `yaml:"cores,omitempty"`
	Memory        AutoscalerResourcesRange `yaml:"memory,omitempty"`
	GPUs          []AutoscalerGPU          `yaml:"gpus,omitempty"`
	MaxNodesTotal int                      `yaml:"max_nodes_total,omitempty"`
}

type AutoscalerResourcesRange added in v1.2.42

type AutoscalerResourcesRange struct {
	Max int `yaml:"max,omitempty"`
	Min int `yaml:"min,omitempty"`
}

type AutoscalerScaleDown added in v1.2.42

type AutoscalerScaleDown struct {
	DelayAfterAdd        string `yaml:"delay_after_add,omitempty"`
	DelayAfterDelete     string `yaml:"delay_after_delete,omitempty"`
	DelayAfterFailure    string `yaml:"delay_after_failure,omitempty"`
	Enabled              bool   `yaml:"enabled,omitempty"`
	UnneededTime         string `yaml:"unneeded_time,omitempty"`
	UtilizationThreshold string `yaml:"utilization_threshold,omitempty"`
}

type BreakGlassCredential added in v1.2.39

type BreakGlassCredential struct {
	ID       string `json:"ID,omitempty"`
	Username string `json:"Username,omitempty"`
	Status   string `json:"Status,omitempty"`
}

type BreakGlassCredentialDescription added in v1.2.39

type BreakGlassCredentialDescription struct {
	ID       string `yaml:"ID,omitempty"`
	Username string `yaml:"Username,omitempty"`
	ExpireAt string `yaml:"Expire at,omitempty"`
	Status   string `yaml:"Status,omitempty"`
}

type BreakGlassCredentialList added in v1.2.39

type BreakGlassCredentialList struct {
	BreakGlassCredentials []*BreakGlassCredential `json:"BreakGlassCredentials,omitempty"`
}

func (BreakGlassCredentialList) IsPresent added in v1.2.39

func (breakglassCredList BreakGlassCredentialList) IsPresent(
	userName string) (existed bool, breakGlassCredential *BreakGlassCredential)

Check the breakGlassCredential with the userName exists in the breakGlassCredentialsList

type BreakGlassCredentialService added in v1.2.39

type BreakGlassCredentialService interface {
	ResourcesCleaner

	CreateBreakGlassCredential(clusterID string, flags ...string) (bytes.Buffer, error)
	DeleteBreakGlassCredential(clusterID string) (bytes.Buffer, error)
	ListBreakGlassCredentials(clusterID string) (bytes.Buffer, error)
	ReflectBreakGlassCredentialLists(result bytes.Buffer) (bgcl *BreakGlassCredentialList, err error)
	DescribeBreakGlassCredential(clusterID string, bgcID string) (bytes.Buffer, error)
	ReflectBreakGlassCredentialDescription(result bytes.Buffer) (bgcd *BreakGlassCredentialDescription, err error)
	GetIssuedCredential(clusterID string, bgcID string) (bytes.Buffer, error)
	WaitForBreakGlassCredentialToStatus(clusterID string, status string, userName string) wait.ConditionFunc

	ListBreakGlassCredentialsAndReflect(clusterID string) (*BreakGlassCredentialList, error)
	DescribeBreakGlassCredentialsAndReflect(clusterID string, bgcID string) (*BreakGlassCredentialDescription, error)

	RetrieveHelpForCreate() (bytes.Buffer, error)
	RetrieveHelpForList() (bytes.Buffer, error)
	RetrieveHelpForDescribe() (bytes.Buffer, error)
	RetrieveHelpForDelete() (bytes.Buffer, error)
}

func NewBreakGlassCredentialService added in v1.2.39

func NewBreakGlassCredentialService(client *Client) BreakGlassCredentialService

type CLDNamedResourceService

type CLDNamedResourceService interface {
	ResourcesCleaner

	List(clusterID string) (bytes.Buffer, error)
	Describe(clusterID string, name string) (bytes.Buffer, error)
	Create(clusterID string, name string, flags ...string) (bytes.Buffer, error)
	Edit(clusterID string, name string, flags ...string) (bytes.Buffer, error)
	Delete(clusterID string, name string) (bytes.Buffer, error)
}

type Client

type Client struct {
	// Clients
	Runner *runner
	Parser *Parser

	// services
	// Keep in alphabetical order
	Cluster              ClusterService
	IDP                  IDPService
	Ingress              IngressService
	KubeletConfig        KubeletConfigService
	MachinePool          MachinePoolService
	MachinePoolUpgrade   MachinePoolUpgradeService
	NetworkVerifier      NetworkVerifierService
	OCMResource          OCMResourceService
	TuningConfig         TuningConfigService
	User                 UserService
	Version              VersionService
	BreakGlassCredential BreakGlassCredentialService
	ExternalAuthProvider ExternalAuthProviderService
	Policy               PolicyService
	AutoScaler           AutoScalerService
	Upgrade              UpgradeService
	Verify               VerifyService
}

func NewClient

func NewClient() *Client

func (*Client) CleanResources

func (c *Client) CleanResources(clusterID string) error

type CloudRegion

type CloudRegion struct {
	ID                  string `json:"ID,omitempty"`
	Name                string `json:"NAME,omitempty"`
	MultiAZSupported    string `json:"MULTI-AZ SUPPORT,omitempty"`
	HypershiftSupported string `json:"HOSTED-CP SUPPORT,omitempty"`
}

Struct for the 'rosa list region' output

type ClusterDescription

type ClusterDescription struct {
	Name                  string                   `yaml:"Name,omitempty"`
	ID                    string                   `yaml:"ID,omitempty"`
	ExternalID            string                   `yaml:"External ID,omitempty"`
	OpenshiftVersion      string                   `yaml:"OpenShift Version,omitempty"`
	ChannelGroup          string                   `yaml:"Channel Group,omitempty"`
	DNS                   string                   `yaml:"DNS,omitempty"`
	AdditionalPrincipals  string                   `yaml:"Additional Principals,omitempty"`
	AWSAccount            string                   `yaml:"AWS Account,omitempty"`
	AWSBillingAccount     string                   `yaml:"AWS Billing Account,omitempty"`
	APIURL                string                   `yaml:"API URL,omitempty"`
	ConsoleURL            string                   `yaml:"Console URL,omitempty"`
	Region                string                   `yaml:"Region,omitempty"`
	MultiAZ               bool                     `yaml:"Multi-AZ,omitempty"`
	State                 string                   `yaml:"State,omitempty"`
	Private               string                   `yaml:"Private,omitempty"`
	Created               string                   `yaml:"Created,omitempty"`
	DetailsPage           string                   `yaml:"Details Page,omitempty"`
	ControlPlane          string                   `yaml:"Control Plane,omitempty"`
	ScheduledUpgrade      string                   `yaml:"Scheduled Upgrade,omitempty"`
	InfraID               string                   `yaml:"Infra ID,omitempty"`
	AdditionalTrustBundle string                   `yaml:"Additional trust bundle,omitempty"`
	Ec2MetadataHttpTokens string                   `yaml:"Ec2 Metadata Http Tokens,omitempty"`
	Availability          []map[string]string      `yaml:"Availability,omitempty"`
	Nodes                 []map[string]interface{} `yaml:"Nodes,omitempty"`
	Network               []map[string]string      `yaml:"Network,omitempty"`
	Proxy                 []map[string]string      `yaml:"Proxy,omitempty"`
	STSRoleArn            string                   `yaml:"Role (STS) ARN,omitempty"`
	// STSExternalID            string                   `yaml:"STS External ID,omitempty"`
	SupportRoleARN           string              `yaml:"Support Role ARN,omitempty"`
	OperatorIAMRoles         []string            `yaml:"Operator IAM Roles,omitempty"`
	InstanceIAMRoles         []map[string]string `yaml:"Instance IAM Roles,omitempty"`
	ManagedPolicies          string              `yaml:"Managed Policies,omitempty"`
	UserWorkloadMonitoring   string              `yaml:"User Workload Monitoring,omitempty"`
	FIPSMod                  string              `yaml:"FIPS mode,omitempty"`
	OIDCEndpointURL          string              `yaml:"OIDC Endpoint URL,omitempty"`
	PrivateHostedZone        []map[string]string `yaml:"Private Hosted Zone,omitempty"`
	AuditLogForwarding       string              `yaml:"Audit Log Forwarding,omitempty"`
	ProvisioningErrorMessage string              `yaml:"Provisioning Error Message,omitempty"`
	ProvisioningErrorCode    string              `yaml:"Provisioning Error Code,omitempty"`
	LimitedSupport           []map[string]string `yaml:"Limited Support,omitempty"`
	AuditLogRoleARN          string              `yaml:"Audit Log Role ARN,omitempty"`
	FailedInflightChecks     string              `yaml:"Failed Inflight Checks,omitempty"`
	ExternalAuthentication   string              `yaml:"External Authentication,omitempty"`
	EnableDeleteProtection   string              `yaml:"Delete Protection,omitempty"`
}

Struct for the 'rosa describe cluster' output

type ClusterList added in v1.2.43

type ClusterList struct {
	Clusters []ClusterListItem `yaml:"Clusters,omitempty"`
}

func (ClusterList) Cluster added in v1.2.43

func (clusterList ClusterList) Cluster(clusterID string) (cluster ClusterListItem)

Get specified cluster by cluster id

func (ClusterList) ClusterByName added in v1.2.43

func (clusterList ClusterList) ClusterByName(clusterName string) (cluster ClusterListItem)

Get specified cluster by cluster name

func (ClusterList) IsExist added in v1.2.43

func (clusterList ClusterList) IsExist(clusterID string) (existed bool)

Check the cluster with the id exists in the ClusterList

type ClusterListItem added in v1.2.43

type ClusterListItem struct {
	ID       string `yaml:"ID,omitempty"`
	Name     string `yaml:"NAME,omitempty"`
	STATE    string `yaml:"STATE,omitempty"`
	TOPOLOGY string `yaml:"TOPOLOGY,omitempty"`
}

Struct for the 'rosa list cluster' output

type ClusterService

type ClusterService interface {
	ResourcesCleaner

	DescribeCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	ReflectClusterDescription(result bytes.Buffer) (*ClusterDescription, error)
	DescribeClusterAndReflect(clusterID string) (*ClusterDescription, error)
	List() (bytes.Buffer, error)
	Create(clusterName string, flags ...string) (bytes.Buffer, error, string)
	DeleteCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	CreateDryRun(clusterName string, flags ...string) (bytes.Buffer, error)
	EditCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	InstallLog(clusterID string, flags ...string) (bytes.Buffer, error)
	UnInstallLog(clusterID string, flags ...string) (bytes.Buffer, error)
	IsHostedCPCluster(clusterID string) (bool, error)
	IsSTSCluster(clusterID string) (bool, error)
	IsPrivateCluster(clusterID string) (bool, error)
	IsUsingReusableOIDCConfig(clusterID string) (bool, error)
	IsMultiArch(clusterID string) (bool, error)
	GetClusterVersion(clusterID string) (config.Version, error)
	IsBYOVPCCluster(clusterID string) (bool, error)
	IsExternalAuthenticationEnabled(clusterID string) (bool, error)
	GetJSONClusterDescription(clusterID string) (*jsonData, error)
	HibernateCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	ResumeCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	ReflectClusterList(result bytes.Buffer) (clusterList ClusterList, err error)
	WaitClusterStatus(clusterID string, status string, interval int, duration int) error
	WaitClusterDeleted(clusterID string, interval int, duration int) error
}

func NewClusterService

func NewClusterService(client *Client) ClusterService

type ExternalAuthProvider added in v1.2.41

type ExternalAuthProvider struct {
	Name      string `json:"NAME,omitempty"`
	IssuerUrl string `json:"ISSUER URL,omitempty"`
}

type ExternalAuthProviderDescription added in v1.2.41

type ExternalAuthProviderDescription struct {
	ID                    string   `yaml:"ID,omitempty"`
	ClusterID             string   `yaml:"Cluster ID,omitempty"`
	IssuerAudiences       []string `yaml:"Issuer audiences,omitempty"`
	IssuerUrl             string   `yaml:"Issuer Url,omitempty"`
	ClaimMappingsGroup    string   `yaml:"Claim mappings group,omitempty"`
	ClaimMappingsUserName string   `yaml:"Claim mappings username,omitempty"`
	ClaimValidationRules  []string `yaml:"Claim validation rules,omitempty"`
	ConsoleClientID       string   `yaml:"Console client id,omitempty"`
}

type ExternalAuthProviderList added in v1.2.41

type ExternalAuthProviderList struct {
	ExternalAuthProviders []ExternalAuthProvider `json:"ExternalAuthProviders,omitempty"`
}

type ExternalAuthProviderService added in v1.2.41

type ExternalAuthProviderService interface {
	ResourcesCleaner

	CreateExternalAuthProvider(clusterID string, flags ...string) (bytes.Buffer, error)
	DeleteExternalAuthProvider(clusterID string, eapID string) (bytes.Buffer, error)
	ListExternalAuthProvider(clusterID string) (bytes.Buffer, error)
	ReflectExternalAuthProviderLists(result bytes.Buffer) (eapl *ExternalAuthProviderList, err error)
	DescribeExternalAuthProvider(clusterID string, eapID string) (bytes.Buffer, error)
	ReflectExternalAuthProviderDescription(result bytes.Buffer) (eapd *ExternalAuthProviderDescription, err error)

	ListExternalAuthProviderAndReflect(clusterID string) (*ExternalAuthProviderList, error)
	DescribeExternalAuthProviderAndReflect(clusterID string, eapID string) (*ExternalAuthProviderDescription, error)

	RetrieveHelpForList() (output bytes.Buffer, err error)
	RetrieveHelpForDescribe() (output bytes.Buffer, err error)
	RetrieveHelpForDelete() (output bytes.Buffer, err error)
}

func NewExternalAuthProviderService added in v1.2.41

func NewExternalAuthProviderService(client *Client) ExternalAuthProviderService

type GroupUser

type GroupUser struct {
	ID     string `json:"ID,omitempty"`
	Groups string `json:"GROUPS,omitempty"`
}

Struct for the 'rosa list users' output

type GroupUserList

type GroupUserList struct {
	GroupUsers []GroupUser `json:"GroupUsers,omitempty"`
}

func (GroupUserList) User

func (gl GroupUserList) User(userName string) (user GroupUser, err error)

Get specified user by user name

type IDP

type IDP struct {
	Name    string `json:"NAME,omitempty"`
	Type    string `json:"TYPE,omitempty"`
	AuthURL string `json:"AUTH URL,omitempty"`
}

Struct for the 'rosa list idp' output

type IDPList

type IDPList struct {
	IDPs []IDP `json:"IDPs,omitempty"`
}

func (IDPList) Idp

func (idps IDPList) Idp(idpName string) (idp IDP)

Get specified machinepool by IDP NAME

func (IDPList) IsExist

func (idps IDPList) IsExist(idpName string) (existed bool)

Check the idp with the name exists in the IDPLIST

type IDPService

type IDPService interface {
	ResourcesCleaner

	ReflectIDPList(result bytes.Buffer) (idplist IDPList, err error)
	CreateIDP(clusterID string, idpName string, idflags ...string) (bytes.Buffer, error)
	ListIDP(clusterID string) (IDPList, bytes.Buffer, error)
	DeleteIDP(clusterID string, idpName string) (bytes.Buffer, error)
}

func NewIDPService

func NewIDPService(client *Client) IDPService

type Ingress

type Ingress struct {
	ClusterID                string `yaml:"Cluster ID,omitempty"`
	ID                       string `yaml:"ID,omitempty" json:"ID,omitempty"`
	ApplicationRouter        string `yaml:"APPLICATION ROUTER,omitempty" json:"APPLICATION ROUTER,omitempty"`
	Private                  string `yaml:"Private,omitempty" json:"PRIVATE,omitempty"`
	Default                  string `yaml:"Default,omitempty" json:"DEFAULT,omitempty"`
	RouteSelectors           string `yaml:"Route Selectors,omitempty" json:"ROUTE SELECTORS,omitempty"`
	LBType                   string `yaml:"LB-Type,omitempty" json:"LB-TYPE,omitempty"`
	ExcludeNamespace         string `yaml:"Exclude Namespce,omitempty" json:"EXCLUDED NAMESPACE,omitempty"`
	WildcardPolicy           string `yaml:"Wildcard Policy,omitempty" json:"WILDCARD POLICY,omitempty"`
	NamespaceOwnershipPolicy string `yaml:"Namespace Ownership Policy,omitempty" json:"NAMESPACE OWNERSHIP,omitempty"`
}

type IngressList

type IngressList struct {
	Ingresses []*Ingress `json:"Ingresses,omitempty"`
}

Struct for the 'rosa describe ingress' output

func (IngressList) Ingress

func (inl IngressList) Ingress(id string) (in *Ingress)

Get specified ingress by ingress id

type IngressService

type IngressService interface {
	ResourcesCleaner

	EditIngress(clusterID string, ingressID string, flags ...string) (bytes.Buffer, error)
	ListIngress(clusterID string, flags ...string) (bytes.Buffer, error)
	DeleteIngress(clusterID string, ingressID string) (bytes.Buffer, error)
	ReflectIngressList(result bytes.Buffer) (res *IngressList, err error)
	DescribeIngress(clusterID string, ingressID string) (bytes.Buffer, error)
	DescribeIngressAndReflect(clusterID string, ingressID string) (res *Ingress, err error)
}

func NewIngressService

func NewIngressService(client *Client) IngressService

type InstanceTypes added in v1.2.40

type InstanceTypes struct {
	ID        string `json:"ID,omitempty"`
	CATEGORY  string `json:"CATEGORY,omitempty"`
	CPU_CORES string `json:"CPU_CORES,omitempty"`
	MEMORY    string `json:"MEMORY,omitempty"`
}

Struct for the 'rosa list instance-types' output

type InstanceTypesList added in v1.2.40

type InstanceTypesList struct {
	InstanceTypesList []InstanceTypes `json:"InstanceTypesList,omitempty"`
}

type KubeletConfig added in v1.2.40

type KubeletConfig struct {
	ID           string `yaml:"ID,omitempty" json:"ID,omitempty"`
	Name         string `yaml:"Name,omitempty" json:"NAME,omitempty"`
	PodPidsLimit string `yaml:"Pod Pids Limit,omitempty" json:"POD PIDS LIMIT,omitempty"`
}

Struct for the 'rosa describe/list kubeletconfig(s)' output

type KubeletConfigList added in v1.2.40

type KubeletConfigList struct {
	KubeletConfigs []*KubeletConfig
}

Struct for the 'rosa list kubeletconfigs'

func (*KubeletConfigList) KubeletConfig added in v1.2.40

func (kl *KubeletConfigList) KubeletConfig(kubeName string) *KubeletConfig

type KubeletConfigService

type KubeletConfigService interface {
	ResourcesCleaner
	ListKubeletConfigs(clusterID string, flags ...string) (bytes.Buffer, error)
	ListKubeletConfigsAndReflect(clusterID string, flags ...string) (kubes *KubeletConfigList, err error)
	ReflectKubeletConfigs(output bytes.Buffer) (kubes *KubeletConfigList, err error)
	DescribeKubeletConfig(clusterID string, flags ...string) (bytes.Buffer, error)
	ReflectKubeletConfig(result bytes.Buffer) *KubeletConfig
	EditKubeletConfig(clusterID string, flags ...string) (bytes.Buffer, error)
	DeleteKubeletConfig(clusterID string, flags ...string) (bytes.Buffer, error)
	CreateKubeletConfig(clusterID string, flags ...string) (bytes.Buffer, error)
}

func NewKubeletConfigService

func NewKubeletConfigService(client *Client) KubeletConfigService

type MachinePool

type MachinePool struct {
	ID               string `json:"ID,omitempty"`
	AutoScaling      string `json:"AUTOSCALING,omitempty"`
	Replicas         string `json:"REPLICAS,omitempty"`
	DiskSize         string `json:"DISK SIZE,omitempty"`
	InstanceType     string `json:"INSTANCE TYPE,omitempty"`
	Labels           string `json:"LABELS,omitempty"`
	Taints           string `json:"TAINTS,omitempty"`
	AvalaiblityZones string `json:"AVAILABILITY ZONES,omitempty"`
	Subnets          string `json:"SUBNETS,omitempty"`
	SpotInstances    string `json:"SPOT INSTANCES,omitempty"`
	SecurityGroupIDs string `json:"SG IDs,omitempty"`
}

Struct for the 'rosa list machinepool' output for non-hosted-cp clusters

type MachinePoolDescription

type MachinePoolDescription struct {
	AvailablityZones string `yaml:"Availability zones,omitempty"`
	AutoScaling      string `yaml:"Autoscaling,omitempty"`
	ClusterID        string `yaml:"Cluster ID,omitempty"`
	DiskSize         string `yaml:"Disk size,omitempty"`
	ID               string `yaml:"ID,omitempty"`
	InstanceType     string `yaml:"Instance type,omitempty"`
	Labels           string `yaml:"Labels,omitempty"`
	Replicas         string `yaml:"Replicas,omitempty"`
	SecurityGroupIDs string `yaml:"Additional Security Group IDs,omitempty"`
	Subnets          string `yaml:"Subnets,omitempty"`
	SpotInstances    string `yaml:"Spot instances,omitempty"`
	Taints           string `yaml:"Taints,omitempty"`
	Tags             string `yaml:"Tags,omitempty"`
}

Struct for the 'rosa describe machinepool' output for non-hosted-cp clusters

type MachinePoolList

type MachinePoolList struct {
	MachinePools []*MachinePool `json:"MachinePools,omitempty"`
}

func (MachinePoolList) Machinepool

func (mpl MachinePoolList) Machinepool(id string) (mp *MachinePool)

Get specified machinepool by machinepool id

type MachinePoolService

type MachinePoolService interface {
	ResourcesCleaner

	ListMachinePool(clusterID string) (bytes.Buffer, error)
	DescribeMachinePool(clusterID string, mpID string) (bytes.Buffer, error)
	CreateMachinePool(clusterID string, name string, flags ...string) (bytes.Buffer, error)
	EditMachinePool(clusterID string, machinePoolName string, flags ...string) (bytes.Buffer, error)
	DeleteMachinePool(clusterID string, machinePoolName string) (bytes.Buffer, error)

	ReflectMachinePoolList(result bytes.Buffer) (mpl MachinePoolList, err error)
	ReflectMachinePoolDescription(result bytes.Buffer) (*MachinePoolDescription, error)
	ListAndReflectMachinePools(clusterID string) (mpl MachinePoolList, err error)
	DescribeAndReflectMachinePool(clusterID string, name string) (*MachinePoolDescription, error)

	ReflectNodePoolList(result bytes.Buffer) (*NodePoolList, error)
	ListAndReflectNodePools(clusterID string) (*NodePoolList, error)
	ReflectNodePoolDescription(result bytes.Buffer) (npd *NodePoolDescription, err error)
	DescribeAndReflectNodePool(clusterID string, name string) (*NodePoolDescription, error)
	GetNodePoolAutoScaledReplicas(clusterID string, mpName string) (map[string]int, error)
	WaitNodePoolReplicasReady(clusterID string, mpName string, isAutoscale bool, interval, timeout time.Duration) error
	ScaleNodePool(clusterID string, mpName string, updateReplicas int, waitForNPInstancesReady bool) error
	ScaleAutoScaledNodePool(
		clusterID string,
		mpName string,
		minReplicas int,
		maxReplicas int,
		waitForNPInstancesReady bool,
	) error

	RetrieveHelpForCreate() (bytes.Buffer, error)
	RetrieveHelpForEdit() (bytes.Buffer, error)
}

func NewMachinePoolService

func NewMachinePoolService(client *Client) MachinePoolService

type MachinePoolUpgrade

type MachinePoolUpgrade struct {
	Version string `json:"VERSION,omitempty"`
	Notes   string `json:"NOTES,omitempty"`
}

type MachinePoolUpgradeDescription

type MachinePoolUpgradeDescription struct {
	ID           string `yaml:"ID,omitempty"`
	ClusterID    string `yaml:"Cluster ID,omitempty"`
	ScheduleType string `yaml:"Schedule Type,omitempty"`
	NextRun      string `yaml:"Next Run,omitempty"`
	UpgradeState string `yaml:"Upgrade State,omitempty"`
	Version      string `yaml:"Version,omitempty"`
}

Struct for the 'rosa describe upgrades' output for non-hosted-cp clusters

type MachinePoolUpgradeList

type MachinePoolUpgradeList struct {
	MachinePoolUpgrades []MachinePoolUpgrade `json:"MachinePoolUpgrades,omitempty"`
}

type MachinePoolUpgradeService

type MachinePoolUpgradeService interface {
	ResourcesCleaner

	ListUpgrades(clusterID string, mpID string) (bytes.Buffer, error)
	ReflectUpgradesList(result bytes.Buffer) (*MachinePoolUpgradeList, error)
	ListAndReflectUpgrades(clusterID string, mpID string) (*MachinePoolUpgradeList, error)

	// Create a manual upgrade. `version`, `scheduleDate` and `scheduleTime` are optional.
	// `schedule*` if provided MUST be both at the same time provided.
	CreateManualUpgrade(clusterID string, mpID string, version string,
		scheduleDate string, scheduleTime string) (bytes.Buffer, error)
	// Create an automatic upgrade based on the given cron.
	CreateAutomaticUpgrade(clusterID string, mpID string, scheduleCron string) (bytes.Buffer, error)

	DescribeUpgrade(clusterID string, mpID string) (bytes.Buffer, error)
	ReflectUpgradeDescription(result bytes.Buffer) (*MachinePoolUpgradeDescription, error)
	DescribeAndReflectUpgrade(clusterID string, mpID string) (*MachinePoolUpgradeDescription, error)

	DeleteUpgrade(clusterID string, mpID string) (bytes.Buffer, error)

	RetrieveHelpForCreate() (bytes.Buffer, error)
	RetrieveHelpForDescribe() (bytes.Buffer, error)
	RetrieveHelpForList() (bytes.Buffer, error)
	RetrieveHelpForDelete() (bytes.Buffer, error)

	WaitForUpgradeFinished(cluster string, mpID string, timeout int) error
}

func NewMachinePoolUpgradeService

func NewMachinePoolUpgradeService(client *Client) MachinePoolUpgradeService

type NetworkVerifierService

type NetworkVerifierService interface {
	ResourcesCleaner
	CreateNetworkVerifierWithCluster(clusterID string, flags ...string) (bytes.Buffer, error)
	CreateNetworkVerifierWithSubnets(flags ...string) (bytes.Buffer, error)
	GetNetworkVerifierStatus(flags ...string) (bytes.Buffer, error)
}

func NewNetworkVerifierService

func NewNetworkVerifierService(client *Client) NetworkVerifierService

type NodePool

type NodePool struct {
	ID               string `json:"ID,omitempty"`
	AutoScaling      string `json:"AUTOSCALING,omitempty"`
	Replicas         string `json:"REPLICAS,omitempty"`
	InstanceType     string `json:"INSTANCE TYPE,omitempty"`
	Labels           string `json:"LABELS,omitempty"`
	Taints           string `json:"TAINTS,omitempty"`
	AvalaiblityZones string `json:"AVAILABILITY ZONES,omitempty"`
	Subnet           string `json:"SUBNET,omitempty"`
	DiskSize         string `json:"DISK SIZE,omitempty"`
	Version          string `json:"VERSION,omitempty"`
	AutoRepair       string `json:"AUTOREPAIR,omitempty"`
	TuningConfigs    string `json:"TUNING CONFIGS,omitempty"`
	Message          string `json:"MESSAGE,omitempty"`
}

Struct for the 'rosa list machinepool' output for hosted-cp clusters

type NodePoolDescription

type NodePoolDescription struct {
	ID          string `yaml:"ID,omitempty"`
	ClusterID   string `yaml:"Cluster ID,omitempty"`
	AutoScaling string `yaml:"Autoscaling,omitempty"`
	// autoscale enabled nodepool return `[]interface{}`, which interface{} here is map[string]string
	// autoscale disabled nodepool return `int`
	DesiredReplicas            interface{}         `yaml:"Desired replicas,omitempty"`
	CurrentReplicas            string              `yaml:"Current replicas,omitempty"`
	InstanceType               string              `yaml:"Instance type,omitempty"`
	KubeletConfigs             string              `yaml:"Kubelet configs,omitempty"`
	Labels                     string              `yaml:"Labels,omitempty"`
	Tags                       string              `yaml:"Tags,omitempty"`
	Taints                     string              `yaml:"Taints,omitempty"`
	AvalaiblityZones           string              `yaml:"Availability zone,omitempty"`
	Subnet                     string              `yaml:"Subnet,omitempty"`
	Version                    string              `yaml:"Version,omitempty"`
	EC2MetadataHttpTokens      string              `yaml:"EC2 Metadata Http Tokens,omitempty"`
	AutoRepair                 string              `yaml:"Autorepair,omitempty"`
	TuningConfigs              string              `yaml:"Tuning configs,omitempty"`
	ManagementUpgrade          []map[string]string `yaml:"Management upgrade,omitempty"`
	Message                    string              `yaml:"Message,omitempty"`
	ScheduledUpgrade           string              `yaml:"Scheduled upgrade,omitempty"`
	AdditionalSecurityGroupIDs string              `yaml:"Additional security group IDs,omitempty"`
	NodeDrainGracePeriod       string              `yaml:"Node drain grace period,omitempty"`
	DiskSize                   string              `yaml:"Disk size,omitempty"`
}

type NodePoolList

type NodePoolList struct {
	NodePools []*NodePool `json:"NodePools,omitempty"`
}

func (NodePoolList) Nodepool

func (npl NodePoolList) Nodepool(id string) (np *NodePool)

Get specified nodepool by nodepool id

type OCMResourceService

type OCMResourceService interface {
	ResourcesCleaner

	ListRegion(flags ...string) ([]*CloudRegion, bytes.Buffer, error)
	ReflectRegionList(result bytes.Buffer) (regions []*CloudRegion, err error)

	ListUserRole() (UserRoleList, bytes.Buffer, error)
	DeleteUserRole(flags ...string) (bytes.Buffer, error)
	LinkUserRole(flags ...string) (bytes.Buffer, error)
	UnlinkUserRole(flags ...string) (bytes.Buffer, error)
	CreateUserRole(flags ...string) (bytes.Buffer, error)
	ReflectUserRoleList(result bytes.Buffer) (url UserRoleList, err error)

	Whoami() (bytes.Buffer, error)
	ReflectAccountsInfo(result bytes.Buffer) *AccountsInfo
	UserInfo() (res *AccountsInfo, err error)

	CreateAccountRole(flags ...string) (bytes.Buffer, error)
	ReflectAccountRoleList(result bytes.Buffer) (arl AccountRoleList, err error)
	DeleteAccountRole(flags ...string) (bytes.Buffer, error)
	ListAccountRole() (AccountRoleList, bytes.Buffer, error)
	UpgradeAccountRole(flags ...string) (bytes.Buffer, error)

	ListOCMRole() (OCMRoleList, bytes.Buffer, error)
	DeleteOCMRole(flags ...string) (bytes.Buffer, error)
	LinkOCMRole(flags ...string) (bytes.Buffer, error)
	UnlinkOCMRole(flags ...string) (bytes.Buffer, error)
	CreateOCMRole(flags ...string) (bytes.Buffer, error)
	ReflectOCMRoleList(result bytes.Buffer) (orl OCMRoleList, err error)

	ListOIDCConfig() (OIDCConfigList, bytes.Buffer, error)
	ListInstanceTypes(flags ...string) (InstanceTypesList, bytes.Buffer, error)
	DeleteOIDCConfig(flags ...string) (bytes.Buffer, error)
	CreateOIDCConfig(flags ...string) (bytes.Buffer, error)
	ReflectOIDCConfigList(result bytes.Buffer) (oidclist OIDCConfigList, err error)
	GetOIDCIdFromList(providerURL string) (string, error)
	GetOIDCConfigFromList(oidcConfigID string) (OIDCConfig, error)
	RegisterOIDCConfig(flags ...string) (bytes.Buffer, error)

	ListOperatorRoles(flags ...string) (bytes.Buffer, error)
	DeleteOperatorRoles(flags ...string) (bytes.Buffer, error)
	CreateOperatorRoles(flags ...string) (bytes.Buffer, error)
	UpgradeOperatorRoles(flags ...string) (bytes.Buffer, error)
	ReflectOperatorRoleList(result bytes.Buffer) (opl OperatorRoleList, err error)

	CreateOIDCProvider(flags ...string) (bytes.Buffer, error)
	DeleteOIDCProvider(flags ...string) (bytes.Buffer, error)

	CreateDNSDomain(flags ...string) (bytes.Buffer, error)
	DeleteDNSDomain(flags ...string) (bytes.Buffer, error)

	Token(flags ...string) (bytes.Buffer, error)

	UpgradeRoles(flags ...string) (bytes.Buffer, error)

	GetConfig(flags ...string) (bytes.Buffer, error)
	SetConfig(flags ...string) (bytes.Buffer, error)
}

func NewOCMResourceService

func NewOCMResourceService(client *Client) OCMResourceService

type OCMRole

type OCMRole struct {
	RoleName   string `json:"ROLE NAME,omitempty"`
	RoleArn    string `json:"ROLE ARN,omitempty"`
	Linded     string `json:"LINKED,omitempty"`
	Admin      string `json:"ADMIN,omitempty"`
	AwsManaged string `json:"AWS MANAGED,omitempty"`
}

Struct for the 'rosa list ocm-role' output

type OCMRoleList

type OCMRoleList struct {
	OCMRoleList []OCMRole `json:"OCMRoleList,omitempty"`
}

func (OCMRoleList) FindLinkedOCMRole

func (url OCMRoleList) FindLinkedOCMRole() (userRoles OCMRole)

Get the ocm-role which is linked to org

func (OCMRoleList) OCMRole

func (url OCMRoleList) OCMRole(prefix string, ocmOrganizationExternalID string) (userRoles OCMRole)

Get specified ocm-role by ocm-role prefix and ocmOUsername

type OIDCConfig

type OIDCConfig struct {
	ID        string `json:"ID,omitempty"`
	Managed   string `json:"MANAGED,omitempty"`
	IssuerUrl string `json:"ISSUER URL,omitempty"`
	SecretArn string `json:"SECRET ARN,omitempty"`
}

type OIDCConfigList

type OIDCConfigList struct {
	OIDCConfigList []OIDCConfig `json:"OIDCConfigList,omitempty"`
}

func (OIDCConfigList) IssuerUrl added in v1.2.43

func (oidcl OIDCConfigList) IssuerUrl(url string) (oidc OIDCConfig)

func (OIDCConfigList) OIDCConfig

func (oidcl OIDCConfigList) OIDCConfig(id string) (oidc OIDCConfig)

Get specified oidc-config by oidc-config-id

type OpenShiftVersionJsonOutput added in v1.2.39

type OpenShiftVersionJsonOutput struct {
	ID                string   `json:"VERSION,omitempty"`
	RAWID             string   `json:"raw_id,omitempty"`
	ChannelGroup      string   `json:"channel_group,omitempty"`
	HCPDefault        bool     `json:"hosted_control_plane_default,omitempty"`
	HCPEnabled        bool     `json:"hosted_control_plane_enabled,omitempty"`
	Default           bool     `json:"default,omitempty"`
	AvailableUpgrades []string `json:"available_upgrades,omitempty"`
}

type OpenShiftVersionTableList added in v1.2.39

type OpenShiftVersionTableList struct {
	OpenShiftVersions []*OpenShiftVersionTableOutput `json:"OpenShiftVersions,omitempty"`
}

func (*OpenShiftVersionTableList) DefaultVersion added in v1.2.41

func (vl *OpenShiftVersionTableList) DefaultVersion() (defaultVersion *OpenShiftVersionTableOutput)

func (*OpenShiftVersionTableList) FilterVersionsLowerThan added in v1.2.39

func (vl *OpenShiftVersionTableList) FilterVersionsLowerThan(
	version string) (nvl *OpenShiftVersionTableList, err error)

FilterVersionsByMajorMinor filter the version list for all lower versions than the given one

func (*OpenShiftVersionTableList) FilterVersionsSameMajorAndEqualOrLowerThanMinor added in v1.2.39

func (vl *OpenShiftVersionTableList) FilterVersionsSameMajorAndEqualOrLowerThanMinor(
	major int64, minor int64, strict bool) (nvl *OpenShiftVersionTableList, err error)

FilterVersionsByMajorMinor filter the version list for all major/minor corresponding and returns a new `OpenShiftVersionList` struct `strict` will find only the `Major.minor` ones

func (*OpenShiftVersionTableList) FindNearestBackwardMinorVersion added in v1.2.39

func (vl *OpenShiftVersionTableList) FindNearestBackwardMinorVersion(
	version string, minorSub int64, strict bool, upgradable ...bool) (vs *OpenShiftVersionTableOutput, err error)

This function will find the nearest lower OCP version which version is under `Major.{minor-sub}`. `strict` will find only the `Major.{minor-sub}` ones

func (*OpenShiftVersionTableList) FindNearestBackwardOptionalVersion added in v1.2.40

func (vl *OpenShiftVersionTableList) FindNearestBackwardOptionalVersion(
	version string,
	optionalsub int,
	strict bool,
) (vs *OpenShiftVersionTableOutput, err error)

This function will find the nearest lower OCP version which version is under `Major.minor.{optional-sub}`. `strict` will find only the `Major.monior,{optional-sub}` ones

func (*OpenShiftVersionTableList) FindYStreamUpgradableVersion added in v1.2.43

func (vl *OpenShiftVersionTableList) FindYStreamUpgradableVersion(throttleVersion string) (
	vs *OpenShiftVersionTableOutput, err error)

FindYStreamUpgradableVersion will find a y-stream upgradable version testing throttleVersion can be empty, will use the lastest one who has availabel versions when throttleVersion not empty will find the versions who can be upgraded to a version which is not higher than throttleVersion For example, there is a cluster with version 4.15.19, but there is lower version can be upgraded to 4.15.19. There is a case need to test nodepool upgrade, a lower and upgradable version is needed which is no higher than 4.15.19

func (*OpenShiftVersionTableList) FindYStreamUpgradeVersions added in v1.2.42

func (vl *OpenShiftVersionTableList) FindYStreamUpgradeVersions(
	clusterVerion string,
) (foundVersions []string, err error)

Find version which can be used for Y stream upgrade

func (*OpenShiftVersionTableList) FindZStreamUpgradableVersion added in v1.2.43

func (vl *OpenShiftVersionTableList) FindZStreamUpgradableVersion(throttleVersion string, step int) (
	vs *OpenShiftVersionTableOutput, err error)

FindZStreamUpgradableVersion will find a z-stream upgradable version for the upgrade testing throttleVersion can be set to empty, it will use the lastest one who has availabel versions when throttleVersion set will find the versions who can be upgraded to a version and not higher than it For example, there is a cluster with version 4.15.19, but there is lower version can be upgraded to 4.15.19. A case need to test nodepool upgrade, a lower and upgradable version is needed which is no higher than 4.15.19

func (*OpenShiftVersionTableList) Latest added in v1.2.39

func (*OpenShiftVersionTableList) Len added in v1.2.39

func (vl *OpenShiftVersionTableList) Len() int

func (*OpenShiftVersionTableList) Sort added in v1.2.39

func (vl *OpenShiftVersionTableList) Sort(reverse bool) (nvl *OpenShiftVersionTableList, err error)

Sort sort the version list from lower to higher (or reverse)

type OpenShiftVersionTableOutput added in v1.2.39

type OpenShiftVersionTableOutput struct {
	Version           string `json:"VERSION,omitempty"`
	Default           string `json:"DEFAULT,omitempty"`
	AvailableUpgrades string `json:"AVAILABLE UPGRADES,omitempty"`
}

func (*OpenShiftVersionTableOutput) MajorMinor added in v1.2.41

func (vl *OpenShiftVersionTableOutput) MajorMinor() (major int64, minor int64, majorMinorVersion string, err error)

type OperatorRole added in v1.2.39

type OperatorRole struct {
	AWSManaged        string `json:"AWS Managed,omitempty"`
	ClusterID         string `json:"CLUSTER ID,omitempty"`
	InUse             string `json:"IN USE,omitempty"`
	Operatorname      string `json:"OPERATOR NAME,omitempty"`
	OperatorNamespace string `json:"OPERATOR NAMESPACE,omitempty"`
	Policies          string `json:"POLICIES,omitempty"`
	RoleName          string `json:"ROLE NAME,omitempty"`
	RoleArn           string `json:"ROLE ARN,omitempty"`
	Version           string `json:"VERSION,omitempty"`
}

type OperatorRoleList added in v1.2.39

type OperatorRoleList struct {
	OperatorRoleList []*OperatorRole `json:"OperatorRoleList,omitempty"`
}

type Parser

type Parser struct {
	JsonData  *jsonData
	TableData *tableData
	TextData  *textData
}

func NewParser

func NewParser() *Parser

type PolicyService added in v1.2.41

type PolicyService interface {
	ResourcesCleaner
	AttachPolicy(roleName string, policyArn []string, flags ...string) (bytes.Buffer, error)
	DetachPolicy(roleName string, policyArn []string, flags ...string) (bytes.Buffer, error)
}

func NewPolicyService added in v1.2.41

func NewPolicyService(client *Client) PolicyService

type ResourcesCleaner

type ResourcesCleaner interface {
	CleanResources(clusterID string) []error
}

type ResourcesService

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

type TuningConfig

type TuningConfig struct {
	ID   string `json:"ID,omitempty"`
	Name string `json:"NAME,omitempty"`
}

type TuningConfigDescription

type TuningConfigDescription struct {
	Name string `yaml:"Name,omitempty"`
	ID   string `yaml:"ID,omitempty"`
	Spec string `yaml:"Spec,omitempty"`
}

Struct for the 'rosa describe cluster' output

type TuningConfigList

type TuningConfigList struct {
	TuningConfigs []TuningConfig `json:"TuningConfigs,omitempty"`
}

func (TuningConfigList) IsPresent added in v1.2.39

func (tuningConfigs TuningConfigList) IsPresent(tcName string) (existed bool)

Check the tuningConfig with the name exists in the tuningConfigList

type TuningConfigService

type TuningConfigService interface {
	ResourcesCleaner

	CreateTuningConfig(clusterID string, tcName string, specContent string, flags ...string) (bytes.Buffer, error)
	EditTuningConfig(clusterID string, tcName string, flags ...string) (bytes.Buffer, error)
	DeleteTuningConfig(clusterID string, tcName string) (bytes.Buffer, error)

	ListTuningConfigs(clusterID string) (bytes.Buffer, error)
	ReflectTuningConfigList(result bytes.Buffer) (mpl *TuningConfigList, err error)
	ListTuningConfigsAndReflect(clusterID string) (*TuningConfigList, error)

	DescribeTuningConfig(clusterID string, tcID string) (bytes.Buffer, error)
	ReflectTuningConfigDescription(result bytes.Buffer) (npd *TuningConfigDescription, err error)
	DescribeTuningConfigAndReflect(clusterID string, tcID string) (*TuningConfigDescription, error)
}

func NewTuningConfigService

func NewTuningConfigService(client *Client) TuningConfigService

type TuningConfigSpecProfile added in v1.2.43

type TuningConfigSpecProfile struct {
	Name string `yaml:"name,omitempty" json:"name,omitempty"`
	Data string `yaml:"data,omitempty" json:"data,omitempty"`
}

type TuningConfigSpecRecommend added in v1.2.43

type TuningConfigSpecRecommend struct {
	Priority int    `yaml:"priority,omitempty" json:"priority,omitempty"`
	Profile  string `yaml:"profile,omitempty" json:"profile,omitempty"`
}

type TuningConfigSpecRoot added in v1.2.43

type TuningConfigSpecRoot struct {
	Profile   []TuningConfigSpecProfile   `json:"profile,omitempty" yaml:"profile,omitempty"`
	Recommend []TuningConfigSpecRecommend `json:"recommend,omitempty" yaml:"recommend,omitempty"`
}

func NewTuningConfigSpecRootStub added in v1.2.43

func NewTuningConfigSpecRootStub(tcName string, vmDirtyRatio int, priority int) TuningConfigSpecRoot

type UpgradeDescription added in v1.2.43

type UpgradeDescription struct {
	ID                         string `yaml:"ID,omitempty"`
	ClusterID                  string `yaml:"Cluster ID,omitempty"`
	NextRun                    string `yaml:"Next Run,omitempty"`
	Version                    string `yaml:"Version,omitempty"`
	UpgradeState               string `yaml:"Upgrade State,omitempty"`
	StateMesage                string `yaml:"State Message,omitempty"`
	ScheduleType               string `yaml:"Schedule Type,omitempty"`
	ScheduleAt                 string `yaml:"Schedule At,omitempty"`
	EnableMinorVersionUpgrades string `yaml:"Enable minor version upgrades,omitempty"`
}

Struct for the 'rosa describe upgrade' output

type UpgradeService added in v1.2.44

type UpgradeService interface {
	ResourcesCleaner

	ListUpgrades(clusterID string, flags ...string) (bytes.Buffer, error)
	DescribeUpgrade(clusterID string, flags ...string) (bytes.Buffer, error)
	DescribeUpgradeAndReflect(clusterID string) (*UpgradeDescription, error)
	DeleteUpgrade(flags ...string) (bytes.Buffer, error)
	Upgrade(flags ...string) (bytes.Buffer, error)
}

func NewUpgradeService added in v1.2.44

func NewUpgradeService(client *Client) UpgradeService

type UserRole

type UserRole struct {
	RoleName string `json:"ROLE NAME,omitempty"`
	RoleArn  string `json:"ROLE ARN,omitempty"`
	Linded   string `json:"LINKED,omitempty"`
}

Struct for the 'rosa list user-role' output

type UserRoleList

type UserRoleList struct {
	UserRoleList []UserRole `json:"UserRoleList,omitempty"`
}

func (UserRoleList) FindLinkedUserRole added in v1.2.43

func (url UserRoleList) FindLinkedUserRole() (userRoles UserRole)

Get the user-role which is linked to org

func (UserRoleList) UserRole

func (url UserRoleList) UserRole(prefix string, ocmAccountUsername string) (userRoles UserRole)

Get specified user-role by user-role prefix and ocmAccountUsername

type UserService

type UserService interface {
	ResourcesCleaner

	ListUsers(clusterID string) (GroupUserList, bytes.Buffer, error)
	ReflectUsersList(result bytes.Buffer) (gul GroupUserList, err error)
	RevokeUser(clusterID string, role string, user string, flags ...string) (bytes.Buffer, error)
	GrantUser(clusterID string, role string, user string, flags ...string) (bytes.Buffer, error)
	CreateAdmin(clusterID string) (bytes.Buffer, error)
	DescribeAdmin(clusterID string) (bytes.Buffer, error)
	DeleteAdmin(clusterID string) (bytes.Buffer, error)
}

func NewUserService

func NewUserService(client *Client) UserService

type VerifyService added in v1.2.45

type VerifyService interface {
	VerifyOC() (bytes.Buffer, error)
	VerifyPermissions() (bytes.Buffer, error)
	VerifyQuota() (bytes.Buffer, error)
	VerifyRosaClient() (bytes.Buffer, error)
}

func NewVerifyService added in v1.2.45

func NewVerifyService(client *Client) VerifyService

type VersionService

type VersionService interface {
	ResourcesCleaner

	ReflectVersions(result bytes.Buffer) (*OpenShiftVersionTableList, error)
	ListVersions(channelGroup string, hostedCP bool, flags ...string) (bytes.Buffer, error)
	ListAndReflectVersions(
		channelGroup string,
		hostedCP bool,
		flags ...string,
	) (*OpenShiftVersionTableList, error)
}

func NewVersionService

func NewVersionService(client *Client) VersionService

Jump to

Keyboard shortcuts

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