exec

package
v1.4.0-prerelease.3 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// MaxExpiration in unit of hour
	MaxExpiration = 168

	// MaxNodeNumber means max node number per cluster/machinepool
	MaxNodeNumber = 180

	// MaxNameLength means cluster name will be trimed when request certificate
	MaxNameLength = 15

	MaxIngressNumber = 2
)

****************************************************** RHCS test cases used

View Source
const (
	FastChannel      = "fast"
	StableChannel    = "stable"
	NightlyChannel   = "nightly"
	CandidateChannel = "candidate"
)

version channel_groups

Variables

This section is empty.

Functions

func CleanTFTempFiles

func CleanTFTempFiles(providerDir string) error

func CreateAWSVPC

func CreateAWSVPC(vpcArgs *VPCArgs, arg ...string) (
	privateSubnets []string,
	publicSubnets []string,
	zones []string,
	err error)

func CreateMachinePool

func CreateMachinePool(ctx context.Context, args ...string) (string, error)

func CreateMyTFMachinePool

func CreateMyTFMachinePool(clusterArgs *MachinePoolArgs, arg ...string) (string, error)

func CreateTFMachinePool

func CreateTFMachinePool(ctx context.Context,
	varArgs map[string]interface{}, abArgs ...string) (string, error)

func DestroyAWSVPC

func DestroyAWSVPC(vpcArgs *VPCArgs, arg ...string) error

func DestroyMyTFMachinePool

func DestroyMyTFMachinePool(mpArgs *MachinePoolArgs, arg ...string) error

func DestroyTFMachinePool

func DestroyTFMachinePool(ctx context.Context,
	varArgs map[string]interface{}, abArgs ...string) error

func GenerateOCLoginCMD

func GenerateOCLoginCMD(server string, username string, password string, clusterid string, additioanlFlags ...string) string

func GetLogger

func GetLogger() *logging.Logger

************************ TF CMD***********************************

func GetVPCOutputs

func GetVPCOutputs() (privateSubnets []string, publicSubnets []string, zones []string, err error)

func OcLogin

func OcLogin(ocLoginAtter OcAttributes) error

func RetryCMDRun

func RetryCMDRun(cmd string, timeout time.Duration) (string, error)

Types

type AccountRoleService

type AccountRoleService struct {
	CreationArgs *AccountRolesArgs
	ManifestDir  string
	Context      context.Context
}

func NewAccountRoleService

func NewAccountRoleService(manifestDir ...string) (*AccountRoleService, error)

func (*AccountRoleService) Create

func (acc *AccountRoleService) Create(createArgs *AccountRolesArgs, extraArgs ...string) (*AccountRolesOutput, error)

func (*AccountRoleService) Destroy

func (acc *AccountRoleService) Destroy(createArgs ...*AccountRolesArgs) error

func (*AccountRoleService) Init

func (acc *AccountRoleService) Init(manifestDirs ...string) error

func (*AccountRoleService) Output

func (acc *AccountRoleService) Output() (*AccountRolesOutput, error)

type AccountRolesArgs

type AccountRolesArgs struct {
	AccountRolePrefix string `json:"account_role_prefix,omitempty"`
	OCMENV            string `json:"rhcs_environment,omitempty"`
	OpenshiftVersion  string `json:"openshift_version,omitempty"`
	Token             string `json:"token,omitempty"`
	URL               string `json:"url,omitempty"`
	ChannelGroup      string `json:"channel_group,omitempty"`
}

type AccountRolesOutput added in v1.4.0

type AccountRolesOutput struct {
	AccountRolePrefix string        `json:"account_role_prefix,omitempty"`
	MajorVersion      string        `json:"major_version,omitempty"`
	ChannelGroup      string        `json:"channel_group,omitempty"`
	RHCSGatewayUrl    string        `json:"rhcs_gateway_url,omitempty"`
	RHCSVersions      []interface{} `json:"rhcs_versions,omitempty"`
}

type ClusterCreationArgs

type ClusterCreationArgs struct {
	AccountRolePrefix    string            `json:"account_role_prefix,omitempty"`
	OCMENV               string            `json:"rhcs_environment,omitempty"`
	ClusterName          string            `json:"cluster_name,omitempty"`
	OperatorRolePrefix   string            `json:"operator_role_prefix,omitempty"`
	OpenshiftVersion     string            `json:"openshift_version,omitempty"`
	Token                string            `json:"token,omitempty"`
	URL                  string            `json:"url,omitempty"`
	AWSRegion            string            `json:"aws_region,omitempty"`
	AWSAvailabilityZones []string          `json:"aws_availability_zones,omitempty"`
	Replicas             int               `json:"replicas,omitempty"`
	ChannelGroup         string            `json:"channel_group,omitempty"`
	AWSHttpTokensState   string            `json:"aws_http_tokens_state,omitempty"`
	PrivateLink          string            `json:"private_link,omitempty"`
	Private              string            `json:"private,omitempty"`
	AWSSubnetIDs         []string          `json:"aws_subnet_ids,omitempty"`
	ComputeMachineType   string            `json:"compute_machine_type,omitempty"`
	DefaultMPLabels      map[string]string `json:"default_mp_labels,omitempty"`
	DisableSCPChecks     bool              `json:"disable_scp_checks,omitempty"`
	MultiAZ              bool              `json:"multi_az,omitempty"`
	MachineCIDR          string            `json:"machine_cidr,omitempty"`
	OIDCConfigID         string            `json:"oidc_config_id,omitempty"`
}

type ClusterOutout

type ClusterOutout struct {
	ClusterID string `json:"cluster_id,omitempty"`
}

Just a placeholder, not research what to output yet.

type ClusterService

type ClusterService struct {
	CreationArgs *ClusterCreationArgs
	ManifestDir  string
	Context      context.Context
}

func NewClusterService

func NewClusterService(manifestDir string) (*ClusterService, error)

func (*ClusterService) Create

func (creator *ClusterService) Create(createArgs *ClusterCreationArgs, extraArgs ...string) error

func (*ClusterService) Destroy

func (creator *ClusterService) Destroy(createArgs *ClusterCreationArgs, extraArgs ...string) error

func (*ClusterService) Init

func (creator *ClusterService) Init(manifestDir string) error

func (*ClusterService) Output

func (creator *ClusterService) Output() (string, error)

type IDPArgs added in v1.4.0

type IDPArgs struct {
	ClusterID     string        `json:"cluster_id,omitempty"`
	Name          string        `json:"name,omitempty"`
	ID            string        `json:"id,omitempty"`
	Token         string        `json:"token,omitempty"`
	OCMENV        string        `json:"ocm_environment,omitempty"`
	URL           string        `json:"url,omitempty"`
	MappingMethod string        `json:"mapping_method,omitempty"`
	HtpasswdUsers []interface{} `json:"htpasswd_users,omitempty"`
}

type IDPOutput added in v1.4.0

type IDPOutput struct {
	ID string `json:"idp_id,omitempty"`
}

for now holds only ID, additional vars might be needed in the future

type IDPService added in v1.4.0

type IDPService struct {
	CreationArgs *IDPArgs
	ManifestDir  string
	Context      context.Context
}

func NewIDPService added in v1.4.0

func NewIDPService(manifestDir ...string) *IDPService

func (*IDPService) Create added in v1.4.0

func (idp *IDPService) Create(createArgs *IDPArgs, extraArgs ...string) error

func (*IDPService) Destroy added in v1.4.0

func (idp *IDPService) Destroy(createArgs ...*IDPArgs) error

func (*IDPService) Init added in v1.4.0

func (idp *IDPService) Init(manifestDirs ...string) error

func (*IDPService) Output added in v1.4.0

func (idp *IDPService) Output() (IDPOutput, error)

type MachinePoolArgs

type MachinePoolArgs struct {
	Cluster            string              `json:"cluster,omitempty"`
	OCMENV             string              `json:"ocm_environment,omitempty"`
	Name               string              `json:"name,omitempty"`
	Token              string              `json:"token,omitempty"`
	URL                string              `json:"url,omitempty"`
	MachineType        string              `json:"machine_type,omitempty"`
	Replicas           int                 `json:"replicas,omitempty"`
	AutoscalingEnabled bool                `json:"autoscaling_enabled,omitempty"`
	UseSpotInstances   bool                `json:"use_spot_instances,omitempty"`
	MaxReplicas        int                 `json:"max_replicas,omitempty"`
	MinReplicas        int                 `json:"min_replicas,omitempty"`
	MaxSpotPrice       float64             `json:"max_spot_price,omitempty"`
	Labels             map[string]string   `json:"labels,omitempty"`
	Taints             []map[string]string `json:"taints,omitempty"`
	ID                 string              `json:"id,omitempty"`
}

type MachinePoolOutput

type MachinePoolOutput struct {
	ID                 string `json:"machine_pool_id,omitempty"`
	Name               string `json:"name,omitempty"`
	ClusterID          string `json:"cluster_id,omitempty"`
	Replicas           int    `json:"replicas,omitempty"`
	MachineType        string `json:"machine_type,omitempty"`
	AutoscalingEnabled bool   `json:"autoscaling_enabled,omitempty"`
}

type MachinePoolService

type MachinePoolService struct {
	CreationArgs *MachinePoolArgs
	ManifestDir  string
	Context      context.Context
}

func NewMachinePoolService

func NewMachinePoolService(manifestDir ...string) *MachinePoolService

func (*MachinePoolService) Create

func (mp *MachinePoolService) Create(createArgs *MachinePoolArgs, extraArgs ...string) error

func (*MachinePoolService) Destroy

func (mp *MachinePoolService) Destroy(createArgs ...*MachinePoolArgs) error

func (*MachinePoolService) Init

func (mp *MachinePoolService) Init(manifestDirs ...string) error

func (*MachinePoolService) Output

func (mp *MachinePoolService) Output() (MachinePoolOutput, error)

type OIDCProviderOperatorRolesArgs added in v1.4.0

type OIDCProviderOperatorRolesArgs struct {
	AccountRolePrefix  string `json:"account_role_prefix,omitempty"`
	OperatorRolePrefix string `json:"operator_role_prefix,omitempty"`
	Token              string `json:"token,omitempty"`
	URL                string `json:"url,omitempty"`
	OIDCConfig         string `json:"oidc_config,omitempty"`
	AWSRegion          string `json:"aws_region,omitempty"`
}

type OIDCProviderOperatorRolesOutput added in v1.4.0

type OIDCProviderOperatorRolesOutput struct {
	OIDCConfigID       string `json:"oidc_config_id,omitempty"`
	AccountRolePrefix  string `json:"account_role_prefix,omitempty"`
	OperatorRolePrefix string `json:"operator_role_prefix,omitempty"`
}

type OIDCProviderOperatorRolesService added in v1.4.0

type OIDCProviderOperatorRolesService struct {
	CreationArgs *OIDCProviderOperatorRolesArgs
	ManifestDir  string
	Context      context.Context
}

func NewOIDCProviderOperatorRolesService added in v1.4.0

func NewOIDCProviderOperatorRolesService(manifestDir ...string) (*OIDCProviderOperatorRolesService, error)

func (*OIDCProviderOperatorRolesService) Create added in v1.4.0

func (*OIDCProviderOperatorRolesService) Destroy added in v1.4.0

func (*OIDCProviderOperatorRolesService) Init added in v1.4.0

func (oidcOP *OIDCProviderOperatorRolesService) Init(manifestDirs ...string) error

func (*OIDCProviderOperatorRolesService) Output added in v1.4.0

type OcAttributes

type OcAttributes struct {
	Server          string
	Username        string
	Password        string
	ClusterID       string
	AdditioanlFlags []string
	Timeout         time.Duration
}

type VPCArgs

type VPCArgs struct {
	Name      string   `json:"name,omitempty"`
	AWSRegion string   `json:"aws_region,omitempty"`
	VPCCIDR   string   `json:"vpc_cidr,omitempty"`
	MultiAZ   bool     `json:"multi_az,omitempty"`
	AZIDs     []string `json:"az_ids,omitempty"`
}

type VPCOutput added in v1.4.0

type VPCOutput struct {
	ClusterPublicSubnets  []string `json:"cluster-public-subnet,omitempty"`
	VPCCIDR               string   `json:"vpc-cidr,omitempty"`
	ClusterPrivateSubnets []string `json:"cluster-private-subnet,omitempty"`
	AZs                   []string `json:"azs,omitempty"`
	NodePrivateSubnets    []string `json:"node-private-subnet,omitempty"`
}

type VPCService

type VPCService struct {
	CreationArgs *VPCArgs
	ManifestDir  string
	Context      context.Context
}

func NewVPCService

func NewVPCService(manifestDir ...string) *VPCService

func (*VPCService) Create

func (vpc *VPCService) Create(createArgs *VPCArgs, extraArgs ...string) error

func (*VPCService) Destroy

func (vpc *VPCService) Destroy(createArgs ...*VPCArgs) error

func (*VPCService) Init

func (vpc *VPCService) Init(manifestDirs ...string) error

func (*VPCService) Output

func (vpc *VPCService) Output() (*VPCOutput, error)

Jump to

Keyboard shortcuts

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