ccv2

package
v6.47.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2019 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation ¶

Overview ¶

Package ccv2 represents a Cloud Controller V2 client.

These sets of packages are still under development/pre-pre-pre...alpha. Use at your own risk! Functionality and design may change without warning.

It is currently designed to support Cloud Controller API 2.58.0. However, it may include features and endpoints of later API versions.

For more information on the Cloud Controller API see https://apidocs.cloudfoundry.org/

Method Naming Conventions ¶

The client takes a '<Action Name><Top Level Endpoint><nth... level endpoint><Return Value>' approach to method names. If the <Top Level Endpoint> and <Return Value> are similar, they do not need to be repeated. If a GUID is required for the <Top Level Endpoint>, the pluralization is removed from said endpoint in the method name.

For Example:

Method Name: GetApplication
Endpoint: /v2/applications/:guid
Action Name: GET
Top Level Endpoint: applications
Return Value: Application

Method Name: GetServiceInstances
Endpoint: /v2/service_instances
Action Name: GET
Top Level Endpoint: service_instances
Return Value: []ServiceInstance

Method Name: GetSpaceServiceInstances
Endpoint: /v2/spaces/:guid/service_instances
Action Name: GET
Top Level Endpoint: spaces
Return Value: []ServiceInstance

Method Name: UpdateRouteApplication
Endpoint: /v2/routes/:route_guid/apps/:app_guid
Action Name: PUT
Top Level Endpoint: routes
Second Level Endpoint: Application
Return Value: Route

Method Name: DeleteSpaceJob
Endpoint: /v2/spaces/:space_guid
Action Name: DELETE
Top Level Endpoint: spaces
Return Value: Job

Use the following table to determine which HTTP Command equates to which Action Name:

HTTP Command -> Action Name
POST -> Create
GET -> Get
PUT -> Update
DELETE -> Delete
PATCH -> Patch

Method Locations ¶

Methods exist in the same file as their return type, regardless of which endpoint they use.

Error Handling ¶

All error handling that requires parsing the error_code/code returned back from the Cloud Controller should be placed in the errorWrapper. Everything else can be handled in the individual operations. All errors structs should be placed in individual files in the ccerror package.

No inline-relations-depth And summary Endpoints ¶

This package will not ever use 'inline-relations-depth' or the '/summary' endpoints for any operations. These requests can be extremely taxing on the Cloud Controller and are avoided at all costs. Additionally, the objects returned back from these requests can become extremely inconsistent across versions and are problematic to deal with in general.

An additional problem that occurs with these endpoints is that lists of 51+ objects do not get returned by the CC. Example: Summary of Organizations includes a list of spaces. If there are 50 spaces, the endpoint returns these spaces under the 'spaces' field; if there are 51+, spaces, the 'spaces' field is missing from the CC return.

Index ¶

Constants ¶

This section is empty.

Variables ¶

This section is empty.

Functions ¶

func ConvertFilterParameters ¶

func ConvertFilterParameters(filters []Filter) url.Values

ConvertFilterParameters converts a Filter object into a collection that cloudcontroller.Request can accept.

Types ¶

type APIInformation ¶

type APIInformation struct {

	// APIVersion is the Cloud Controller API version number.
	APIVersion string `json:"api_version"`

	// AuthorizationEndpoint is the authorization endpoint for the targeted Cloud
	// Controller.
	AuthorizationEndpoint string `json:"authorization_endpoint"`

	// DopplerEndpoint is the Doppler endpoint for the targeted Cloud Controller.
	DopplerEndpoint string `json:"doppler_logging_endpoint"`

	// MinCLIVersion is the minimum CLI version number required for the targeted
	// Cloud Controller.
	MinCLIVersion string `json:"min_cli_version"`

	// MinimumRecommendedCLIVersion is the minimum CLI version number recommended
	// for the targeted Cloud Controller.
	MinimumRecommendedCLIVersion string `json:"min_recommended_cli_version"`

	// Name is the name given to the targeted Cloud Controller.
	Name string `json:"name"`

	// RoutingEndpoint is the Routing endpoint for the targeted Cloud Controller.
	RoutingEndpoint string `json:"routing_endpoint"`

	// TokenEndpoint is the endpoint to retrieve a refresh token for the targeted
	// Cloud Controller.
	TokenEndpoint string `json:"token_endpoint"`
}

APIInformation represents the information returned back from /v2/info

type Application ¶

type Application struct {
	// Buildpack is the buildpack set by the user.
	Buildpack types.FilteredString

	// Command is the user specified start command.
	Command types.FilteredString

	// DetectedBuildpack is the buildpack automatically detected.
	DetectedBuildpack types.FilteredString

	// DetectedStartCommand is the command used to start the application.
	DetectedStartCommand types.FilteredString

	// DiskQuota is the disk given to each instance, in megabytes.
	DiskQuota types.NullByteSizeInMb

	// DockerCredentials is the authentication information for the provided
	// DockerImage.
	DockerCredentials DockerCredentials

	// DockerImage is the docker image location.
	DockerImage string

	// EnvironmentVariables are the environment variables passed to the app.
	EnvironmentVariables map[string]string

	// GUID is the unique application identifier.
	GUID string

	// HealthCheckTimeout is the number of seconds for health checking of an
	// staged app when starting up.
	HealthCheckTimeout uint64

	// HealthCheckType is the type of health check that will be done to the app.
	HealthCheckType constant.ApplicationHealthCheckType

	// HealthCheckHTTPEndpoint is the url of the http health check endpoint.
	HealthCheckHTTPEndpoint string

	// Instances is the total number of app instances.
	Instances types.NullInt

	// Memory is the memory given to each instance, in megabytes.
	Memory types.NullByteSizeInMb

	// Name is the name given to the application.
	Name string

	// PackageState represents the staging state of the application bits.
	PackageState constant.ApplicationPackageState

	// PackageUpdatedAt is the last time the app bits were updated. In RFC3339.
	PackageUpdatedAt time.Time

	// SpaceGUID is the GUID of the app's space.
	SpaceGUID string

	// StackGUID is the GUID for the Stack the application is running on.
	StackGUID string

	// StagingFailedDescription is the verbose description of why the package
	// failed to stage.
	StagingFailedDescription string

	// StagingFailedReason is the reason why the package failed to stage.
	StagingFailedReason string

	// State is the desired state of the application.
	State constant.ApplicationState
}

Application represents a Cloud Controller Application.

func (Application) MarshalJSON ¶

func (application Application) MarshalJSON() ([]byte, error)

MarshalJSON converts an application into a Cloud Controller Application.

func (*Application) UnmarshalJSON ¶

func (application *Application) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Application response.

type ApplicationInstance ¶

type ApplicationInstance struct {
	// Details are arbitrary information about the instance.
	Details string

	// ID is the instance ID.
	ID int

	// Since is the Unix time stamp that represents the time the instance was
	// created.
	Since float64

	// State is the instance's state.
	State constant.ApplicationInstanceState
}

ApplicationInstance represents a Cloud Controller Application Instance.

func (*ApplicationInstance) UnmarshalJSON ¶

func (instance *ApplicationInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller application instance response.

type ApplicationInstanceStatus ¶

type ApplicationInstanceStatus struct {
	// CPU is the instance's CPU utilization percentage.
	CPU float64

	// Disk is the instance's disk usage in bytes.
	Disk int64

	// DiskQuota is the instance's allowed disk usage in bytes.
	DiskQuota int64

	// ID is the instance ID.
	ID int

	// IsolationSegment that the app is currently running on.
	IsolationSegment string

	// Memory is the instance's memory usage in bytes.
	Memory int64

	// MemoryQuota is the instance's allowed memory usage in bytes.
	MemoryQuota int64

	// State is the instance's state.
	State constant.ApplicationInstanceState

	// Uptime is the number of seconds the instance has been running.
	Uptime int64
}

ApplicationInstanceStatus represents a Cloud Controller Application Instance.

func (*ApplicationInstanceStatus) UnmarshalJSON ¶

func (instance *ApplicationInstanceStatus) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller application instance response.

type Buildpack ¶

type Buildpack struct {
	Locked   types.NullBool
	Enabled  types.NullBool
	GUID     string
	Name     string
	Position types.NullInt
	Stack    string
}

Buildpack represents a Cloud Controller Buildpack.

func (Buildpack) MarshalJSON ¶

func (buildpack Buildpack) MarshalJSON() ([]byte, error)

func (*Buildpack) UnmarshalJSON ¶

func (buildpack *Buildpack) UnmarshalJSON(data []byte) error

type Client ¶

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

Client is a client that can be used to talk to a Cloud Controller's V2 Endpoints.

func NewClient ¶

func NewClient(config Config) *Client

NewClient returns a new Cloud Controller Client.

func (*Client) API ¶

func (client *Client) API() string

API returns the Cloud Controller API URL for the targeted Cloud Controller.

func (*Client) APIVersion ¶

func (client *Client) APIVersion() string

APIVersion returns Cloud Controller API Version for the targeted Cloud Controller.

func (*Client) AuthorizationEndpoint ¶

func (client *Client) AuthorizationEndpoint() string

AuthorizationEndpoint returns the authorization endpoint for the targeted Cloud Controller.

func (*Client) CheckRoute ¶

func (client *Client) CheckRoute(route Route) (bool, Warnings, error)

CheckRoute returns true if the route exists in the CF instance.

func (*Client) CreateApplication ¶

func (client *Client) CreateApplication(app Application) (Application, Warnings, error)

CreateApplication creates a cloud controller application in with the given settings. SpaceGUID and Name are the only required fields.

func (*Client) CreateBuildpack ¶

func (client *Client) CreateBuildpack(buildpack Buildpack) (Buildpack, Warnings, error)

CreateBuildpack creates a new buildpack.

func (*Client) CreateOrganization ¶

func (client *Client) CreateOrganization(orgName string, quotaGUID string) (Organization, Warnings, error)

func (*Client) CreateRoute ¶

func (client *Client) CreateRoute(route Route, generatePort bool) (Route, Warnings, error)

CreateRoute creates the route with the given properties; SpaceGUID and DomainGUID are required Route properties. Additional configuration rules: - generatePort = true to generate a random port on the cloud controller. - generatePort takes precedence over the provided port. Setting the port and generatePort only works with CC API 2.53.0 or higher and when TCP router groups are enabled.

func (*Client) CreateServiceBinding ¶

func (client *Client) CreateServiceBinding(appGUID string, serviceInstanceGUID string, bindingName string, acceptsIncomplete bool, parameters map[string]interface{}) (ServiceBinding, Warnings, error)

func (*Client) CreateServiceBroker ¶

func (client *Client) CreateServiceBroker(brokerName, username, password, url, spaceGUID string) (ServiceBroker, Warnings, error)

CreateServiceBroker posts a service broker resource with the provided attributes to the api and returns the result.

func (*Client) CreateServiceInstance ¶

func (client *Client) CreateServiceInstance(spaceGUID, servicePlanGUID, serviceInstance string, parameters map[string]interface{}, tags []string) (ServiceInstance, Warnings, error)

CreateServiceInstance posts a service instance resource with the provided attributes to the api and returns the result.

func (*Client) CreateServiceKey ¶

func (client *Client) CreateServiceKey(serviceInstanceGUID string, keyName string, parameters map[string]interface{}) (ServiceKey, Warnings, error)

CreateServiceKey creates a new service key using the provided name and parameters for the requested service instance.

func (*Client) CreateServicePlanVisibility ¶

func (client *Client) CreateServicePlanVisibility(planGUID string, orgGUID string) (ServicePlanVisibility, Warnings, error)

func (*Client) CreateSharedDomain ¶

func (client *Client) CreateSharedDomain(domainName string, routerGroupdGUID string, isInternal bool) (Warnings, error)

func (*Client) CreateSpace ¶

func (client *Client) CreateSpace(spaceName string, orgGUID string) (Space, Warnings, error)

CreateSpace creates a new space with the provided spaceName in the org with the provided orgGUID.

func (*Client) CreateUser ¶

func (client *Client) CreateUser(uaaUserID string) (User, Warnings, error)

CreateUser creates a new Cloud Controller User from the provided UAA user ID.

func (*Client) DeleteOrganization ¶

func (client *Client) DeleteOrganization(guid string) (Job, Warnings, error)

DeleteOrganization deletes the Organization associated with the provided GUID. It will return the Cloud Controller job that is assigned to the Organization deletion.

func (*Client) DeleteOrganizationJob ¶

func (client *Client) DeleteOrganizationJob(guid string) (Job, Warnings, error)

DeleteOrganizationJob deletes the Organization associated with the provided GUID. It will return the Cloud Controller job that is assigned to the Organization deletion.

func (*Client) DeleteRoute ¶

func (client *Client) DeleteRoute(routeGUID string) (Warnings, error)

DeleteRoute deletes the Route associated with the provided Route GUID.

func (*Client) DeleteRouteApplication ¶

func (client *Client) DeleteRouteApplication(routeGUID string, appGUID string) (Warnings, error)

DeleteRouteApplication removes the link between the route and application.

func (*Client) DeleteSecurityGroupSpace ¶

func (client *Client) DeleteSecurityGroupSpace(securityGroupGUID string, spaceGUID string) (Warnings, error)

DeleteSecurityGroupSpace disassociates a security group in the running phase for the lifecycle, specified by its GUID, from a space, which is also specified by its GUID.

func (*Client) DeleteSecurityGroupStagingSpace ¶

func (client *Client) DeleteSecurityGroupStagingSpace(securityGroupGUID string, spaceGUID string) (Warnings, error)

DeleteSecurityGroupStagingSpace disassociates a security group in the staging phase fo the lifecycle, specified by its GUID, from a space, which is also specified by its GUID.

func (*Client) DeleteService ¶

func (client *Client) DeleteService(serviceGUID string, purge bool) (Warnings, error)

DeleteService deletes the service with the given GUID, and returns any errors and warnings.

func (*Client) DeleteServiceBinding ¶

func (client *Client) DeleteServiceBinding(serviceBindingGUID string, acceptsIncomplete bool) (ServiceBinding, Warnings, error)

DeleteServiceBinding deletes the specified Service Binding. An updated service binding is returned only if acceptsIncomplete is true.

func (*Client) DeleteServicePlanVisibility ¶

func (client *Client) DeleteServicePlanVisibility(servicePlanVisibilityGUID string) (Warnings, error)

func (*Client) DeleteSpace ¶

func (client *Client) DeleteSpace(guid string) (Job, Warnings, error)

DeleteSpace deletes the Space associated with the provided GUID. It will return the Cloud Controller job that is assigned to the Space deletion.

func (*Client) DeleteSpaceJob ¶

func (client *Client) DeleteSpaceJob(guid string) (Job, Warnings, error)

DeleteSpaceJob deletes the Space associated with the provided GUID. It will return the Cloud Controller job that is assigned to the Space deletion.

func (*Client) DeleteSpaceUnmappedRoutes ¶

func (client *Client) DeleteSpaceUnmappedRoutes(spaceGUID string) (Warnings, error)

DeleteSpaceUnmappedRoutes deletes Routes within a specified Space not mapped to an Application

func (*Client) DopplerEndpoint ¶

func (client *Client) DopplerEndpoint() string

DopplerEndpoint returns the Doppler endpoint for the targetd Cloud Controller.

func (*Client) GetApplication ¶

func (client *Client) GetApplication(guid string) (Application, Warnings, error)

GetApplication returns back an Application.

func (*Client) GetApplicationApplicationInstanceStatuses ¶

func (client *Client) GetApplicationApplicationInstanceStatuses(guid string) (map[int]ApplicationInstanceStatus, Warnings, error)

GetApplicationApplicationInstanceStatuses returns a list of ApplicationInstanceStatus for a given application. Depending on the state of an application, it might skip some application instance statuses.

func (*Client) GetApplicationApplicationInstances ¶

func (client *Client) GetApplicationApplicationInstances(guid string) (map[int]ApplicationInstance, Warnings, error)

GetApplicationApplicationInstances returns a list of ApplicationInstance for a given application. Depending on the state of an application, it might skip some application instances.

func (*Client) GetApplicationRoutes ¶

func (client *Client) GetApplicationRoutes(appGUID string, filters ...Filter) ([]Route, Warnings, error)

GetApplicationRoutes returns a list of Routes associated with the provided Application GUID, and filtered by the provided filters.

func (*Client) GetApplications ¶

func (client *Client) GetApplications(filters ...Filter) ([]Application, Warnings, error)

GetApplications returns back a list of Applications based off of the provided filters.

func (*Client) GetBuildpacks ¶

func (client *Client) GetBuildpacks(filters ...Filter) ([]Buildpack, Warnings, error)

GetBuildpacks searches for a buildpack with the given name and returns it if it exists.

func (Client) GetConfigFeatureFlags ¶

func (client Client) GetConfigFeatureFlags() ([]FeatureFlag, Warnings, error)

GetConfigFeatureFlags retrieves a list of FeatureFlag from the Cloud Controller.

func (*Client) GetEvents ¶

func (client *Client) GetEvents(filters ...Filter) ([]Event, Warnings, error)

GetEvents returns back a list of Events based off of the provided queries.

func (*Client) GetJob ¶

func (client *Client) GetJob(jobGUID string) (Job, Warnings, error)

GetJob returns a job for the provided GUID.

func (*Client) GetOrganization ¶

func (client *Client) GetOrganization(guid string) (Organization, Warnings, error)

GetOrganization returns an Organization associated with the provided GUID.

func (*Client) GetOrganizationPrivateDomains ¶

func (client *Client) GetOrganizationPrivateDomains(orgGUID string, filters ...Filter) ([]Domain, Warnings, error)

GetOrganizationPrivateDomains returns the private domains associated with an organization.

func (*Client) GetOrganizationQuota ¶

func (client *Client) GetOrganizationQuota(guid string) (OrganizationQuota, Warnings, error)

GetOrganizationQuota returns an Organization Quota associated with the provided GUID.

func (*Client) GetOrganizationQuotas ¶

func (client *Client) GetOrganizationQuotas(filters ...Filter) ([]OrganizationQuota, Warnings, error)

GetOrganizationQuotas returns an Organization Quota list associated with the provided filters.

func (*Client) GetOrganizations ¶

func (client *Client) GetOrganizations(filters ...Filter) ([]Organization, Warnings, error)

GetOrganizations returns back a list of Organizations based off of the provided filters.

func (*Client) GetPrivateDomain ¶

func (client *Client) GetPrivateDomain(domainGUID string) (Domain, Warnings, error)

GetPrivateDomain returns the Private Domain associated with the provided Domain GUID.

func (*Client) GetPrivateDomains ¶

func (client *Client) GetPrivateDomains(filters ...Filter) ([]Domain, Warnings, error)

GetPrivateDomains returns the private domains this client has access to.

func (*Client) GetRoute ¶

func (client *Client) GetRoute(guid string) (Route, Warnings, error)

GetRoute returns a route with the provided guid.

func (*Client) GetRouteApplications ¶

func (client *Client) GetRouteApplications(routeGUID string, filters ...Filter) ([]Application, Warnings, error)

GetRouteApplications returns a list of Applications based off a route GUID and the provided filters.

func (*Client) GetRouteMapping ¶

func (client *Client) GetRouteMapping(guid string) (RouteMapping, Warnings, error)

GetRouteMapping returns a route mapping with the provided guid.

func (*Client) GetRouteMappings ¶

func (client *Client) GetRouteMappings(filters ...Filter) ([]RouteMapping, Warnings, error)

GetRouteMappings returns a list of RouteMappings based off of the provided queries.

func (*Client) GetRoutes ¶

func (client *Client) GetRoutes(filters ...Filter) ([]Route, Warnings, error)

GetRoutes returns a list of Routes based off of the provided filters.

func (*Client) GetSecurityGroupSpaces ¶

func (client *Client) GetSecurityGroupSpaces(securityGroupGUID string) ([]Space, Warnings, error)

GetSecurityGroupSpaces returns a list of Spaces based on the provided SecurityGroup GUID.

func (*Client) GetSecurityGroupStagingSpaces ¶

func (client *Client) GetSecurityGroupStagingSpaces(securityGroupGUID string) ([]Space, Warnings, error)

GetSecurityGroupStagingSpaces returns a list of Spaces based on the provided SecurityGroup GUID.

func (*Client) GetSecurityGroups ¶

func (client *Client) GetSecurityGroups(filters ...Filter) ([]SecurityGroup, Warnings, error)

GetSecurityGroups returns a list of Security Groups based off the provided filters.

func (*Client) GetService ¶

func (client *Client) GetService(serviceGUID string) (Service, Warnings, error)

GetService returns the service with the given GUID.

func (*Client) GetServiceBinding ¶

func (client *Client) GetServiceBinding(guid string) (ServiceBinding, Warnings, error)

GetServiceBinding returns back a service binding with the provided GUID.

func (*Client) GetServiceBindings ¶

func (client *Client) GetServiceBindings(filters ...Filter) ([]ServiceBinding, Warnings, error)

GetServiceBindings returns back a list of Service Bindings based off of the provided filters.

func (*Client) GetServiceBrokers ¶

func (client *Client) GetServiceBrokers(filters ...Filter) ([]ServiceBroker, Warnings, error)

GetServiceBrokers returns back a list of Service Brokers given the provided filters.

func (*Client) GetServiceInstance ¶

func (client *Client) GetServiceInstance(serviceInstanceGUID string) (ServiceInstance, Warnings, error)

GetServiceInstance returns the service instance with the given GUID. This service can be either a managed or user provided.

func (*Client) GetServiceInstanceServiceBindings ¶

func (client *Client) GetServiceInstanceServiceBindings(serviceInstanceGUID string) ([]ServiceBinding, Warnings, error)

GetServiceInstanceServiceBindings returns back a list of Service Bindings for the provided service instance GUID.

func (*Client) GetServiceInstanceSharedFrom ¶

func (client *Client) GetServiceInstanceSharedFrom(serviceInstanceGUID string) (ServiceInstanceSharedFrom, Warnings, error)

GetServiceInstanceSharedFrom returns back a ServiceInstanceSharedFrom object.

func (*Client) GetServiceInstanceSharedTos ¶

func (client *Client) GetServiceInstanceSharedTos(serviceInstanceGUID string) ([]ServiceInstanceSharedTo, Warnings, error)

GetServiceInstanceSharedTos returns a list of ServiceInstanceSharedTo objects.

func (*Client) GetServiceInstances ¶

func (client *Client) GetServiceInstances(filters ...Filter) ([]ServiceInstance, Warnings, error)

GetServiceInstances returns back a list of *managed* Service Instances based off of the provided filters.

func (*Client) GetServicePlan ¶

func (client *Client) GetServicePlan(servicePlanGUID string) (ServicePlan, Warnings, error)

GetServicePlan returns the service plan with the given GUID.

func (*Client) GetServicePlanVisibilities ¶

func (client *Client) GetServicePlanVisibilities(filters ...Filter) ([]ServicePlanVisibility, Warnings, error)

GetServicePlanVisibilities returns back a list of Service Plan Visibilities given the provided filters.

func (*Client) GetServicePlans ¶

func (client *Client) GetServicePlans(filters ...Filter) ([]ServicePlan, Warnings, error)

func (*Client) GetServices ¶

func (client *Client) GetServices(filters ...Filter) ([]Service, Warnings, error)

GetServices returns a list of Services given the provided filters.

func (*Client) GetSharedDomain ¶

func (client *Client) GetSharedDomain(domainGUID string) (Domain, Warnings, error)

GetSharedDomain returns the Shared Domain associated with the provided Domain GUID.

func (*Client) GetSharedDomains ¶

func (client *Client) GetSharedDomains(filters ...Filter) ([]Domain, Warnings, error)

GetSharedDomains returns the global shared domains.

func (*Client) GetSpaceQuotaDefinition ¶

func (client *Client) GetSpaceQuotaDefinition(guid string) (SpaceQuota, Warnings, error)

GetSpaceQuotaDefinition returns a Space Quota.

func (*Client) GetSpaceQuotas ¶

func (client *Client) GetSpaceQuotas(orgGUID string) ([]SpaceQuota, Warnings, error)

GetSpaceQuotas returns all the space quotas for the org

func (*Client) GetSpaceRoutes ¶

func (client *Client) GetSpaceRoutes(spaceGUID string, filters ...Filter) ([]Route, Warnings, error)

GetSpaceRoutes returns a list of Routes associated with the provided Space GUID, and filtered by the provided filters.

func (*Client) GetSpaceSecurityGroups ¶

func (client *Client) GetSpaceSecurityGroups(spaceGUID string, filters ...Filter) ([]SecurityGroup, Warnings, error)

GetSpaceSecurityGroups returns the running Security Groups associated with the provided Space GUID.

func (*Client) GetSpaceServiceInstances ¶

func (client *Client) GetSpaceServiceInstances(spaceGUID string, includeUserProvidedServices bool, filters ...Filter) ([]ServiceInstance, Warnings, error)

GetSpaceServiceInstances returns back a list of Service Instances based off of the space and filters provided. User provided services will be included if includeUserProvidedServices is set to true.

func (*Client) GetSpaceServices ¶

func (client *Client) GetSpaceServices(spaceGUID string, filters ...Filter) ([]Service, Warnings, error)

func (*Client) GetSpaceStagingSecurityGroups ¶

func (client *Client) GetSpaceStagingSecurityGroups(spaceGUID string, filters ...Filter) ([]SecurityGroup, Warnings, error)

GetSpaceStagingSecurityGroups returns the staging Security Groups associated with the provided Space GUID.

func (*Client) GetSpaceSummary ¶

func (client *Client) GetSpaceSummary(spaceGUID string) (SpaceSummary, Warnings, error)

GetSpaceSummary returns the summary of the space with the given GUID.

func (*Client) GetSpaces ¶

func (client *Client) GetSpaces(filters ...Filter) ([]Space, Warnings, error)

GetSpaces returns a list of Spaces based off of the provided filters.

func (*Client) GetStack ¶

func (client *Client) GetStack(guid string) (Stack, Warnings, error)

GetStack returns the requested stack.

func (*Client) GetStacks ¶

func (client *Client) GetStacks(filters ...Filter) ([]Stack, Warnings, error)

GetStacks returns a list of Stacks based off of the provided filters.

func (*Client) GetUserProvidedServiceInstanceServiceBindings ¶

func (client *Client) GetUserProvidedServiceInstanceServiceBindings(userProvidedServiceInstanceGUID string) ([]ServiceBinding, Warnings, error)

GetUserProvidedServiceInstanceServiceBindings returns back a list of Service Bindings for the provided user provided service instance GUID.

func (*Client) GetUserProvidedServiceInstances ¶

func (client *Client) GetUserProvidedServiceInstances(filters ...Filter) ([]ServiceInstance, Warnings, error)

GetUserProvidedServiceInstances returns back a list of *user provided* Service Instances based off the provided queries.

func (*Client) Info ¶

func (client *Client) Info() (APIInformation, Warnings, error)

Info returns back endpoint and API information from /v2/info.

func (*Client) MinCLIVersion ¶

func (client *Client) MinCLIVersion() string

MinCLIVersion returns the minimum CLI version required for the targeted Cloud Controller

func (*Client) PollJob ¶

func (client *Client) PollJob(job Job) (Warnings, error)

PollJob will keep polling the given job until the job has terminated, an error is encountered, or config.OverallPollingTimeout is reached. In the last case, a JobTimeoutError is returned.

func (*Client) RestageApplication ¶

func (client *Client) RestageApplication(app Application) (Application, Warnings, error)

RestageApplication restages the application with the given GUID.

func (*Client) RoutingEndpoint ¶

func (client *Client) RoutingEndpoint() string

RoutingEndpoint returns the Routing endpoint for the targeted Cloud Controller.

func (*Client) SetSpaceQuota ¶

func (client *Client) SetSpaceQuota(spaceGUID string, quotaGUID string) (Warnings, error)

SetSpaceQuota should set the quota for the space and returns the warnings

func (*Client) TargetCF ¶

func (client *Client) TargetCF(settings TargetSettings) (Warnings, error)

TargetCF sets the client to use the Cloud Controller specified in the configuration. Any other configuration is also applied to the client.

func (*Client) TokenEndpoint ¶

func (client *Client) TokenEndpoint() string

TokenEndpoint returns the Token endpoint for the targeted Cloud Controller.

func (*Client) UpdateApplication ¶

func (client *Client) UpdateApplication(app Application) (Application, Warnings, error)

UpdateApplication updates the application with the given GUID. Note: Sending DockerImage and StackGUID at the same time will result in an API error.

func (*Client) UpdateBuildpack ¶

func (client *Client) UpdateBuildpack(buildpack Buildpack) (Buildpack, Warnings, error)

UpdateBuildpack updates the buildpack with the provided GUID and returns the updated buildpack. Note: Stack cannot be updated without uploading a new buildpack.

func (*Client) UpdateOrganizationManager ¶

func (client *Client) UpdateOrganizationManager(guid string, uaaID string) (Warnings, error)

UpdateOrganizationManager assigns the org manager role to the UAA user or client with the provided ID.

func (*Client) UpdateOrganizationManagerByUsername ¶

func (client *Client) UpdateOrganizationManagerByUsername(guid string, username string) (Warnings, error)

UpdateOrganizationManagerByUsername assigns the org manager role to the user with the provided name.

func (*Client) UpdateOrganizationUser ¶

func (client *Client) UpdateOrganizationUser(guid string, uaaID string) (Warnings, error)

UpdateOrganizationUser makes the user or client with the given UAA ID a member of the org.

func (Client) UpdateOrganizationUserByUsername ¶

func (client Client) UpdateOrganizationUserByUsername(orgGUID string, username string) (Warnings, error)

UpdateOrganizationUserByUsername makes the user with the given username a member of the org.

func (*Client) UpdateResourceMatch ¶

func (client *Client) UpdateResourceMatch(resourcesToMatch []Resource) ([]Resource, Warnings, error)

UpdateResourceMatch returns the resources that exist on the cloud foundry instance from the set of resources given.

func (*Client) UpdateRouteApplication ¶

func (client *Client) UpdateRouteApplication(routeGUID string, appGUID string) (Route, Warnings, error)

UpdateRouteApplication creates a link between the route and application.

func (*Client) UpdateSecurityGroupSpace ¶

func (client *Client) UpdateSecurityGroupSpace(securityGroupGUID string, spaceGUID string) (Warnings, error)

UpdateSecurityGroupSpace associates a security group in the running phase for the lifecycle, specified by its GUID, from a space, which is also specified by its GUID.

func (*Client) UpdateSecurityGroupStagingSpace ¶

func (client *Client) UpdateSecurityGroupStagingSpace(securityGroupGUID string, spaceGUID string) (Warnings, error)

UpdateSecurityGroupStagingSpace associates a security group in the staging phase for the lifecycle, specified by its GUID, from a space, which is also specified by its GUID.

func (*Client) UpdateServiceInstanceMaintenanceInfo ¶

func (client *Client) UpdateServiceInstanceMaintenanceInfo(serviceInstanceGUID string, maintenanceInfo MaintenanceInfo) (Warnings, error)

func (*Client) UpdateServicePlan ¶

func (client *Client) UpdateServicePlan(guid string, public bool) (Warnings, error)

func (*Client) UpdateSpaceDeveloper ¶

func (client *Client) UpdateSpaceDeveloper(spaceGUID string, uaaID string) (Warnings, error)

UpdateSpaceDeveloper grants the space developer role to the user or client associated with the given UAA ID.

func (*Client) UpdateSpaceDeveloperByUsername ¶

func (client *Client) UpdateSpaceDeveloperByUsername(spaceGUID string, username string) (Warnings, error)

UpdateSpaceDeveloperByUsername grants the given username the space developer role.

func (*Client) UpdateSpaceManager ¶

func (client *Client) UpdateSpaceManager(spaceGUID string, uaaID string) (Warnings, error)

UpdateSpaceManager grants the space manager role to the user or client associated with the given UAA ID.

func (*Client) UpdateSpaceManagerByUsername ¶

func (client *Client) UpdateSpaceManagerByUsername(spaceGUID string, username string) (Warnings, error)

UpdateSpaceManagerByUsername grants the given username the space manager role.

func (*Client) UpdateUserProvidedServiceInstance ¶

func (client *Client) UpdateUserProvidedServiceInstance(serviceGUID string, instance UserProvidedServiceInstance) (Warnings, error)

func (*Client) UploadApplicationPackage ¶

func (client *Client) UploadApplicationPackage(appGUID string, existingResources []Resource, newResources Reader, newResourcesLength int64) (Job, Warnings, error)

UploadApplicationPackage uploads the newResources and a list of existing resources to the cloud controller. A job that combines the requested/newly uploaded bits is returned. The function will act differently given the following Readers:

io.ReadSeeker: Will function properly on retry.
io.Reader: Will return a ccerror.PipeSeekError on retry.
nil: Will not add the "application" section to the request.
newResourcesLength is ignored in this case.

func (*Client) UploadBuildpack ¶

func (client *Client) UploadBuildpack(buildpackGUID string, buildpackPath string, buildpack io.Reader, buildpackLength int64) (Warnings, error)

UploadBuildpack uploads the contents of a buildpack zip to the server.

func (*Client) UploadDroplet ¶

func (client *Client) UploadDroplet(appGUID string, droplet io.Reader, dropletLength int64) (Job, Warnings, error)

UploadDroplet defines and uploads a previously staged droplet that an application will run, using a multipart PUT request. The uploaded file should be a gzipped tar file.

func (*Client) WrapConnection ¶

func (client *Client) WrapConnection(wrapper ConnectionWrapper)

WrapConnection wraps the current Client connection in the wrapper.

type Config ¶

type Config struct {
	// AppName is the name of the application/process using the client.
	AppName string

	// AppVersion is the version of the application/process using the client.
	AppVersion string

	// JobPollingTimeout is the maximum amount of time a job polls for.
	JobPollingTimeout time.Duration

	// JobPollingInterval is the wait time between job polls.
	JobPollingInterval time.Duration

	// Wrappers that apply to the client connection.
	Wrappers []ConnectionWrapper
}

Config allows the Client to be configured

type ConnectionWrapper ¶

type ConnectionWrapper interface {
	cloudcontroller.Connection
	Wrap(innerconnection cloudcontroller.Connection) cloudcontroller.Connection
}

ConnectionWrapper can wrap a given connection allowing the wrapper to modify all requests going in and out of the given connection.

type DockerCredentials ¶

type DockerCredentials struct {
	// Username is the username for a user that has access to a given docker
	// image.
	Username string `json:"username,omitempty"`

	// Password is the password for the user.
	Password string `json:"password,omitempty"`
}

DockerCredentials are the authentication credentials to pull a docker image from it's repository.

type Domain ¶

type Domain struct {
	// GUID is the unique domain identifier.
	GUID string

	// Internal indicates whether the domain is an internal domain.
	Internal bool

	// Name is the name given to the domain.
	Name string

	// RouterGroupGUID is the unique identier of the router group this domain is
	// assigned to.
	RouterGroupGUID string

	// RouterGroupType is the type of router group this domain is assigned to. It
	// can be of type `tcp` or `http`.
	RouterGroupType constant.RouterGroupType

	// DomainType is the access type of the domain. It can be either a domain
	// private to a single org or it can be a domain shared to all orgs.
	Type constant.DomainType
}

Domain represents a Cloud Controller Domain.

func (*Domain) UnmarshalJSON ¶

func (domain *Domain) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Domain response.

type Event ¶

type Event struct {
	// GUID is the unique event identifier.
	GUID string

	// Type is the type of event.
	Type constant.EventType

	// ActorGUID is the GUID of the actor initiating an event.
	ActorGUID string

	// ActorType is the type of actor initiating an event.
	ActorType string

	// ActorName is the name of the actor initiating an event.
	ActorName string

	// ActeeGUID is the GUID of the cc object affected by an event.
	ActeeGUID string

	// ActeeType is the type of the cc object affected by an event.
	ActeeType string

	// ActeeName is the name of the cc object affected by an event.
	ActeeName string

	// Timestamp is the event creation time.
	Timestamp time.Time

	// Metadata contains additional information about the event.
	Metadata map[string]interface{}
}

Event represents a Cloud Controller Event

func (*Event) UnmarshalJSON ¶

func (event *Event) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Event response.

type FeatureFlag ¶

type FeatureFlag struct {
	// Name is a string representation of the Cloud Controller
	// feature flag's name.
	Name string `json:"name"`

	// Enabled is the status of the Cloud Controller feature
	// flag.
	Enabled bool `json:"enabled"`
}

FeatureFlag represents a Cloud Controller feature flag.

type Filter ¶

type Filter struct {
	// Type is the component that determines what the query is filtered by.
	Type constant.FilterType

	// Operator is the component that determines how the the query will be filtered.
	Operator constant.FilterOperator

	// Values is the component that determines what values are filtered.
	Values []string
}

Filter is a type of filter that can be passed to specific request to narrow down the return set.

type Job ¶

type Job struct {

	// Error is the error a job returns if it failed. It is otherwise empty.
	Error string

	// ErrorDetails is a detailed description of a job failure returned by the
	// Cloud Controller.
	ErrorDetails struct {
		Description string
	}

	// GUID is the unique job identifier.
	GUID string

	// Status is the current state of the job.
	Status constant.JobStatus
}

Job represents a Cloud Controller Job.

func (Job) Failed ¶

func (job Job) Failed() bool

Failed returns true when the job has completed with an error/failure.

func (Job) Finished ¶

func (job Job) Finished() bool

Finished returns true when the job has completed successfully.

func (*Job) UnmarshalJSON ¶

func (job *Job) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Job response.

type LastOperation ¶

type LastOperation struct {
	// Type is the type of operation that was last performed or currently being
	// performed on the service instance.
	Type string `json:"type"`

	// State is the status of the last operation or current operation being
	// performed on the service instance.
	State constant.LastOperationState `json:"state"`

	// Description is the service broker-provided description of the operation.
	Description string `json:"description"`

	// UpdatedAt is the timestamp that the Cloud Controller last checked the
	// service instance state from the broker.
	UpdatedAt string `json:"updated_at"`

	// CreatedAt is the timestamp that the Cloud Controller created the service
	// instance from the broker.
	CreatedAt string `json:"created_at"`
}

LastOperation is the status of the last operation requested on a service instance.

type MaintenanceInfo ¶

type MaintenanceInfo struct {
	Version     string `json:"version,omitempty"`
	Description string `json:"description,omitempty"`
}

type Organization ¶

type Organization struct {

	// GUID is the unique Organization identifier.
	GUID string

	// Name is the organization's name.
	Name string

	// QuotaDefinitionGUID is unique identifier of the quota assigned to this
	// organization.
	QuotaDefinitionGUID string

	// DefaultIsolationSegmentGUID is the unique identifier of the isolation
	// segment this organization is tagged with.
	DefaultIsolationSegmentGUID string
}

Organization represents a Cloud Controller Organization.

func (*Organization) UnmarshalJSON ¶

func (org *Organization) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Organization response.

type OrganizationQuota ¶

type OrganizationQuota struct {

	// GUID is the unique OrganizationQuota identifier.
	GUID string

	// Name is the name of the OrganizationQuota.
	Name string
}

OrganizationQuota is the definition of a quota for an organization.

func (*OrganizationQuota) UnmarshalJSON ¶

func (application *OrganizationQuota) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller organization quota response.

type PaginatedResources ¶

type PaginatedResources struct {
	NextURL        string          `json:"next_url"`
	ResourcesBytes json.RawMessage `json:"resources"`
	// contains filtered or unexported fields
}

PaginatedResources represents a page of resources returned by the Cloud Controller.

func NewPaginatedResources ¶

func NewPaginatedResources(exampleResource interface{}) *PaginatedResources

NewPaginatedResources returns a new PaginatedResources struct with the given resource type.

func (PaginatedResources) Resources ¶

func (pr PaginatedResources) Resources() ([]interface{}, error)

Resources unmarshals JSON representing a page of resources and returns a slice of the given resource type.

type Params ¶

type Params map[string]string

Params represents URI parameters for a request.

type Reader ¶

type Reader interface {
	io.Reader
}

Reader is an io.Reader.

type Resource ¶

type Resource struct {

	// Filename is the name of the resource.
	Filename string `json:"fn"`

	// Mode is the operating system file mode (aka file permissions) of the
	// resource.
	Mode os.FileMode `json:"mode"`

	// SHA1 represents the SHA-1 hash of the resource.
	SHA1 string `json:"sha1"`

	// Size represents the file size of the resource.
	Size int64 `json:"size"`
}

Resource represents a Cloud Controller Resource.

func (Resource) MarshalJSON ¶

func (r Resource) MarshalJSON() ([]byte, error)

MarshalJSON converts a resource into a Cloud Controller Resource.

func (*Resource) UnmarshalJSON ¶

func (r *Resource) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Resource response.

type Route ¶

type Route struct {

	// GUID is the unique Route identifier.
	GUID string `json:"-"`

	// Host is the hostname of the route.
	Host string `json:"host,omitempty"`

	// Path is the path of the route.
	Path string `json:"path,omitempty"`

	// Port is the port number of the route.
	Port types.NullInt `json:"port,omitempty"`

	// DomainGUID is the unique Domain identifier.
	DomainGUID string `json:"domain_guid"`

	// SpaceGUID is the unique Space identifier.
	SpaceGUID string `json:"space_guid"`
}

Route represents a Cloud Controller Route.

func (*Route) UnmarshalJSON ¶

func (route *Route) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Route response.

type RouteMapping ¶

type RouteMapping struct {
	// GUID is the unique route mapping identifier.
	GUID string

	// AppGUID is the unique application identifier.
	AppGUID string

	// RouteGUID is the unique route identifier.
	RouteGUID string
}

RouteMapping represents a Cloud Controller map between an application and route.

func (*RouteMapping) UnmarshalJSON ¶

func (routeMapping *RouteMapping) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Route Mapping

type SecurityGroup ¶

type SecurityGroup struct {
	// GUID is the unique Security Group identifier.
	GUID string
	// Name is the Security Group's name.
	Name string
	// Rules are the Security Group Rules associated with this Security Group.
	Rules []SecurityGroupRule
	// RunningDefault is true when this Security Group is applied to all running
	// apps in the CF instance.
	RunningDefault bool
	// StagingDefault is true when this Security Group is applied to all staging
	// apps in the CF instance.
	StagingDefault bool
}

SecurityGroup represents a Cloud Controller Security Group.

func (*SecurityGroup) UnmarshalJSON ¶

func (securityGroup *SecurityGroup) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Security Group response

type SecurityGroupRule ¶

type SecurityGroupRule struct {
	// Description is a short message discribing the rule.
	Description string

	// Destination is the destination CIDR or range of IPs.
	Destination string

	// Ports is the port or port range.
	Ports string

	// Protocol can be tcp, icmp, udp, all.
	Protocol string
}

SecurityGroupRule represents a Cloud Controller Security Group Role.

type Service ¶

type Service struct {
	// GUID is the unique Service identifier.
	GUID string
	// Label is the name of the service.
	Label string
	// Description is a short blurb describing the service.
	Description string
	// DocumentationURL is a url that points to a documentation page for the
	// service.
	DocumentationURL string
	// ServiceBrokerName is name of the service broker associated with the service
	ServiceBrokerName string
	// Extra is a field with extra data pertaining to the service.
	Extra ServiceExtra
}

Service represents a Cloud Controller Service.

func (*Service) UnmarshalJSON ¶

func (service *Service) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service response.

type ServiceBinding ¶

type ServiceBinding struct {
	// AppGUID is the associated application GUID.
	AppGUID string
	// GUID is the unique Service Binding identifier.
	GUID string
	// LastOperation
	LastOperation LastOperation
	// Name is the name of the service binding
	Name string
	// ServiceInstanceGUID is the associated service GUID.
	ServiceInstanceGUID string
}

ServiceBinding represents a Cloud Controller Service Binding.

func (*ServiceBinding) UnmarshalJSON ¶

func (serviceBinding *ServiceBinding) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service Binding response.

type ServiceBroker ¶

type ServiceBroker struct {
	// AuthUsername is the HTTP Basic Auth username of the service broker.
	AuthUsername string
	// BrokerURL is the URL of the service broker.
	BrokerURL string
	// GUID is the unique Service Broker identifier.
	GUID string
	// Name is the name of the service broker.
	Name string
	// SpaceGUID is the space guid of the serivce broker. Only applies to space scoped service brokers.
	SpaceGUID string
}

ServiceBroker represents a Cloud Controller Service Broker.

func (*ServiceBroker) UnmarshalJSON ¶

func (serviceBroker *ServiceBroker) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service Broker response.

type ServiceExtra ¶

type ServiceExtra struct {
	// DocumentationURL is the URL of the documentation page for the service.
	DocumentationURL string `json:"documentationUrl"`

	// Shareable is true if the service is shareable across organizations and
	// spaces.
	Shareable bool
}

ServiceExtra contains extra service related properties.

type ServiceInstance ¶

type ServiceInstance struct {
	// GUID is the unique service instance identifier.
	GUID string

	// Name is the name given to the service instance.
	Name string

	// SpaceGUID is the unique identifier of the space that this service instance
	// belongs to.
	SpaceGUID string

	// ServiceGUID is the unique identifier of the service that this service
	// instance belongs to.
	ServiceGUID string

	// ServicePlanGUID is the unique identifier of the service plan that this
	// service instance belongs to.
	ServicePlanGUID string

	// Type is the type of service instance.
	Type constant.ServiceInstanceType

	// Tags is a list of all tags for the service instance.
	Tags []string

	// DashboardURL is the service-broker provided URL to access administrative
	// features of the service instance.
	DashboardURL string

	// RouteServiceURL is the URL of the user-provided service to which requests
	// for bound routes will be forwarded.
	RouteServiceURL string

	// LastOperation is the status of the last operation requested on the service
	// instance.
	LastOperation LastOperation

	// MaintenanceInfo is the maintenance version of this service instance
	MaintenanceInfo MaintenanceInfo
}

ServiceInstance represents a Cloud Controller Service Instance.

func (ServiceInstance) Managed ¶

func (serviceInstance ServiceInstance) Managed() bool

Managed returns true if the Service Instance is a managed service.

func (*ServiceInstance) UnmarshalJSON ¶

func (serviceInstance *ServiceInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service Instance response.

func (ServiceInstance) UserProvided ¶

func (serviceInstance ServiceInstance) UserProvided() bool

UserProvided returns true if the Service Instance is a user provided service.

type ServiceInstanceSharedFrom ¶

type ServiceInstanceSharedFrom struct {
	// SpaceGUID is the unique identifier of the space that this service is
	// shared from.
	SpaceGUID string `json:"space_guid"`

	// SpaceName is the name of the space that this service is shared from.
	SpaceName string `json:"space_name"`

	// OrganizationName is the name of the organization that this service is
	// shared from.
	OrganizationName string `json:"organization_name"`
}

ServiceInstanceSharedFrom represents a Cloud Controller relationship object that describes a service instance in another space (and possibly org) that this service instance is **shared from**.

type ServiceInstanceSharedTo ¶

type ServiceInstanceSharedTo struct {
	// SpaceGUID is the unique identifier of the space that this service is
	// shared to.
	SpaceGUID string `json:"space_guid"`

	// SpaceName is the name of the space that this service is shared to.
	SpaceName string `json:"space_name"`

	// OrganizationName is the name of the organization that this service is
	// shared to.
	OrganizationName string `json:"organization_name"`

	// BoundAppCount is the number of apps that are bound to the shared to
	// service instance.
	BoundAppCount int `json:"bound_app_count"`
}

ServiceInstanceSharedTo represents a Cloud Controller relationship object that describes a service instance in another space (and possibly org) that this service is **shared to**.

type ServiceKey ¶

type ServiceKey struct {
	// GUID is the unique Service Key identifier.
	GUID string
	// Name is the name of the service key.
	Name string
	// ServiceInstanceGUID is the associated service instance GUID.
	ServiceInstanceGUID string
	// Credentials are the credentials returned by the service broker for the service key.
	Credentials map[string]interface{}
}

ServiceKey represents a Cloud Controller Service Key.

func (*ServiceKey) UnmarshalJSON ¶

func (serviceKey *ServiceKey) UnmarshalJSON(data []byte) error

type ServicePlan ¶

type ServicePlan struct {
	//GUID is the unique identifier of the service plan.
	GUID string

	// Name is the name of the service plan.
	Name string

	// ServiceGUID is the unique identifier of the service that the service
	// plan belongs to.
	ServiceGUID string

	// Public is true if plan is accessible to all organizations.
	Public bool

	// Description of the plan
	Description string

	// Free is true if plan is free
	Free bool

	// Information about maintenance available
	MaintenanceInfo MaintenanceInfo
}

ServicePlan represents a predefined set of configurations for a Cloud Controller service object.

func (*ServicePlan) UnmarshalJSON ¶

func (servicePlan *ServicePlan) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service Plan response.

type ServicePlanVisibility ¶

type ServicePlanVisibility struct {
	// GUID is the unique Service Plan Visibility identifier.
	GUID string
	// ServicePlanGUID of the associated Service Plan.
	ServicePlanGUID string
	// OrganizationGUID of the associated Organization.
	OrganizationGUID string
}

ServicePlanVisibility represents a Cloud Controller Service Plan Visibility.

func (*ServicePlanVisibility) UnmarshalJSON ¶

func (servicePlanVisibility *ServicePlanVisibility) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Service Plan Visibilities response.

type Space ¶

type Space struct {
	// AllowSSH specifies whether SSH is enabled for this space.
	AllowSSH bool

	// GUID is the unique space identifier.
	GUID string

	// Name is the name given to the space.
	Name string

	// OrganizationGUID is the unique identifier of the organization this space
	// belongs to.
	OrganizationGUID string

	// SpaceQuotaDefinitionGUID is the unique identifier of the space quota
	// defined for this space.
	SpaceQuotaDefinitionGUID string
}

Space represents a Cloud Controller Space.

func (*Space) UnmarshalJSON ¶

func (space *Space) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Space response.

type SpaceQuota ¶

type SpaceQuota struct {

	// GUID is the unique space quota identifier.
	GUID string

	// Name is the name given to the space quota.
	Name string
}

SpaceQuota represents the Cloud Controller configured quota assigned to the space.

func (*SpaceQuota) UnmarshalJSON ¶

func (spaceQuota *SpaceQuota) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Space Quota response.

type SpaceSummary ¶

type SpaceSummary struct {
	Applications     []SpaceSummaryApplication
	Name             string
	ServiceInstances []SpaceSummaryServiceInstance
}

SpaceSummary represents a service instance inside a space

func (*SpaceSummary) UnmarshalJSON ¶

func (spaceSummary *SpaceSummary) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Space Summary response.

type SpaceSummaryApplication ¶

type SpaceSummaryApplication struct {
	Name         string   `json:"name"`
	ServiceNames []string `json:"service_names"`
}

SpaceSummaryApplication represents an application inside a space

type SpaceSummaryService ¶

type SpaceSummaryService struct {
	GUID              string
	Label             string
	ServiceBrokerName string
}

SpaceSummaryService represents a service inside a space

type SpaceSummaryServiceInstance ¶

type SpaceSummaryServiceInstance struct {
	LastOperation   LastOperation           `json:"last_operation"`
	Name            string                  `json:"name"`
	ServicePlan     SpaceSummaryServicePlan `json:"service_plan"`
	MaintenanceInfo MaintenanceInfo         `json:"maintenance_info"`
}

SpaceSummaryServiceInstance represents a service instance inside a space

type SpaceSummaryServicePlan ¶

type SpaceSummaryServicePlan struct {
	GUID            string              `json:"guid"`
	Name            string              `json:"name"`
	Service         SpaceSummaryService `json:"service"`
	MaintenanceInfo MaintenanceInfo     `json:"maintenance_info"`
}

SpaceSummaryServicePlan represents a service plan inside a space

type Stack ¶

type Stack struct {
	// GUID is the unique stack identifier.
	GUID string

	// Name is the name given to the stack.
	Name string

	// Description is the description of the stack.
	Description string
}

Stack represents a Cloud Controller Stack.

func (*Stack) UnmarshalJSON ¶

func (stack *Stack) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller Stack response.

type TargetSettings ¶

type TargetSettings struct {
	// DialTimeout is the DNS timeout used to make all requests to the Cloud
	// Controller.
	DialTimeout time.Duration

	// SkipSSLValidation controls whether a client verifies the server's
	// certificate chain and host name. If SkipSSLValidation is true, TLS accepts
	// any certificate presented by the server and any host name in that
	// certificate for *all* client requests going forward.
	//
	// In this mode, TLS is susceptible to man-in-the-middle attacks. This should
	// be used only for testing.
	SkipSSLValidation bool

	// URL is a fully qualified URL to the Cloud Controller API.
	URL string
}

TargetSettings represents configuration for establishing a connection to the Cloud Controller server.

type User ¶

type User struct {
	// GUID is the unique user identifier.
	GUID string
}

User represents a Cloud Controller User.

func (*User) UnmarshalJSON ¶

func (user *User) UnmarshalJSON(data []byte) error

UnmarshalJSON helps unmarshal a Cloud Controller User response.

type UserProvidedServiceInstance ¶

type UserProvidedServiceInstance struct {
	// Tags on the user-provided service instance
	Tags *[]string `json:"tags,omitempty"`
	// SyslogDrainURL for the user-provided service instance
	SyslogDrainURL *string `json:"syslog_drain_url,omitempty"`
	// RouteServiceURL for the user-provided service instance
	RouteServiceURL *string `json:"route_service_url,omitempty"`
	// Credentials for the user-provided service instance
	Credentials interface{} `json:"credentials,omitempty"`
}

UserProvidedServiceInstance represents the data to update a user-provided service instance. All fields are optional.

func (UserProvidedServiceInstance) WithCredentials ¶

func (u UserProvidedServiceInstance) WithCredentials(creds map[string]interface{}) UserProvidedServiceInstance

func (UserProvidedServiceInstance) WithRouteServiceURL ¶

func (UserProvidedServiceInstance) WithSyslogDrainURL ¶

func (UserProvidedServiceInstance) WithTags ¶

type Warnings ¶

type Warnings []string

Warnings are a collection of warnings that the Cloud Controller can return back from an API request.

Directories ¶

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.
Package constant contains types and constants used by the ccv2 package.
Package constant contains types and constants used by the ccv2 package.

Jump to

Keyboard shortcuts

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