cbclient

package module
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2025 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ADPolicy added in v1.1.0

type ADPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"microsoftEndpoint"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type ADPolicyResult added in v1.1.0

type ADPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		ADPolicies []ADPolicy `json:"microsoftADPolicies"`
	} `json:"_embedded"`
}

type AnsibleTowerDeployment added in v1.1.0

type AnsibleTowerDeployment struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                     int      `json:"id,omitempty"`
	PolicyID               int      `json:"policyId,omitempty"`
	Policy                 string   `json:"policy,omitempty"`
	WorkspaceURL           string   `json:"workspace,omitempty"`
	Limit                  string   `json:"limit,omitempty"`
	InventoryName          string   `json:"inventoryName,omitempty"`
	Hosts                  []string `json:"hosts,omitempty"`
	Archived               bool     `json:"archived,omitempty"`
	ProvisioningJobResults []struct {
		Output          string `json:"output"`
		Status          string `json:"status"`
		JobTemplateName string `json:"jobTemplateName"`
	} `json:"provisioningJobResults,omitempty"`
	DeprovisioningJobResults *struct {
		Output          string `json:"output"`
		Status          string `json:"status"`
		JobTemplateName string `json:"jobTemplateName"`
	} `json:"deprovisioningJobResults,omitempty"`
	TemplateProperties map[string]interface{} `json:"templateProperties"`
}

type AnsibleTowerPolicy added in v1.1.0

type AnsibleTowerPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"endpoint,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type AnsibleTowerPolicyResult added in v1.1.0

type AnsibleTowerPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		AnsibleTowerPolicies []AnsibleTowerPolicy `json:"ansibleTowerPolicies"`
	} `json:"_embedded"`
}

type CloudBoltBlueprintResult added in v1.0.0

type CloudBoltBlueprintResult struct {
	CloudBoltResult
	Embedded struct {
		Blueprints []CloudBoltReferenceFields `json:"blueprints"`
	} `json:"_embedded"`
}

type CloudBoltClient

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

CloudBoltClient stores the important metadata necessary to make API requests. - BaseURL follows the pattern "https://cloudbolt.myco.ext:443/". - HTTPClient is a client used to make the API calls. - Token is retrieved in `New` and is included in the Bearer Token of request headers.

func New

func New(protocol string, host string, port string, username string, password string, domain string, httpClient *http.Client) *CloudBoltClient

New returns an initialized CloudBoltClient object. Accepts as input: - HTTP Protocol (protocol) e.g., "https" - HTTP Host (host) e.g., "cloudbolt.intranet" - HTTP Port (port) e.g., "443" - Username (username) e.g., "myUserName" - Password (password) e.g., "My Passphrase!" - Domain (domain) e.g., "mydomain.com" - User-provided *HTTPClient (httpClient); provide `nil` to get a server with the following defaults:

  • Timeout set to 60 seconds Provide a custom http.Client if you require unique certificate, timeout, etc., configured.

New does not make any API calls. CloudBoltClient.Authenticate must be called to initialize CloudBoltClient.token. This is done automatically when a request receives an HTTP Authorization error.

func (*CloudBoltClient) Authenticate

func (c *CloudBoltClient) Authenticate() (int, error)

Authenticate forces the CloudBoltClient to re-authenticate Returns an error if there is an HTTP error, or if the HTTP Status Code is >=400

func (*CloudBoltClient) CreateAnsibleTowerDeployment added in v1.1.0

func (c *CloudBoltClient) CreateAnsibleTowerDeployment(ansibleTowerDeployment *AnsibleTowerDeployment) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateDNSReservation added in v1.1.0

func (c *CloudBoltClient) CreateDNSReservation(dnsRecord *DNSReservation) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateIPAMReservation added in v1.1.0

func (c *CloudBoltClient) CreateIPAMReservation(ipamRecord *IPAMReservation) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateMicrosoftADComputerAccount added in v1.1.0

func (c *CloudBoltClient) CreateMicrosoftADComputerAccount(computerAccount *MicrosoftADComputerAccount) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateMicrosoftADPolicy added in v1.1.0

func (c *CloudBoltClient) CreateMicrosoftADPolicy(newPolicy *MicrosoftADPolicy) (*MicrosoftADPolicy, error)

func (*CloudBoltClient) CreateModuleDeployment added in v1.1.0

func (c *CloudBoltClient) CreateModuleDeployment(moduleDeployment *ModuleDeployment) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateScriptingDeployment added in v1.1.0

func (c *CloudBoltClient) CreateScriptingDeployment(scriptionDeployment *ScriptingDeployment) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateServicenowCMDBDeployment added in v1.1.0

func (c *CloudBoltClient) CreateServicenowCMDBDeployment(snowDeployment *ServicenowCMDBDeployment) (*OneFuseJobStatus, error)

func (*CloudBoltClient) CreateVraDeployment added in v1.1.0

func (c *CloudBoltClient) CreateVraDeployment(vraDeployment *VraDeployment) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DecomServer added in v1.0.0

func (c *CloudBoltClient) DecomServer(serverId string) (*CloudBoltDecomServerResult, error)

func (*CloudBoltClient) DeleteAnsibleTowerDeployment added in v1.1.0

func (c *CloudBoltClient) DeleteAnsibleTowerDeployment(ansibleDeploymentId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteCustomName added in v1.1.0

func (c *CloudBoltClient) DeleteCustomName(customNameId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteDNSReservation added in v1.1.0

func (c *CloudBoltClient) DeleteDNSReservation(dnsReservationId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteIPAMReservation added in v1.1.0

func (c *CloudBoltClient) DeleteIPAMReservation(ipamReservationId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteMicrosoftADComputerAccount added in v1.1.0

func (c *CloudBoltClient) DeleteMicrosoftADComputerAccount(computerAccountId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteMicrosoftADPolicy added in v1.1.0

func (c *CloudBoltClient) DeleteMicrosoftADPolicy(policyId string) error

func (*CloudBoltClient) DeleteModuleDeployment added in v1.1.0

func (c *CloudBoltClient) DeleteModuleDeployment(moduleDeploymentId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteScriptingDeployment added in v1.1.0

func (c *CloudBoltClient) DeleteScriptingDeployment(scriptingDeploymentId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteServicenowCMDBDeployment added in v1.1.0

func (c *CloudBoltClient) DeleteServicenowCMDBDeployment(snowDeploymentId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeleteVraDeployment added in v1.1.0

func (c *CloudBoltClient) DeleteVraDeployment(vraDeploymentId string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) DeployBlueprint

func (c *CloudBoltClient) DeployBlueprint(grpPath string, blueprintID string, resourceName string, bpParams map[string]interface{}, bpItems []map[string]interface{}) (*CloudBoltOrder, error)

func (*CloudBoltClient) GenerateCustomName added in v1.1.0

func (c *CloudBoltClient) GenerateCustomName(namingPolicyID string, workspaceID string, templateProperties map[string]interface{}) (*OneFuseJobStatus, error)

func (*CloudBoltClient) GetADPolicy added in v1.1.0

func (c *CloudBoltClient) GetADPolicy(name string) (*ADPolicy, error)

func (*CloudBoltClient) GetAnsibleTowerDeployment added in v1.1.0

func (c *CloudBoltClient) GetAnsibleTowerDeployment(ansibleDeploymentPath string) (*AnsibleTowerDeployment, error)

func (*CloudBoltClient) GetAnsibleTowerDeploymentById added in v1.1.0

func (c *CloudBoltClient) GetAnsibleTowerDeploymentById(ansibleDeploymentId string) (*AnsibleTowerDeployment, error)

func (*CloudBoltClient) GetAnsibleTowerPolicy added in v1.1.0

func (c *CloudBoltClient) GetAnsibleTowerPolicy(name string) (*AnsibleTowerPolicy, error)

func (*CloudBoltClient) GetBlueprint added in v1.0.0

func (c *CloudBoltClient) GetBlueprint(name string) (*CloudBoltReferenceFields, error)

GetBlueprint accepts the name of a Blueprint

func (*CloudBoltClient) GetBlueprintById added in v1.0.0

func (c *CloudBoltClient) GetBlueprintById(id string) (*CloudBoltReferenceFields, error)

func (*CloudBoltClient) GetCustomName added in v1.1.0

func (c *CloudBoltClient) GetCustomName(customNamePath string) (*CustomName, error)

func (*CloudBoltClient) GetCustomNameById added in v1.1.0

func (c *CloudBoltClient) GetCustomNameById(customNameId string) (*CustomName, error)

func (*CloudBoltClient) GetDNSPolicy added in v1.1.0

func (c *CloudBoltClient) GetDNSPolicy(name string) (*DNSPolicy, error)

func (*CloudBoltClient) GetDNSReservation added in v1.1.0

func (c *CloudBoltClient) GetDNSReservation(dnsReservationPath string) (*DNSReservation, error)

func (*CloudBoltClient) GetDNSReservationById added in v1.1.0

func (c *CloudBoltClient) GetDNSReservationById(dnsReservationId string) (*DNSReservation, error)

func (*CloudBoltClient) GetDefaultWorkSpace added in v1.1.0

func (c *CloudBoltClient) GetDefaultWorkSpace() (*Workspace, error)

func (*CloudBoltClient) GetEnvironment added in v1.0.0

func (c *CloudBoltClient) GetEnvironment(name string) (*CloudBoltReferenceFields, error)

GetEnvironment accepts the name of a Environment

func (*CloudBoltClient) GetEnvironmentById added in v1.0.0

func (c *CloudBoltClient) GetEnvironmentById(id string) (*CloudBoltReferenceFields, error)

func (*CloudBoltClient) GetGroup

func (c *CloudBoltClient) GetGroup(groupPath string) (*CloudBoltGroup, error)

GetGroup accepts a groupPath string parameter of the following format: "/my parent group/some subgroup/a child group/" or just "my parent group"

verifyGroup recursively verifies that this is a valid group/subgroup.

func (*CloudBoltClient) GetGroupById added in v1.0.0

func (c *CloudBoltClient) GetGroupById(id string) (*CloudBoltGroup, error)

func (*CloudBoltClient) GetIPAMPolicy added in v1.1.0

func (c *CloudBoltClient) GetIPAMPolicy(name string) (*IPAMPolicy, error)

func (*CloudBoltClient) GetIPAMReservation added in v1.1.0

func (c *CloudBoltClient) GetIPAMReservation(ipamReservationPath string) (*IPAMReservation, error)

func (*CloudBoltClient) GetIPAMReservationById added in v1.1.0

func (c *CloudBoltClient) GetIPAMReservationById(ipamReservationId string) (*IPAMReservation, error)

func (*CloudBoltClient) GetJob

func (c *CloudBoltClient) GetJob(jobPath string) (*CloudBoltJob, error)

GetJob fetches the Job object from CloudBolt at the given path - Job Path (jobPath) e.g., "/api/v2/jobs/123/"

func (*CloudBoltClient) GetJobStatus added in v1.1.0

func (c *CloudBoltClient) GetJobStatus(jobStatusPath string) (*OneFuseJobStatus, error)

func (*CloudBoltClient) GetMicrosoftADComputerAccount added in v1.1.0

func (c *CloudBoltClient) GetMicrosoftADComputerAccount(computerAccountPath string) (*MicrosoftADComputerAccount, error)

func (*CloudBoltClient) GetMicrosoftADComputerAccountById added in v1.1.0

func (c *CloudBoltClient) GetMicrosoftADComputerAccountById(computerAccountId string) (*MicrosoftADComputerAccount, error)

func (*CloudBoltClient) GetMicrosoftADPolicyByID added in v1.1.0

func (c *CloudBoltClient) GetMicrosoftADPolicyByID(policyId string) (*MicrosoftADPolicy, error)

func (*CloudBoltClient) GetMicrosoftEndpoint added in v1.1.0

func (c *CloudBoltClient) GetMicrosoftEndpoint(name string) (*MicrosoftEndpoint, error)

func (*CloudBoltClient) GetModuleDeployment added in v1.1.0

func (c *CloudBoltClient) GetModuleDeployment(moduleDeploymentPath string) (*ModuleDeployment, error)

func (*CloudBoltClient) GetModuleDeploymentById added in v1.1.0

func (c *CloudBoltClient) GetModuleDeploymentById(moduleDeploymentId string) (*ModuleDeployment, error)

func (*CloudBoltClient) GetModulePolicy added in v1.1.0

func (c *CloudBoltClient) GetModulePolicy(name string) (*ModulePolicy, error)

func (*CloudBoltClient) GetNamingPolicy added in v1.1.0

func (c *CloudBoltClient) GetNamingPolicy(name string) (*NamingPolicy, error)

func (*CloudBoltClient) GetOSBuild added in v1.0.0

func (c *CloudBoltClient) GetOSBuild(name string) (*CloudBoltReferenceFields, error)

GetOSBuild accepts the name of a OSBuild

func (*CloudBoltClient) GetOSBuildById added in v1.0.0

func (c *CloudBoltClient) GetOSBuildById(id string) (*CloudBoltReferenceFields, error)

func (*CloudBoltClient) GetOrder

func (c *CloudBoltClient) GetOrder(orderID string) (*CloudBoltOrder, error)

GetOrder fetches an Order from CloudBolt - Order ID (orderID) e.g., "123"; formatted into a string like "/api/v2/orders/123"

func (*CloudBoltClient) GetResource

func (c *CloudBoltClient) GetResource(resourcePath string) (*CloudBoltResource, error)

GetResource fetches a Resource object from CloudBolt at the given path - Resource Path (resourcePath) e.g., "/api/v2/resources/service/123/"

func (*CloudBoltClient) GetResourceById added in v1.1.0

func (c *CloudBoltClient) GetResourceById(id string) (*CloudBoltResource, error)

func (*CloudBoltClient) GetResourceByName added in v1.1.0

func (c *CloudBoltClient) GetResourceByName(name string) (*CloudBoltResource, error)

func (*CloudBoltClient) GetResourceHandler added in v1.0.1

func (c *CloudBoltClient) GetResourceHandler(name string) (*CloudBoltReferenceFields, error)

GetResourceHandler accepts the name of a Resource Handler

func (*CloudBoltClient) GetResourceHandlerById added in v1.0.1

func (c *CloudBoltClient) GetResourceHandlerById(id string) (*CloudBoltReferenceFields, error)

func (*CloudBoltClient) GetScriptingDeployment added in v1.1.0

func (c *CloudBoltClient) GetScriptingDeployment(scriptingDeploymentPath string) (*ScriptingDeployment, error)

func (*CloudBoltClient) GetScriptingDeploymentById added in v1.1.0

func (c *CloudBoltClient) GetScriptingDeploymentById(scriptingDeploymentId string) (*ScriptingDeployment, error)

func (*CloudBoltClient) GetScriptingPolicy added in v1.1.0

func (c *CloudBoltClient) GetScriptingPolicy(name string) (*ScriptingPolicy, error)

func (*CloudBoltClient) GetServer

func (c *CloudBoltClient) GetServer(serverPath string) (*CloudBoltServer, error)

GetServer fetches a Server object from CloudBolt at the given path - Server Path (serverPath) e.g., "/api/v2/servers/123/"

func (*CloudBoltClient) GetServerByHostname added in v1.1.0

func (c *CloudBoltClient) GetServerByHostname(hostname string) (*CloudBoltServer, error)

func (*CloudBoltClient) GetServerById added in v1.0.0

func (c *CloudBoltClient) GetServerById(id string) (*CloudBoltServer, error)

func (*CloudBoltClient) GetServiceNowCMDBPolicy added in v1.1.0

func (c *CloudBoltClient) GetServiceNowCMDBPolicy(name string) (*ServiceNowCMDBPolicy, error)

func (*CloudBoltClient) GetServicenowCMDBDeployment added in v1.1.0

func (c *CloudBoltClient) GetServicenowCMDBDeployment(snowDeploymentPath string) (*ServicenowCMDBDeployment, error)

func (*CloudBoltClient) GetServicenowCMDBDeploymentById added in v1.1.0

func (c *CloudBoltClient) GetServicenowCMDBDeploymentById(snowDeploymentId string) (*ServicenowCMDBDeployment, error)

func (*CloudBoltClient) GetStaticPropertySet added in v1.1.0

func (c *CloudBoltClient) GetStaticPropertySet(name string) (*StaticPropertySet, error)

func (*CloudBoltClient) GetVraDeployment added in v1.1.0

func (c *CloudBoltClient) GetVraDeployment(vraDeploymentPath string) (*VraDeployment, error)

func (*CloudBoltClient) GetVraDeploymentById added in v1.1.0

func (c *CloudBoltClient) GetVraDeploymentById(vraDeploymentId string) (*VraDeployment, error)

func (*CloudBoltClient) GetVraPolicy added in v1.1.0

func (c *CloudBoltClient) GetVraPolicy(name string) (*VraPolicy, error)

func (*CloudBoltClient) GetWorkSpace added in v1.1.0

func (c *CloudBoltClient) GetWorkSpace(name string) (*Workspace, error)

func (*CloudBoltClient) RenderTemplate added in v1.1.0

func (c *CloudBoltClient) RenderTemplate(template string, templateProperties map[string]interface{}) (*RenderTemplateResponse, error)

func (*CloudBoltClient) SubmitAction

func (c *CloudBoltClient) SubmitAction(actionPath string, resourcePath string, parameters map[string]interface{}) (*CloudBoltRunActionResult, error)

SubmitAction runs an action on the CloudBolt resource or server

func (*CloudBoltClient) UpdateMicrosoftADPolicy added in v1.1.0

func (c *CloudBoltClient) UpdateMicrosoftADPolicy(policyId string, updatedPolicy *MicrosoftADPolicy) (*MicrosoftADPolicy, error)

type CloudBoltDecomServerResult added in v1.0.0

type CloudBoltDecomServerResult struct {
	Links struct {
		Self CloudBoltHALItem `json:"self"`
	} `json:"_links"`
	ID string `json:"id"`
}

type CloudBoltEnvironmentResult added in v1.0.0

type CloudBoltEnvironmentResult struct {
	CloudBoltResult
	Embedded struct {
		Environments []CloudBoltReferenceFields `json:"environments"`
	} `json:"_embedded"`
}

type CloudBoltGroup

type CloudBoltGroup struct {
	CloudBoltReferenceFields
	Parent CloudBoltHALItem `json:"parent"`
}

type CloudBoltGroupResult added in v1.0.0

type CloudBoltGroupResult struct {
	CloudBoltResult
	Embedded struct {
		Groups []CloudBoltGroup `json:"groups"`
	} `json:"_embedded"`
}

type CloudBoltHALItem

type CloudBoltHALItem struct {
	Href  string `json:"href"`
	Title string `json:"title"`
}

CloudBoltHALItem stores an object's title and API endpoint. This is a common pattern in the CloudBolt API, so it gets used a lot.

type CloudBoltJob

type CloudBoltJob struct {
	Links struct {
		Self          CloudBoltHALItem   `json:"self"`
		Owner         CloudBoltHALItem   `json:"owner"`
		Parent        CloudBoltHALItem   `json:"parent"`
		Subjobs       []CloudBoltHALItem `json:"subjobs"`
		Prerequisite  CloudBoltHALItem   `json:"prerequisite"`
		DependentJobs []CloudBoltHALItem `json:"dependent-jobs"`
		Order         CloudBoltHALItem   `json:"order"`
		Resource      CloudBoltHALItem   `json:"resource"`
		Servers       []CloudBoltHALItem `json:"servers"`
	} `json:"_links"`
	ID             string `json:"id"`
	Type           string `json:"type"`
	Status         string `json:"status"`
	WorkerPid      int    `json:"workerPid"`
	WorkerHostname string `json:"workerHostname"`
	CanBeRequeued  bool   `json:"canBeRequeued"`
	CreatedDate    string `json:"createdDate"`
	UpdatedDate    string `json:"updatedDate"`
	StartDate      string `json:"startDate"`
	EndDate        string `json:"endDate"`
	Output         string `json:"output"`
	Errors         string `json:"errors"`
	TasksDone      int    `json:"tasksDone"`
	TotalTasks     int    `json:"totalTasks"`
	Label          string `json:"label"`
	ExecutionState string `json:"executionState"`
}

CloudBoltJob contains metadata about a Job. Useful for getting the status of a running or completed job.

type CloudBoltOSBuildResult added in v1.0.0

type CloudBoltOSBuildResult struct {
	CloudBoltResult
	Embedded struct {
		OSBuilds []CloudBoltReferenceFields `json:"osBuilds"`
	} `json:"_embedded"`
}

type CloudBoltOrder

type CloudBoltOrder struct {
	Links struct {
		Self       CloudBoltHALItem   `json:"self"`
		Group      CloudBoltHALItem   `json:"group"`
		Owner      CloudBoltHALItem   `json:"owner"`
		ApprovedBy CloudBoltHALItem   `json:"approvedBy"`
		Jobs       []CloudBoltHALItem `json:"jobs"`
		Duplicate  CloudBoltHALItem   `json:"duplicate"`
	} `json:"_links"`
	Name            string `json:"name"`
	ID              string `json:"id"`
	Status          string `json:"status"`
	Rate            string `json:"rate"`
	CreateDate      string `json:"createDate"`
	ApproveDate     string `json:"approveDate"`
	DeploymentItems []struct {
		ID                 string                 `json:"id"`
		ResourceName       string                 `json:"resourceName"`
		ResourceParameters map[string]interface{} `json:"resourceParameters"`
		Blueprint          struct {
			Href  string `json:"href"`
			Title string `json:"title"`
		} `json:"blueprint"`
		BlueprintItemsArguments map[string]interface{} `json:"blueprintItemsArguments"`
		ItemType                string                 `json:"itemType"`
	} `json:"deploymentItems"`
}

type CloudBoltReferenceFields added in v1.0.0

type CloudBoltReferenceFields struct {
	Links struct {
		Self struct {
			Href  string `json:"href"`
			Title string `json:"title"`
		} `json:"self"`
	} `json:"_links"`
	Name string `json:"name"`
	ID   string `json:"id"`
}

type CloudBoltResource

type CloudBoltResource struct {
	Links struct {
		Self           CloudBoltHALItem   `json:"self"`
		ResourceType   CloudBoltHALItem   `json:"resourceType"`
		Blueprint      CloudBoltHALItem   `json:"blueprint"`
		Owner          CloudBoltHALItem   `json:"owner"`
		Group          CloudBoltHALItem   `json:"group"`
		Jobs           []CloudBoltHALItem `json:"jobs"`
		ParentResource CloudBoltHALItem   `json:"parentResource"`
		Servers        []CloudBoltHALItem `json:"servers"`
		Actions        []CloudBoltHALItem `json:"actions"`
	} `json:"_links"`
	Name       string                   `json:"name"`
	ID         string                   `json:"id"`
	Created    string                   `json:"created"`
	Status     string                   `json:"status"`
	Attributes []map[string]interface{} `json:"attributes"`
}

CloudBoltResource contains metadata about Resources (e.g., "Services") in CloudBolt

type CloudBoltResourceHandlerResult added in v1.0.1

type CloudBoltResourceHandlerResult struct {
	CloudBoltResult
	Embedded struct {
		ResourceHandlers []CloudBoltReferenceFields `json:"resourceHandlers"`
	} `json:"_embedded"`
}

type CloudBoltResourceResult added in v1.1.0

type CloudBoltResourceResult struct {
	CloudBoltResult
	Embedded struct {
		Resources []CloudBoltResource `json:"resources"`
	} `json:"_embedded"`
}

type CloudBoltResult

type CloudBoltResult struct {
	Links struct {
		Self CloudBoltHALItem `json:"self"`
	} `json:"_links"`
	Total int `json:"total"`
	Count int `json:"count"`
}

CloudBoltResult stores the response of paginated calls like `/api/v2/blueprints/` These include a link to the page and an `embedded` list of response objects.

type CloudBoltRunActionResult added in v1.1.1

type CloudBoltRunActionResult struct {
	ResourceHref string `json:"resource"`
	Results      struct {
		Job           CloudBoltJob   `json:"job"`
		Order         CloudBoltOrder `json:"order"`
		Status        string         `json:"status"`
		OutputMessage string         `json:"outputMessage"`
		ErrorMessage  string         `json:"errorMessage"`
	} `json:"results"`
}

type CloudBoltServer

type CloudBoltServer struct {
	Links struct {
		Self            CloudBoltHALItem         `json:"self"`
		Owner           CloudBoltHALItem         `json:"owner"`
		Group           CloudBoltHALItem         `json:"group"`
		Environment     CloudBoltHALItem         `json:"environment"`
		ResourceHandler CloudBoltHALItem         `json:"resource-handler"`
		Actions         []map[string]interface{} `json:"actions"`
		ProvisionJob    CloudBoltHALItem         `json:"provision-job"`
		OsBuild         CloudBoltHALItem         `json:"os-build"`
		Jobs            CloudBoltHALItem         `json:"jobs"`
		History         CloudBoltHALItem         `json:"history"`
	} `json:"_links"`
	ID                   string        `json:"id"`
	Hostname             string        `json:"hostname"`
	PowerStatus          string        `json:"powerStatus"`
	Status               string        `json:"status"`
	IP                   string        `json:"ipAddress"`
	Mac                  string        `json:"mac"`
	DateAddedToCloudbolt string        `json:"dateAddedToCloudBolt"`
	CPUCount             int           `json:"cpuCount"`
	MemorySizeGB         string        `json:"memorySizeGb"`
	DiskSizeGB           int           `json:"diskSizeGB"`
	OsFamily             string        `json:"osFamily"`
	Notes                string        `json:"notes"`
	Labels               []interface{} `json:"labels"`
	Credentials          struct {
		Username string `json:"username"`
		Password string `json:"password"`
		Key      string `json:"key"`
	} `json:"credentials"`
	RateBreakdown          map[string]interface{}   `json:"rateBreakdown"`
	Disks                  []map[string]interface{} `json:"disks"`
	Snapshots              []map[string]interface{} `json:"snapshots"`
	Networks               []map[string]interface{} `json:"networks"`
	Attributes             []map[string]interface{} `json:"attributes"`
	TechSpecificAttributes map[string]interface{}   `json:"techSpecificAttributes"`
}

CloudBoltServer stores metadata about servers in CloudBolt.

type CloudBoltServerResult added in v1.1.0

type CloudBoltServerResult struct {
	CloudBoltResult
	Embedded struct {
		Servers []CloudBoltServer `json:"servers"`
	} `json:"_embedded"`
}

type CustomName added in v1.1.0

type CustomName struct {
	Id        int
	Name      string
	DnsSuffix string
}

type DNSPolicy added in v1.1.0

type DNSPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"endpoint,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type DNSPolicyResult added in v1.1.0

type DNSPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		DNSPolicies []DNSPolicy `json:"dnsPolicies"`
	} `json:"_embedded"`
}

type DNSReservation added in v1.1.0

type DNSReservation struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                 int                    `json:"id,omitempty"`
	Name               string                 `json:"name,omitempty"`
	PolicyID           int                    `json:"policyId,omitempty"`
	Policy             string                 `json:"policy,omitempty"`
	WorkspaceURL       string                 `json:"workspace,omitempty"`
	Value              string                 `json:"value,omitempty"`
	Zones              []string               `json:"zones,omitempty"`
	TemplateProperties map[string]interface{} `json:"templateProperties"`
}

type EndpointsListResult added in v1.1.0

type EndpointsListResult struct {
	CloudBoltResult
	Embedded struct {
		Endpoints []MicrosoftEndpoint `json:"endpoints"` // TODO: Generalize to Endpoints
	} `json:"_embedded"`
}

type IPAMPolicy added in v1.1.0

type IPAMPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"endpoint,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type IPAMPolicyResult added in v1.1.0

type IPAMPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		IPAMPolicies []IPAMPolicy `json:"ipamPolicies"`
	} `json:"_embedded"`
}

type IPAMReservation added in v1.1.0

type IPAMReservation struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                 int                    `json:"id,omitempty"`
	Hostname           string                 `json:"hostname,omitempty"`
	PolicyID           int                    `json:"policyId,omitempty"`
	Policy             string                 `json:"policy,omitempty"`
	WorkspaceURL       string                 `json:"workspace,omitempty"`
	IPaddress          string                 `json:"ipAddress,omitempty"`
	Gateway            string                 `json:"gateway,omitempty"`
	PrimaryDNS         string                 `json:"primaryDns"`
	SecondaryDNS       string                 `json:"secondaryDns"`
	Network            string                 `json:"network,omitempty"`
	Subnet             string                 `json:"subnet,omitempty"`
	DNSSuffix          string                 `json:"dnsSuffix,omitempty"`
	Netmask            string                 `json:"netmask,omitempty"`
	NicLabel           string                 `json:"nicLabel,omitempty"`
	TemplateProperties map[string]interface{} `json:"template_properties,omitempty"`
}

type MicrosoftADComputerAccount added in v1.1.0

type MicrosoftADComputerAccount struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                 int                    `json:"id,omitempty"`
	Name               string                 `json:"name,omitempty"`
	FinalOU            string                 `json:"finalOu"`
	PolicyID           int                    `json:"policyId,omitempty"`
	Policy             string                 `json:"policy,omitempty"`
	WorkspaceURL       string                 `json:"workspace,omitempty"`
	TemplateProperties map[string]interface{} `json:"templateProperties"`
}

type MicrosoftADPolicy added in v1.1.0

type MicrosoftADPolicy struct {
	Links *struct {
		Self              CloudBoltHALItem `json:"self,omitempty"`
		Workspace         CloudBoltHALItem `json:"workspace,omitempty"`
		MicrosoftEndpoint CloudBoltHALItem `json:"microsoftEndpoint,omitempty"`
	} `json:"_links,omitempty"`
	Name                   string   `json:"name,omitempty"`
	ID                     int      `json:"id,omitempty"`
	Description            string   `json:"description,omitempty"`
	MicrosoftEndpointID    int      `json:"microsoftEndpointId,omitempty"`
	MicrosoftEndpoint      string   `json:"microsoftEndpoint,omitempty"`
	ComputerNameLetterCase string   `json:"computerNameLetterCase,omitempty"`
	WorkspaceURL           string   `json:"workspace,omitempty"`
	OU                     string   `json:"ou,omitempty"`
	CreateOU               bool     `json:"createOrganizationalUnit,omitempty"`
	RemoveOU               bool     `json:"removeOrganizationalUnit,omitempty"`
	SecurityGroups         []string `json:"securityGroups,omitempty"`
}

type MicrosoftEndpoint added in v1.1.0

type MicrosoftEndpoint struct {
	Links *struct {
		Self       CloudBoltHALItem `json:"self,omitempty"`
		Workspace  CloudBoltHALItem `json:"workspace,omitempty"`
		Credential CloudBoltHALItem `json:"credential,omitempty"`
	} `json:"_links,omitempty"`
	ID               int    `json:"id,omitempty"`
	Type             string `json:"type,omitempty"`
	Name             string `json:"name,omitempty"`
	Description      string `json:"description,omitempty"`
	Host             string `json:"host,omitempty"`
	Port             int    `json:"port,omitempty"`
	SSL              bool   `json:"ssl,omitempty"`
	MicrosoftVersion string `json:"microsoftVersion,omitempty"`
}

type ModuleDeployment added in v1.1.0

type ModuleDeployment struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                       int                      `json:"id,omitempty"`
	PolicyID                 int                      `json:"policyId,omitempty"`
	Policy                   string                   `json:"policy,omitempty"`
	WorkspaceURL             string                   `json:"workspace,omitempty"`
	Name                     string                   `json:"name,omitempty"`
	Archived                 bool                     `json:"archived,omitempty"`
	TemplateProperties       map[string]interface{}   `json:"templateProperties"`
	ProvisioningJobResults   []map[string]interface{} `json:"provisioningJobResults,omitempty"`
	DeprovisioningJobResults []map[string]interface{} `json:"deprovisioningJobResults,omitempty"`
}

type ModulePolicy added in v1.1.0

type ModulePolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Blueprint CloudBoltHALItem `json:"blueprint,omitempty"`
	} `json:"_links,omitempty"`
	ID             int    `json:"id,omitempty"`
	Name           string `json:"name,omitempty"`
	Description    string `json:"description,omitempty"`
	PolicyTemplate string `json:"policyTemplate,omitempty"`
}

type ModulePolicyResult added in v1.1.0

type ModulePolicyResult struct {
	CloudBoltResult
	Embedded struct {
		ModulePolicies []ModulePolicy `json:"modulePolicies"`
	} `json:"_embedded"`
}

type NamingPolicy added in v1.1.0

type NamingPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type NamingPolicyResult added in v1.1.0

type NamingPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		NamingPolicies []NamingPolicy `json:"namingPolicies"`
	} `json:"_embedded"`
}

type OneFuseJobStatus added in v1.1.0

type OneFuseJobStatus struct {
	Links *struct {
		Self          CloudBoltHALItem `json:"self,omitempty"`
		JobMetadata   CloudBoltHALItem `json:"jobMetadata,omitempty"`
		ManagedObject CloudBoltHALItem `json:"managedObject,omitempty"`
		Policy        CloudBoltHALItem `json:"policy,omitempty"`
		Workspace     CloudBoltHALItem `json:"workspace,omitempty"`
	} `json:"_links,omitempty"`
	ID                  int    `json:"id,omitempty"`
	JobStateDescription string `json:"jobStateDescription,omitempty"`
	JobState            string `json:"jobState,omitempty"`
	JobTrackingID       string `json:"jobTrackingId,omitempty"`
	JobType             string `json:"jobType,omitempty"`
	ErrorDetails        *struct {
		Code   int `json:"code,omitempty"`
		Errors *[]struct {
			Message string `json:"message,omitempty"`
		} `json:"errors,omitempty"`
	} `json:"errorDetails,omitempty"`
}

type RenderTemplateRequest added in v1.1.0

type RenderTemplateRequest struct {
	Template           string                 `json:"template,omitempty"`
	TemplateProperties map[string]interface{} `json:"template_properties,omitempty"`
}

type RenderTemplateResponse added in v1.1.0

type RenderTemplateResponse struct {
	Value string `json:"value,omitempty"`
}

type ScriptingDeployment added in v1.1.0

type ScriptingDeployment struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                  int    `json:"id,omitempty"`
	PolicyID            int    `json:"policyId,omitempty"`
	Policy              string `json:"policy,omitempty"`
	WorkspaceURL        string `json:"workspace,omitempty"`
	Hostname            string `json:"hostname,omitempty"`
	ProvisioningDetails *struct {
		Status string   `json:"status"`
		Output []string `json:"output"`
	} `json:"provisioningDetails,omitempty"`
	DeprovisioningDetails *struct {
		Status string   `json:"status"`
		Output []string `json:"output"`
	} `json:"deprovisioningDetails,omitempty"`
	Archived           bool                   `json:"archived,omitempty"`
	TemplateProperties map[string]interface{} `json:"templateProperties"`
}

type ScriptingPolicy added in v1.1.0

type ScriptingPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type ScriptingPolicyResult added in v1.1.0

type ScriptingPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		ScriptingPolicies []ScriptingPolicy `json:"scriptingPolicies"`
	} `json:"_embedded"`
}

type ServiceNowCMDBPolicy added in v1.1.0

type ServiceNowCMDBPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"endpoint,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type ServiceNowCMDBPolicyResult added in v1.1.0

type ServiceNowCMDBPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		ServiceNowCMDBPolicies []ServiceNowCMDBPolicy `json:"servicenowCMDBPolicies"`
	} `json:"_embedded"`
}

type ServicenowCMDBDeployment added in v1.1.0

type ServicenowCMDBDeployment struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                     int                      `json:"id,omitempty"`
	PolicyID               int                      `json:"policyId,omitempty"`
	Policy                 string                   `json:"policy,omitempty"`
	WorkspaceURL           string                   `json:"workspace,omitempty"`
	ConfigurationItemsInfo []map[string]interface{} `json:"configurationItemsInfo,omitempty"`
	ExecutionDetails       map[string]interface{}   `json:"executionDetails,omitempty"`
	Archived               bool                     `json:"archived,omitempty"`
	TemplateProperties     map[string]interface{}   `json:"templateProperties"`
}

type StaticPropertySet added in v1.1.0

type StaticPropertySet struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
	} `json:"_links,omitempty"`
	ID          int                    `json:"id,omitempty"`
	Name        string                 `json:"name,omitempty"`
	Description string                 `json:"description,omitempty"`
	Properties  map[string]interface{} `json:"properties,omitempty"`
	Raw         string
}

type StaticPropertySetResult added in v1.1.0

type StaticPropertySetResult struct {
	CloudBoltResult
	Embedded struct {
		PropertySets []StaticPropertySet `json:"propertySets"`
	} `json:"_embedded"`
}

type VraDeployment added in v1.1.0

type VraDeployment struct {
	Links *struct {
		Self        CloudBoltHALItem `json:"self,omitempty"`
		Workspace   CloudBoltHALItem `json:"workspace,omitempty"`
		Policy      CloudBoltHALItem `json:"policy,omitempty"`
		JobMetadata CloudBoltHALItem `json:"jobMetadata,omitempty"`
	} `json:"_links,omitempty"`
	ID                 int                    `json:"id,omitempty"`
	PolicyID           int                    `json:"policyId,omitempty"`
	Policy             string                 `json:"policy,omitempty"`
	WorkspaceURL       string                 `json:"workspace,omitempty"`
	DeploymentName     string                 `json:"deploymentName,omitempty"`
	Name               string                 `json:"name,omitempty"`
	Archived           bool                   `json:"archived,omitempty"`
	TemplateProperties map[string]interface{} `json:"templateProperties"`
	DeploymentInfo     map[string]interface{} `json:"deploymentInfo,omitempty"`
	BlueprintName      string                 `json:"blueprintName,omitempty"`
	ProjectName        string                 `json:"projectName,omitempty"`
}

type VraPolicy added in v1.1.0

type VraPolicy struct {
	Links *struct {
		Self      CloudBoltHALItem `json:"self,omitempty"`
		Workspace CloudBoltHALItem `json:"workspace,omitempty"`
		Endpoint  CloudBoltHALItem `json:"endpoint,omitempty"`
	} `json:"_links,omitempty"`
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type VraPolicyResult added in v1.1.0

type VraPolicyResult struct {
	CloudBoltResult
	Embedded struct {
		VraPolicies []VraPolicy `json:"vraPolicies"`
	} `json:"_embedded"`
}

type Workspace added in v1.1.0

type Workspace struct {
	Links *struct {
		Self CloudBoltHALItem `json:"self,omitempty"`
	} `json:"_links,omitempty"`
	ID   int    `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type WorkspaceResult added in v1.1.0

type WorkspaceResult struct {
	CloudBoltResult
	Embedded struct {
		Workspaces []Workspace `json:"workspaces"`
	} `json:"_embedded"`
}

Jump to

Keyboard shortcuts

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