Documentation ¶
Index ¶
- func ConvertFilterToString(qs interface{}) (filter string)
- func ConvertToMap(qs interface{}) map[string]interface{}
- func ConvertToStringArray(interfaceList []interface{}) []string
- func ConvertToStringMap(interfaceMap map[string]interface{}) map[string]string
- func ElementInArray(target string, str_array []string) bool
- func GetElements(content map[string]interface{}, element string, num ...int) interface{}
- func GetYAMLProfilesDir() string
- func TrimName(name string) string
- func TrimVersion(version string, groupChannel string) string
- type Profile
- type ProfileHandler
- type ProfilePrepare
- type ProfileServices
- type ProfileSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertFilterToString ¶
func ConvertFilterToString(qs interface{}) (filter string)
ConvertFilterToString will Convert a fileter struct to a string if "like" in the value will be keeped if no 'like' in value, the string will contains key=value if map in value the substring will be key.subkey='subvalue'
func ConvertToMap ¶
func ConvertToMap(qs interface{}) map[string]interface{}
func ConvertToStringArray ¶
func ConvertToStringArray(interfaceList []interface{}) []string
ConvertToStringArray will convert the []interface to []string
func ConvertToStringMap ¶
ConvertToStringMap will convert the []interface to []string
func ElementInArray ¶
check if one element is in the array. if yes, return true; or return false
func GetElements ¶
GetElements will return an array or a string get from the items based on the num If num 0 and itemkey id passed it will return the itemkey value with index 0
func GetYAMLProfilesDir ¶
func GetYAMLProfilesDir() string
func TrimVersion ¶
Types ¶
type Profile ¶
type Profile struct { Name string `ini:"name,omitempty" json:"name,omitempty"` ClusterName string `ini:"cluster_name,omitempty" json:"cluster_name,omitempty"` DomainPrefix string `ini:"domain_prefix,omitempty" json:"domain_prefix,omitempty"` ClusterType string `ini:"cluster_type,omitempty" json:"cluster_type,omitempty"` ProductID string `ini:"product_id,omitempty" json:"product_id,omitempty"` MajorVersion string `ini:"major_version,omitempty" json:"major_version,omitempty"` Version string `ini:"version,omitempty" json:"version,omitempty"` //Specific OCP version to be specified VersionPattern string `ini:"version_pattern,omitempty" json:"version_pattern,omitempty"` //Version supports indicated version started with openshift-v or major-1 (y-1) or minor-1 (z-1) ChannelGroup string `ini:"channel_group,omitempty" json:"channel_group,omitempty"` CloudProvider string `ini:"cloud_provider,omitempty" json:"cloud_provider,omitempty"` Region string `ini:"region,omitempty" json:"region,omitempty"` InstanceType string `ini:"instance_type,omitempty" json:"instance_type,omitempty"` Zones string `ini:"zones,omitempty" json:"zones,omitempty"` // zones should be like a,b,c,d StorageLB bool `ini:"storage_lb,omitempty" json:"storage_lb,omitempty"` // the unit is GIB, don't support unit set Tagging bool `ini:"tagging,omitempty" json:"tagging,omitempty"` Labeling bool `ini:"labeling,omitempty" json:"labeling,omitempty"` Etcd bool `ini:"etcd_encryption,omitempty" json:"etcd_encryption,omitempty"` FIPS bool `ini:"fips,omitempty" json:"fips,omitempty"` CCS bool `ini:"ccs,omitempty" json:"ccs,omitempty"` STS bool `ini:"sts,omitempty" json:"sts,omitempty"` Autoscale bool `ini:"autoscaling_enabled,omitempty" json:"autoscaling_enabled,omitempty"` MultiAZ bool `ini:"multi_az,omitempty" json:"multi_az,omitempty"` BYOVPC bool `ini:"byovpc,omitempty" json:"byovpc,omitempty"` PrivateLink bool `ini:"private_link,omitempty" json:"private_link,omitempty"` Private bool `ini:"private,omitempty" json:"private,omitempty"` BYOK bool `ini:"byok,omitempty" json:"byok,omitempty"` KMSKey bool `ini:"kms_key_arn,omitempty" json:"kms_key_arn,omitempty"` DifferentEncryptionKeys bool `ini:"different_encryption_keys,omitempty" json:"different_encryption_keys,omitempty"` NetWorkingSet bool `ini:"networking_set,omitempty" json:"networking_set,omitempty"` Proxy bool `ini:"proxy,omitempty" json:"proxy,omitempty"` OIDCConfig string `ini:"oidc_config,omitempty" json:"oidc_config,omitempty"` ProvisionShard string `ini:"provisionShard,omitempty" json:"provisionShard,omitempty"` Ec2MetadataHttpTokens string `ini:"ec2_metadata_http_tokens,omitempty" json:"ec2_metadata_http_tokens,omitempty"` ComputeReplicas int `ini:"compute_replicas,omitempty" json:"compute_replicas,omitempty"` ComputeMachineType string `ini:"compute_machine_type,omitempty" json:"compute_machine_type,omitempty"` AuditLogForward bool `ini:"auditlog_forward,omitempty" json:"auditlog_forward,omitempty"` AdminEnabled bool `ini:"admin_enabled,omitempty" json:"admin_enabled,omitempty"` ManagedPolicies bool `ini:"managed_policies,omitempty" json:"managed_policies,omitempty"` WorkerDiskSize int `ini:"worker_disk_size,omitempty" json:"worker_disk_size,omitempty"` AdditionalSGNumber int `ini:"additional_sg_number,omitempty" json:"additional_sg_number,omitempty"` UnifiedAccRolesPath string `ini:"unified_acc_role_path,omitempty" json:"unified_acc_role_path,omitempty"` MachineCIDR string `ini:"machine_cidr,omitempty" json:"machine_cidr,omitempty"` ServiceCIDR string `ini:"service_cidr,omitempty" json:"service_cidr,omitempty"` PodCIDR string `ini:"pod_cidr,omitempty" json:"pod_cidr,omitempty"` HostPrefix int `ini:"host_prefix,omitempty" json:"host_prefix,omitempty"` FullResources bool `ini:"full_resources,omitempty" json:"full_resources,omitempty"` DontWaitForCluster bool `ini:"no_wait_cluster,omitempty" json:"no_wait_cluster,omitempty"` UseRegistryConfig bool `ini:"use_registry_config,omitempty" json:"use_registry_config,omitempty"` AllowedRegistries []string `ini:"allowed_registries,omitempty" json:"allowed_registries,omitempty"` BlockedRegistries []string `ini:"blocked_registries,omitempty" json:"blocked_registries,omitempty"` }
type ProfileHandler ¶
type ProfileHandler interface { Services() ProfileServices Prepare() ProfilePrepare Profile() ProfileSpec CreateRHCSClusterByProfile(token string) (string, error) DestroyRHCSClusterResources(token string) error GenerateClusterCreationArgs(token string) (*exec.ClusterArgs, error) RetrieveClusterID() (string, error) // This will create a new profile handler with a different TF workspace (adding `-dup` suffix to current) Duplicate() ProfileHandler DuplicateRandom() ProfileHandler }
func NewProfileHandlerFromYamlFile ¶
func NewProfileHandlerFromYamlFile() (handler ProfileHandler, err error)
func NewRandomProfileHandler ¶
func NewRandomProfileHandler(clusterTypes ...constants.ClusterType) (handler ProfileHandler, err error)
type ProfilePrepare ¶
type ProfilePrepare interface { PrepareVPC(multiZone bool, azIDs []string, name string, sharedVpcAWSSharedCredentialsFile string) (*exec.VPCOutput, error) PrepareAdditionalSecurityGroups(vpcID string, sgNumbers int) ([]string, error) PrepareAccountRoles(token string, accountRolePrefix string, accountRolesPath string, openshiftVersion string, channelGroup string, sharedVpcRoleArn string) (*exec.AccountRolesOutput, error) PrepareOIDCProviderAndOperatorRoles(token string, oidcConfigType string, operatorRolePrefix string, accountRolePrefix string, accountRolesPath string) (*exec.OIDCProviderOperatorRolesOutput, error) PrepareProxy(VPCID string, subnetPublicID string, keyPairID string) (*exec.ProxyOutput, error) PrepareKMSKey(kmsName string, accountRolePrefix string, accountRolePath string) (string, error) PrepareRoute53() (string, error) installerRoleArn string, clusterAwsAccount string, vpcID string, subnets []string, domainPrefix string) (*exec.SharedVpcPolicyAndHostedZoneOutput, error) PrepareVersion() string }
type ProfileServices ¶
type ProfileServices interface { GetAccountRolesService() (exec.AccountRoleService, error) GetKMSService() (exec.KMSService, error) GetOIDCProviderOperatorRolesService() (exec.OIDCProviderOperatorRolesService, error) GetProxyService() (exec.ProxyService, error) GetSecurityGroupService() (exec.SecurityGroupService, error) GetVPCService() (exec.VPCService, error) GetVPCTagService() (exec.VPCTagService, error) GetClusterService() (exec.ClusterService, error) GetClusterAutoscalerService() (exec.ClusterAutoscalerService, error) GetClusterWaiterService() (exec.ClusterWaiterService, error) GetDnsDomainService() (exec.DnsDomainService, error) GetIDPService(idpType constants.IDPType) (exec.IDPService, error) GetIngressService() (exec.IngressService, error) GetImportService() (exec.ImportService, error) GetKubeletConfigService() (exec.KubeletConfigService, error) GetMachinePoolsService() (exec.MachinePoolService, error) GetRHCSInfoService() (exec.RhcsInfoService, error) GetTrustedIPsService() (exec.TrustedIPsService, error) GetTuningConfigService() (exec.TuningConfigService, error) }
type ProfileSpec ¶
type ProfileSpec interface { GetClusterType() constants.ClusterType GetRegion() string GetName() string GetChannelGroup() string GetVersionPattern() string GetMajorVersion() string GetComputeMachineType() string GetZones() string GetEc2MetadataHttpTokens() string GetUnifiedAccRolesPath() string GetOIDCConfig() string GetAdditionalSGNumber() int GetComputeReplicas() int GetWorkerDiskSize() int GetImdsv2() string GetMachineCIDR() string GetServiceCIDR() string GetPodCIDR() string GetHostPrefix() int GetAllowedRegistries() []string GetBlockedRegistries() []string IsHCP() bool IsPrivateLink() bool IsPrivate() bool IsMultiAZ() bool IsBYOVPC() bool IsProxy() bool IsEtcd() bool IsDifferentEncryptionKeys() bool IsAutoscale() bool IsAdminEnabled() bool IsFIPS() bool IsLabeling() bool IsTagging() bool IsKMSKey() bool IsFullResources() bool IsUseRegistryConfig() bool }
Click to show internal directories.
Click to hide internal directories.