Documentation
¶
Overview ¶
Package cloudinfo contains functions and methods for searching and detailing various resources located in the IBM Cloud
Index ¶
- Constants
- func PrintResourceKey(keyList []string, resources []resourcecontrollerv2.ResourceInstance)
- func PrintResources(resources []resourcecontrollerv2.ResourceInstance)
- type CatalogJson
- type CloudInfoService
- func (infoSvc *CloudInfoService) AddStackFromConfig(projectID string, configID string, ...) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) AddStackFromFile(projectID string, configFilePath string, catalogJsonPath string, ...) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) ApproveConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) CreateConfig(projectID string, name string, description string, stackLocatorID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateConfigFromCatalogJson(projectID string, catalogJsonPath string, stackLocatorID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateDaConfig(projectID string, locatorID string, name string, description string, ...) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateDefaultProject(name string, description string, resourceGroup string) (result *project.Project, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateDefaultProjectWithConfigs(name string, description string, resourceGroup string, ...) (result *project.Project, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateDefaultProjectWithConfigsFromFile(name string, description string, resourceGroup string, configFile string) (result *project.Project, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateNewStack(projectID string, stackName string, stackDescription string, ...) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreatePowerSession(instanceRegion string) (*ibmpisession.IBMPISession, error)
- func (infoSvc *CloudInfoService) CreatePowercloudConnectionClient(instanceId string, powerSession *ibmpisession.IBMPISession) *ibmpiinstance.IBMPICloudConnectionClient
- func (infoSvc *CloudInfoService) CreateStackFromConfigFile(projectID string, stackConfigPath string, catalogJsonPath string) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) CreateStackFromConfigFileWithInputs(projectID string, stackConfigPath string, catalogJsonPath string, ...) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) DeleteIamPolicyByID(policyId string) error
- func (infoSvc *CloudInfoService) DeleteProject(projectID string) (result *project.ProjectDeleteResponse, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) DeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) ForceApproveConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) ForceDeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) ForceValidateProjectConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) GetAvailableIcdVersions(icdType string) ([]string, error)
- func (infoSvc *CloudInfoService) GetAvailableVpcRegions() ([]vpcv1.Region, error)
- func (infoSvc *CloudInfoService) GetCBRRuleByID(ruleID string) (*contextbasedrestrictionsv1.Rule, *core.DetailedResponse, error)
- func (infoSvc *CloudInfoService) GetCBRZoneByID(zoneID string) (*contextbasedrestrictionsv1.Zone, error)
- func (infoSvc *CloudInfoService) GetCatalogVersionByLocator(versionLocator string) (*catalogmanagementv1.Version, error)
- func (infoSvc *CloudInfoService) GetClusterAdminConfigPath(clusterId string) (string, error)
- func (infoSvc *CloudInfoService) GetClusterConfigConfigPath(clusterId string) (string, error)
- func (infoSvc *CloudInfoService) GetClusterConfigPath(clusterId string, basePath string, admin bool, createCalicoConfig bool, ...) (string, error)
- func (infoSvc *CloudInfoService) GetClusterConfigPathWithEndpoint(clusterId string, endpoint string) (string, error)
- func (infoSvc *CloudInfoService) GetClusterIngressStatus(clusterId string) (string, error)
- func (infoSvc *CloudInfoService) GetConfig(projectID string, configID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) GetLeastPowerConnectionZone() (string, error)
- func (infoSvc *CloudInfoService) GetLeastVpcTestRegion() (string, error)
- func (infoSvc *CloudInfoService) GetLeastVpcTestRegionO(options GetTestRegionOptions) (string, error)
- func (infoSvc *CloudInfoService) GetLeastVpcTestRegionWithoutActivityTracker() (string, error)
- func (infoSvc *CloudInfoService) GetProject(projectID string) (result *project.Project, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) GetProjectConfigVersion(projectID string, configID string, version int64) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) GetProjectConfigs(projectID string) (results []project.ProjectConfigSummary, err error)
- func (infoSvc *CloudInfoService) GetResourceGroupIDByName(resourceGroupName string) (string, error)
- func (infoSvc *CloudInfoService) GetTestRegionsByPriority() ([]RegionData, error)
- func (infoSvc *CloudInfoService) GetThreadLock() *sync.Mutex
- func (infoSvc *CloudInfoService) HasRegionData() bool
- func (infoSvc *CloudInfoService) IsConfigApproved(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isApproved bool)
- func (infoSvc *CloudInfoService) IsConfigDeployed(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isDeployed bool)
- func (infoSvc *CloudInfoService) IsConfigValidated(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isValidated bool)
- func (infoSvc *CloudInfoService) IsUndeploying(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isUndeploying bool)
- func (infoSvc *CloudInfoService) ListPowerConnectionsForAccount() ([]*PowerCloudConnectionDetail, error)
- func (infoSvc *CloudInfoService) ListPowerWorkspaceConnections(client ibmPICloudConnectionClient) ([]*ibmpimodels.CloudConnection, error)
- func (infoSvc *CloudInfoService) ListPowerWorkspaces() ([]resourcecontrollerv2.ResourceInstance, error)
- func (infoSvc *CloudInfoService) ListResourcesByCrnServiceName(crnServiceName string) ([]resourcecontrollerv2.ResourceInstance, error)
- func (infoSvc *CloudInfoService) ListResourcesByGroupID(resourceGroupId string) ([]resourcecontrollerv2.ResourceInstance, error)
- func (infoSvc *CloudInfoService) ListResourcesByGroupName(resourceGroupName string) ([]resourcecontrollerv2.ResourceInstance, error)
- func (infoSvc *CloudInfoService) LoadRegionPrefsFromFile(filePath string) error
- func (infoSvc *CloudInfoService) LoadRegionsFromVpcAccount() error
- func (infoSvc *CloudInfoService) RemoveRegionForTest(regionID string)
- func (infoSvc *CloudInfoService) ReplaceCBRRule(updatedExistingRule *contextbasedrestrictionsv1.Rule, eTag *string) (*contextbasedrestrictionsv1.Rule, *core.DetailedResponse, error)
- func (infoSvc *CloudInfoService) SetCBREnforcementMode(ruleID string, mode string) error
- func (infoSvc *CloudInfoService) UndeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- func (infoSvc *CloudInfoService) UpdateConfig(projectID string, configID string, ...) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) UpdateConfigWithHeaders(projectID string, configID string, ...) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) UpdateStackFromConfig(projectID string, configID string, ...) (result *project.StackDefinition, response *core.DetailedResponse, err error)
- func (infoSvc *CloudInfoService) ValidateProjectConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, ...)
- type CloudInfoServiceI
- type CloudInfoServiceOptions
- type GetTestRegionOptions
- type PowerCloudConnectionDetail
- type RegionData
- type SortedRegionsDataByPriority
- type Stack
Constants ¶
const ( ErrPolicyInvalidToDelete = "policy was not valid to delete" ErrTokenInvalid = "the token provided is not valid" ErrNoAccessToDeletePolicy = "access to delete the policy is not granted" ErrPolicyNotFound = "policy was not found" ErrTooManyRequests = "too many requests have been made within a given time window" )
Variables ¶
This section is empty.
Functions ¶
func PrintResourceKey ¶ added in v1.28.0
func PrintResourceKey(keyList []string, resources []resourcecontrollerv2.ResourceInstance)
PrintResourceKey will print a formatted list of resources to stdout keyList is an ordered list of keys to print available keys are: Name, Location, State, ResourceID, CRN, ResourceGroupID, ResourcePlanID, SubType, Type, URL, AccountID, CreatedBy, DashboardURL, GUID, LastOperationState, LastOperationType, ScheduledReclaimBy resources is a list of resources to print
func PrintResources ¶ added in v1.28.0
func PrintResources(resources []resourcecontrollerv2.ResourceInstance)
PrintResources will print a formatted list of resources to stdout resources is a list of resources to print
Types ¶
type CatalogJson ¶ added in v1.31.0
type CatalogJson struct { Products []struct { Label string `json:"label"` Name string `json:"name"` ProductKind string `json:"product_kind"` Tags []string `json:"tags"` OfferingIconUrl string `json:"offering_icon_url"` Flavors []struct { Compliance struct { } `json:"compliance"` Architecture struct { } `json:"architecture"` } `json:"flavors"` } `json:"products"` }
type CloudInfoService ¶
type CloudInfoService struct { ApiKey string // contains filtered or unexported fields }
CloudInfoService is a structure that is used as the receiver to many methods in this package. It contains references to other important services and data structures needed to perform these methods.
func NewCloudInfoServiceFromEnv ¶
func NewCloudInfoServiceFromEnv(apiKeyEnv string, options CloudInfoServiceOptions) (*CloudInfoService, error)
NewCloudInfoServiceFromEnv is a factory function used for creating a new initialized service structure. This function can be called if the IBM Cloud API Key should be extracted from an existing OS level environment variable. Returns a pointer to an initialized CloudInfoService and error.
func NewCloudInfoServiceWithKey ¶
func NewCloudInfoServiceWithKey(options CloudInfoServiceOptions) (*CloudInfoService, error)
NewCloudInfoServiceWithKey is a factory function used for creating a new initialized service structure. This function can be called if an IBM Cloud API Key is known and passed in directly. Returns a pointer to an initialized CloudInfoService and error.
func (*CloudInfoService) AddStackFromConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) AddStackFromConfig(projectID string, configID string, stackConfig *project.StackDefinitionBlockPrototype) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) AddStackFromFile ¶ added in v1.31.0
func (infoSvc *CloudInfoService) AddStackFromFile(projectID string, configFilePath string, catalogJsonPath string, stackLocatorID string) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) ApproveConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) ApproveConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreateConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateConfig(projectID string, name string, description string, stackLocatorID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreateConfigFromCatalogJson ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateConfigFromCatalogJson(projectID string, catalogJsonPath string, stackLocatorID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreateDaConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateDaConfig(projectID string, locatorID string, name string, description string, authorizations project.ProjectConfigAuth, inputs map[string]interface{}, settings map[string]interface{}) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreateDefaultProject ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateDefaultProject(name string, description string, resourceGroup string) (result *project.Project, response *core.DetailedResponse, err error)
CreateDefaultProject creates a default project with the given name and description name: the name of the project description: the description of the project resourceGroup: the resource group to use Returns an error if one occurs Chooses a random location Delete all resources on delete Drift detection is enabled Configs and environments are empty Headers are empty
func (*CloudInfoService) CreateDefaultProjectWithConfigs ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateDefaultProjectWithConfigs(name string, description string, resourceGroup string, configs []project.ProjectConfigPrototype) (result *project.Project, response *core.DetailedResponse, err error)
CreateDefaultProjectWithConfigs creates a default project with the given name and description and the given configs name: the name of the project description: the description of the project resourceGroup: the resource group to use configs: the project configs to use Returns an error if one occurs Chooses a random location Delete all resources on delete Drift detection is enabled Headers are empty
func (*CloudInfoService) CreateDefaultProjectWithConfigsFromFile ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateDefaultProjectWithConfigsFromFile(name string, description string, resourceGroup string, configFile string) (result *project.Project, response *core.DetailedResponse, err error)
CreateDefaultProjectWithConfigsFromFile creates a default project with the given name and description and the configs from the given file name: the name of the project description: the description of the project resourceGroup: the resource group to use configFile: the file containing the project configs Returns an error if one occurs Chooses a random location Delete all resources on delete Drift detection is enabled Headers are empty
func (*CloudInfoService) CreateNewStack ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateNewStack(projectID string, stackName string, stackDescription string, stackConfig *project.StackDefinitionBlockPrototype, stackMembers []project.StackConfigMember) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreatePowerSession ¶ added in v1.1.0
func (infoSvc *CloudInfoService) CreatePowerSession(instanceRegion string) (*ibmpisession.IBMPISession, error)
CreatePowercloudSession will return a PowerPI session object that is tailored to a specific cloud account and region/zone
func (*CloudInfoService) CreatePowercloudConnectionClient ¶ added in v1.1.0
func (infoSvc *CloudInfoService) CreatePowercloudConnectionClient(instanceId string, powerSession *ibmpisession.IBMPISession) *ibmpiinstance.IBMPICloudConnectionClient
CreatePowercloudConnectionClient will return a Power PI Connection Client based on an existing session object and a Powercloud instance Id
func (*CloudInfoService) CreateStackFromConfigFile ¶ added in v1.31.0
func (infoSvc *CloudInfoService) CreateStackFromConfigFile(projectID string, stackConfigPath string, catalogJsonPath string) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) CreateStackFromConfigFileWithInputs ¶ added in v1.31.1
func (infoSvc *CloudInfoService) CreateStackFromConfigFileWithInputs(projectID string, stackConfigPath string, catalogJsonPath string, stackInputs map[string]interface{}) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) DeleteIamPolicyByID ¶ added in v1.27.0
func (infoSvc *CloudInfoService) DeleteIamPolicyByID(policyId string) error
DeleteIamPolicyByID will delete an IAM policy by ID
func (*CloudInfoService) DeleteProject ¶ added in v1.31.0
func (infoSvc *CloudInfoService) DeleteProject(projectID string) (result *project.ProjectDeleteResponse, response *core.DetailedResponse, err error)
func (*CloudInfoService) DeployConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) DeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
DeployConfig deploy if not already deployed
func (*CloudInfoService) ForceApproveConfig ¶ added in v1.34.0
func (infoSvc *CloudInfoService) ForceApproveConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
func (*CloudInfoService) ForceDeployConfig ¶ added in v1.34.0
func (infoSvc *CloudInfoService) ForceDeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
ForceDeployConfig force deploy even if already deployed
func (*CloudInfoService) ForceValidateProjectConfig ¶ added in v1.34.0
func (infoSvc *CloudInfoService) ForceValidateProjectConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
func (*CloudInfoService) GetAvailableIcdVersions ¶ added in v1.29.0
func (infoSvc *CloudInfoService) GetAvailableIcdVersions(icdType string) ([]string, error)
GetAvailableIcdVersions will retrieve the available versions of a specified ICD type. icdType is the type of the ICD returns a list of stable versions of a specified ICD type.
func (*CloudInfoService) GetAvailableVpcRegions ¶
func (infoSvc *CloudInfoService) GetAvailableVpcRegions() ([]vpcv1.Region, error)
GetAvailableVpcRegions is a method for receiver CloudInfoService that will query the caller account for all regions that support the VPC resource type and are available in the account. Returns an array of vpcv1.Region and error.
func (*CloudInfoService) GetCBRRuleByID ¶ added in v1.6.0
func (infoSvc *CloudInfoService) GetCBRRuleByID(ruleID string) (*contextbasedrestrictionsv1.Rule, *core.DetailedResponse, error)
GetCBRRuleByID gets a rule by its ID using the Context-based Restrictions service
func (*CloudInfoService) GetCBRZoneByID ¶ added in v1.6.0
func (infoSvc *CloudInfoService) GetCBRZoneByID(zoneID string) (*contextbasedrestrictionsv1.Zone, error)
GetCBRZoneByID gets a zone by its ID using the Context-based Restrictions service
func (*CloudInfoService) GetCatalogVersionByLocator ¶ added in v1.33.0
func (infoSvc *CloudInfoService) GetCatalogVersionByLocator(versionLocator string) (*catalogmanagementv1.Version, error)
GetCatalogVersionByLocator gets a version by its locator using the Catalog Management service
func (*CloudInfoService) GetClusterAdminConfigPath ¶ added in v1.24.0
func (infoSvc *CloudInfoService) GetClusterAdminConfigPath(clusterId string) (string, error)
GetClusterAdminConfigPath retrieves the path to the cluster's Admin configuration file Uses public endpoint, and does not create a Calico configuration file clusterId: the ID or name of the cluster Returns the path to the configuration file
func (*CloudInfoService) GetClusterConfigConfigPath ¶ added in v1.24.0
func (infoSvc *CloudInfoService) GetClusterConfigConfigPath(clusterId string) (string, error)
GetClusterConfigConfigPath retrieves the path to the cluster's Admin configuration file Config for the current API keys user, uses public endpoint, and does not create a Calico configuration file clusterId: the ID or name of the cluster Returns the path to the configuration file
func (*CloudInfoService) GetClusterConfigPath ¶ added in v1.24.0
func (infoSvc *CloudInfoService) GetClusterConfigPath(clusterId string, basePath string, admin bool, createCalicoConfig bool, endpoint string) (string, error)
GetClusterConfigPath retrieves the path to the cluster's configuration file clusterId: the ID or name of the cluster basePath: the base directory path where the config file will be stored admin: whether to retrieve admin config createCalicoConfig: whether to create a Calico configuration file endpoint: the endpoint type to use Returns the path to the configuration file
func (*CloudInfoService) GetClusterConfigPathWithEndpoint ¶ added in v1.24.0
func (infoSvc *CloudInfoService) GetClusterConfigPathWithEndpoint(clusterId string, endpoint string) (string, error)
GetClusterConfigPathWithEndpoint retrieves the path to the cluster's configuration file Config for the current API keys user, and does not create a Calico configuration file clusterId: the ID or name of the cluster endpoint: the endpoint type to use
func (*CloudInfoService) GetClusterIngressStatus ¶ added in v1.38.0
func (infoSvc *CloudInfoService) GetClusterIngressStatus(clusterId string) (string, error)
GetClusterIngressStatus retrieves ingress status of the cluster clusterId: the ID or name of the cluster Returns the ingress status of the cluster
func (*CloudInfoService) GetConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) GetConfig(projectID string, configID string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) GetLeastPowerConnectionZone ¶ added in v1.1.0
func (infoSvc *CloudInfoService) GetLeastPowerConnectionZone() (string, error)
GetLeastPowerConnectionZone is a method for receiver CloudInfoService that will determine a zone (data center) available to the caller account that currently contains the least amount of deployed PowerCloud connections. This determination requires specifying CloudInfoService.regionsData with valid data centers (regions) that are supported by the PowerCloud service. Returns a string representing an IBM Cloud region name, and error.
func (*CloudInfoService) GetLeastVpcTestRegion ¶
func (infoSvc *CloudInfoService) GetLeastVpcTestRegion() (string, error)
GetLeastVpcTestRegion is a method for receiver CloudInfoService that will determine a region available to the caller account that currently contains the least amount of deployed VPCs, using default options. Returns a string representing an IBM Cloud region name, and error.
func (*CloudInfoService) GetLeastVpcTestRegionO ¶ added in v1.2.0
func (infoSvc *CloudInfoService) GetLeastVpcTestRegionO(options GetTestRegionOptions) (string, error)
GetLeastVpcTestRegionO is a method for receiver CloudInfoService that will determine a region available to the caller account that currently contains the least amount of deployed VPCs. The determination can be influenced by specifying CloudInfoService.regionsData and supplying appropriate options. If no CloudInfoService.regionsData exists, it will simply loop through all available regions for the caller account and choose a region with lowest VPC count. Returns a string representing an IBM Cloud region name, and error.
func (*CloudInfoService) GetLeastVpcTestRegionWithoutActivityTracker ¶ added in v1.2.0
func (infoSvc *CloudInfoService) GetLeastVpcTestRegionWithoutActivityTracker() (string, error)
GetLeastVpcTestRegionWithoutActivityTracker is a method for receiver CloudInfoService that will determine a region available to the caller account that currently contains the least amount of deployed VPCs and does not currently contain an active Activity Tracker instance (can only have one per region). Returns a string representing an IBM Cloud region name, and error.
func (*CloudInfoService) GetProject ¶ added in v1.31.0
func (infoSvc *CloudInfoService) GetProject(projectID string) (result *project.Project, response *core.DetailedResponse, err error)
func (*CloudInfoService) GetProjectConfigVersion ¶ added in v1.34.0
func (infoSvc *CloudInfoService) GetProjectConfigVersion(projectID string, configID string, version int64) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
func (*CloudInfoService) GetProjectConfigs ¶ added in v1.31.0
func (infoSvc *CloudInfoService) GetProjectConfigs(projectID string) (results []project.ProjectConfigSummary, err error)
func (*CloudInfoService) GetResourceGroupIDByName ¶ added in v1.28.0
func (infoSvc *CloudInfoService) GetResourceGroupIDByName(resourceGroupName string) (string, error)
GetResourceGroupIDByName will retrieve the resource group ID for a given resource group name resourceGroupName is the name of the resource group returns the resource group ID
func (*CloudInfoService) GetTestRegionsByPriority ¶
func (infoSvc *CloudInfoService) GetTestRegionsByPriority() ([]RegionData, error)
GetTestRegionsByPriority is a method for receiver CloudInfoService that will use the service regionsData to determine a priorty order and region eligibility for test resources to be deployed. The returned array will then be used by various methods to determine best region to use for different test scenarios. Returns an array of RegionData struct, and error.
func (*CloudInfoService) GetThreadLock ¶ added in v1.2.0
func (infoSvc *CloudInfoService) GetThreadLock() *sync.Mutex
func (*CloudInfoService) HasRegionData ¶ added in v1.2.0
func (infoSvc *CloudInfoService) HasRegionData() bool
HasRegionData is a method for receiver CloudInfoService that will respond with a boolean to verify that the service instance has region data loaded. You can use this method to determine if you need to load preference data.
func (*CloudInfoService) IsConfigApproved ¶ added in v1.34.0
func (infoSvc *CloudInfoService) IsConfigApproved(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isApproved bool)
IsConfigApproved checks if the config is approved
func (*CloudInfoService) IsConfigDeployed ¶ added in v1.34.0
func (infoSvc *CloudInfoService) IsConfigDeployed(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isDeployed bool)
IsConfigDeployed checks if the config is deployed
func (*CloudInfoService) IsConfigValidated ¶ added in v1.34.0
func (infoSvc *CloudInfoService) IsConfigValidated(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isValidated bool)
func (*CloudInfoService) IsUndeploying ¶ added in v1.34.0
func (infoSvc *CloudInfoService) IsUndeploying(projectID string, configID string) (projectConfig *project.ProjectConfigVersion, isUndeploying bool)
func (*CloudInfoService) ListPowerConnectionsForAccount ¶ added in v1.1.0
func (infoSvc *CloudInfoService) ListPowerConnectionsForAccount() ([]*PowerCloudConnectionDetail, error)
ListPowercloudConnectionsForAccount will return an array of CloudConnection that contains all unique connections in the current account (current account determined by API Key used)
func (*CloudInfoService) ListPowerWorkspaceConnections ¶ added in v1.1.0
func (infoSvc *CloudInfoService) ListPowerWorkspaceConnections(client ibmPICloudConnectionClient) ([]*ibmpimodels.CloudConnection, error)
ListPowerWorkspaceConnections will return an array of CloudConnection for a given existing connection client NOTE: the client passed into this method is derived from a specific PowerCloud Instance ID and Region/Zone. NOTE 2: the client object parameter is a reference to an interface to allow for unit test mocking
func (*CloudInfoService) ListPowerWorkspaces ¶ added in v1.1.0
func (infoSvc *CloudInfoService) ListPowerWorkspaces() ([]resourcecontrollerv2.ResourceInstance, error)
ListPowerWorkspaces will retrieve all PowerCloud parent instances for an account. There is no API to retrieve all Powercloud instances for an account. This function will loop through ALL resources of type "service_instance" in the account and then filter by looking for "power-iaas" in the CRN.
func (*CloudInfoService) ListResourcesByCrnServiceName ¶ added in v1.2.0
func (infoSvc *CloudInfoService) ListResourcesByCrnServiceName(crnServiceName string) ([]resourcecontrollerv2.ResourceInstance, error)
ListResourcesByCrnServiceName will retrieve all service instances of a provided type, for an account. This function will loop through ALL resources of type "service_instance" in the account and then filter by looking for the provided service type in the CRN.
func (*CloudInfoService) ListResourcesByGroupID ¶ added in v1.28.0
func (infoSvc *CloudInfoService) ListResourcesByGroupID(resourceGroupId string) ([]resourcecontrollerv2.ResourceInstance, error)
ListResourcesByGroupID will retrieve all service instances in a resource group.
func (*CloudInfoService) ListResourcesByGroupName ¶ added in v1.28.0
func (infoSvc *CloudInfoService) ListResourcesByGroupName(resourceGroupName string) ([]resourcecontrollerv2.ResourceInstance, error)
ListResourcesByGroupName will retrieve all service instances in a resource group.
func (*CloudInfoService) LoadRegionPrefsFromFile ¶
func (infoSvc *CloudInfoService) LoadRegionPrefsFromFile(filePath string) error
LoadRegionPrefsFromFile is a method for receiver CloudInfoService that will populate the CloudInfoService.regionsData by reading a file in the YAML format. Returns error.
func (*CloudInfoService) LoadRegionsFromVpcAccount ¶
func (infoSvc *CloudInfoService) LoadRegionsFromVpcAccount() error
LoadRegionsFromVpcAccount is a method for receiver CloudInfoService that will populate the CloudInfoService.regionsData by using an API call to retrieve all available regions for the caller account, and assuming all are for test use and same priority. Returns error.
func (*CloudInfoService) RemoveRegionForTest ¶ added in v1.2.0
func (infoSvc *CloudInfoService) RemoveRegionForTest(regionID string)
RemoveRegionForTest is a method for receiver CloudInfoService that will remove a given region for use in test considerations by setting the UseForTest property for the region to false
func (*CloudInfoService) ReplaceCBRRule ¶ added in v1.22.0
func (infoSvc *CloudInfoService) ReplaceCBRRule(updatedExistingRule *contextbasedrestrictionsv1.Rule, eTag *string) (*contextbasedrestrictionsv1.Rule, *core.DetailedResponse, error)
ReplaceCBRRule replaces a CBR rule using the provided options. updatedExistingRule is the rule to be replaced with the changes already made. eTag is the eTag of the existing rule that is being replaced.
func (*CloudInfoService) SetCBREnforcementMode ¶ added in v1.22.0
func (infoSvc *CloudInfoService) SetCBREnforcementMode(ruleID string, mode string) error
SetCBREnforcementMode sets the enforcement mode of a rule using the Context-based Restrictions service
func (*CloudInfoService) UndeployConfig ¶ added in v1.34.0
func (infoSvc *CloudInfoService) UndeployConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
func (*CloudInfoService) UpdateConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) UpdateConfig(projectID string, configID string, configuration project.ProjectConfigDefinitionPatchIntf) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) UpdateConfigWithHeaders ¶ added in v1.31.0
func (infoSvc *CloudInfoService) UpdateConfigWithHeaders(projectID string, configID string, configuration project.ProjectConfigDefinitionPatchIntf, headers map[string]string) (result *project.ProjectConfig, response *core.DetailedResponse, err error)
func (*CloudInfoService) UpdateStackFromConfig ¶ added in v1.31.0
func (infoSvc *CloudInfoService) UpdateStackFromConfig(projectID string, configID string, stackConfig *project.StackDefinitionBlockPrototype) (result *project.StackDefinition, response *core.DetailedResponse, err error)
func (*CloudInfoService) ValidateProjectConfig ¶ added in v1.34.0
func (infoSvc *CloudInfoService) ValidateProjectConfig(projectID string, configID string) (result *project.ProjectConfigVersion, response *core.DetailedResponse, err error)
type CloudInfoServiceI ¶ added in v1.4.0
type CloudInfoServiceI interface { GetLeastVpcTestRegion() (string, error) GetLeastVpcTestRegionWithoutActivityTracker() (string, error) GetLeastPowerConnectionZone() (string, error) LoadRegionPrefsFromFile(string) error HasRegionData() bool RemoveRegionForTest(string) GetThreadLock() *sync.Mutex GetCatalogVersionByLocator(string) (*catalogmanagementv1.Version, error) CreateDefaultProject(string, string, string) (*projects.Project, *core.DetailedResponse, error) GetProject(projectID string) (*projects.Project, *core.DetailedResponse, error) GetProjectConfigs(projectID string) ([]projects.ProjectConfigSummary, error) GetConfig(projectID string, configID string) (result *projects.ProjectConfig, response *core.DetailedResponse, err error) DeleteProject(projectID string) (*projects.ProjectDeleteResponse, *core.DetailedResponse, error) CreateConfig(projectID string, name string, description string, stackLocatorID string) (result *projects.ProjectConfig, response *core.DetailedResponse, err error) CreateDaConfig(projectID string, locatorID string, name string, description string, authorizations projects.ProjectConfigAuth, inputs map[string]interface{}, settings map[string]interface{}) (result *projects.ProjectConfig, response *core.DetailedResponse, err error) CreateConfigFromCatalogJson(projectID string, catalogJsonPath string, stackLocatorID string) (result *projects.ProjectConfig, response *core.DetailedResponse, err error) UpdateConfig(projectID string, configID string, configuration projects.ProjectConfigDefinitionPatchIntf) (result *projects.ProjectConfig, response *core.DetailedResponse, err error) ApproveConfig(projectID string, configID string) (result *projects.ProjectConfigVersion, response *core.DetailedResponse, err error) IsConfigApproved(projectID string, configID string) (projectConfig *projects.ProjectConfigVersion, isApproved bool) ValidateProjectConfig(projectID string, configID string) (result *projects.ProjectConfigVersion, response *core.DetailedResponse, err error) IsConfigValidated(projectID string, configID string) (projectConfig *projects.ProjectConfigVersion, isValidated bool) DeployConfig(projectID string, configID string) (result *projects.ProjectConfigVersion, response *core.DetailedResponse, err error) IsConfigDeployed(projectID string, configID string) (projectConfig *projects.ProjectConfigVersion, isDeployed bool) UndeployConfig(projectID string, configID string) (result *projects.ProjectConfigVersion, response *core.DetailedResponse, err error) IsUndeploying(projectID string, configID string) (projectConfig *projects.ProjectConfigVersion, isUndeploying bool) CreateStackFromConfigFileWithInputs(projectID string, stackConfigPath string, catalogJsonPath string, stackInputs map[string]interface{}) (result *projects.StackDefinition, response *core.DetailedResponse, err error) GetProjectConfigVersion(projectID string, configID string, version int64) (result *projects.ProjectConfigVersion, response *core.DetailedResponse, err error) GetClusterIngressStatus(clusterId string) (string, error) }
interface for the cloudinfo service (can be mocked in tests)
type CloudInfoServiceOptions ¶
type CloudInfoServiceOptions struct { ApiKey string Authenticator *core.IamAuthenticator VpcService vpcService ResourceControllerService resourceControllerService ResourceManagerService resourceManagerService IamIdentityService iamIdentityService IamPolicyService iamPolicyService CbrService cbrService ContainerClient containerClient RegionPrefs []RegionData IcdService icdService ProjectsService projectsService CatalogService catalogService }
CloudInfoServiceOptions structure used as input params for service constructor.
type GetTestRegionOptions ¶ added in v1.2.0
type GetTestRegionOptions struct { // exclude a region if it contains an Activity Tracker ExcludeActivityTrackerRegions bool }
func NewGetTestRegionOptions ¶ added in v1.2.0
func NewGetTestRegionOptions() *GetTestRegionOptions
NewGetTestRegionOptions will return the option struct with defaults
type PowerCloudConnectionDetail ¶ added in v1.1.0
type PowerCloudConnectionDetail struct { *ibmpimodels.CloudConnection Zone *string }
extend the CloudConnection struct to add zone (region or datacenter)
type RegionData ¶
type RegionData struct { Name string UseForTest bool `yaml:"useForTest"` TestPriority int `yaml:"testPriority"` Endpoint string Status string ResourceCount int }
RegionData is a data structure used for holding configurable information about a region. Most of this data is configured by the caller in order to affect certain processing routines.
type SortedRegionsDataByPriority ¶
type SortedRegionsDataByPriority []RegionData
SortedRegionsDataByPriority is an array of RegionData struct that is used as a receiver to implement the sort interface (Len/Less/Swap) with supplied methods to sort the array on the field RegionData.TestPriority.
func (SortedRegionsDataByPriority) Len ¶
func (regions SortedRegionsDataByPriority) Len() int
func (SortedRegionsDataByPriority) Less ¶
func (regions SortedRegionsDataByPriority) Less(i, j int) bool
func (SortedRegionsDataByPriority) Swap ¶
func (regions SortedRegionsDataByPriority) Swap(i, j int)
type Stack ¶ added in v1.31.0
type Stack struct { Inputs []struct { Name string `json:"name"` Description string `json:"description"` Required bool `json:"required"` Type string `json:"type"` Hidden bool `json:"hidden"` Default interface{} `json:"default"` } `json:"inputs"` Members []struct { Inputs []struct { Name string `json:"name"` Value interface{} `json:"value"` } `json:"inputs"` Name string `json:"name"` VersionLocator string `json:"version_locator"` } `json:"members"` }