cloudfoundryclient

package
v0.0.17 Latest Latest
Warning

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

Go to latest
Published: May 26, 2015 License: Apache-2.0, GPL-2.0 Imports: 6 Imported by: 10

Documentation

Index

Constants

View Source
const (
	//OrgCreateSuccessStatusCode - success status code from a call to the org create cc endpoint
	OrgCreateSuccessStatusCode = 201
	//OrgEndpoint - the endpoint to hit for org actions
	OrgEndpoint = "/v2/organizations"
	//SpacesEndpont - the endpoint to hit for spaces actions
	SpacesEndpont = "/v2/spaces"
	//ListUsersEndpoint - get a list of all users in paas
	ListUsersEndpoint = "/Users"
	//ListUsersSuccessStatus - success status code for users call
	ListUsersSuccessStatus = 200
	//InfoURLPath - the endpoint to grab api info data
	InfoURLPath = "/v2/info"
	//InfoSuccessStatus
	InfoSuccessStatus = 200
	//RoleTypeManager - this is the managers type for role assignments
	RoleTypeManager = "managers"
	//RoleTypeUser - this is the users type for role assignments
	RoleTypeUser = "users"
	//RoleCreationURLFormat - formatter string for role creation url generation
	RoleCreationURLFormat = "%s/%s/%s/%s"
	//RoleCreateSuccessStatusCode - success status code for role assignment calls
	RoleCreateSuccessStatusCode = 201
)

Variables

View Source
var (
	//ErrOrgCreateAPICallFailure - error for failed call to create org endpoint
	ErrOrgCreateAPICallFailure = errors.New("failed to create org on api call")
	//ErrNoUserFound - error no user found
	ErrNoUserFound = errors.New("no matching user found in system")
	//ErrFailedStatusCode - we recieved a status code not matching the success code for the endpoint
	ErrFailedStatusCode = errors.New("status code response does not match the known success status code for rest endpoint")
)

Functions

This section is empty.

Types

type APIMetadata

type APIMetadata struct {
	GUID      string `json:"guid"`
	URL       string `json:"url"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

APIMetadata = cc http response metadata

type APIResponse

type APIResponse struct {
	Metadata APIMetadata            `json:"metadata"`
	Entity   map[string]interface{} `json:"entity"`
}

APIResponse - cc http response object

type APIResponseList

type APIResponseList struct {
	Resources []APIResponse `json:"resources"`
}

APIResponseList - a list of resources or apiresponse objects

type AuthRequestCreator

type AuthRequestCreator interface {
	CreateAuthRequest(verb, requestURL, path string, args interface{}) (*http.Request, error)
	CCTarget() string
	HttpClient() ccclient.ClientDoer
	Login() (*ccclient.Client, error)
}

AuthRequestCreator - creates auth decorated http request objects

type CFClient

type CFClient struct {
	RequestDecorator AuthRequestCreator
	Info             *CloudFoundryAPIInfo
	Log              logger
}

CFClient - cloud foundry api client struct

func (*CFClient) AddOrg

func (s *CFClient) AddOrg(orgName string) (orgGUID string, err error)

AddOrg - add an org to the target foundation

func (*CFClient) AddRole

func (s *CFClient) AddRole(rolePathPrefix string, targetGUID string, roleType string, userGUID string) (err error)

AddRole - add a role mapping a user to a org or space

func (*CFClient) AddSpace

func (s *CFClient) AddSpace(spaceName string) (spaceGUID string, err error)

AddSpace - add a space to the given org

func (*CFClient) AddUser

func (s *CFClient) AddUser(username string) (err error)

AddUser - add a user to the targetted foundation

func (*CFClient) QueryAPIInfo

func (s *CFClient) QueryAPIInfo() (info *CloudFoundryAPIInfo, err error)

QueryAPIInfo - get the info results for your target rest api

func (*CFClient) QueryUserGUID

func (s *CFClient) QueryUserGUID(username string) (guid string, err error)

QueryUserGUID - get the guid for the given user

type CloudFoundryAPIInfo

type CloudFoundryAPIInfo struct {
	Name                     string `json:"name"`
	Build                    string `json:"build"`
	Support                  string `json:"support"`
	Version                  int    `json:"version"`
	Description              string `json:"description"`
	AuthorizationEndpoint    string `json:"authorization_endpoint"`
	TokenEndpoint            string `json:"token_endpoint"`
	MinCLIVersion            string `json:"min_cli_version"`
	MinRecommendedCLIVersion string `json:"min_recommended_cli_version"`
	APIVersion               string `json:"api_version"`
	LoggingEndpoint          string `json:"logging_endpoint"`
}

CloudFoundryAPIInfo - info response object from cc info endpoint

type CloudFoundryClient

type CloudFoundryClient interface {
	QueryAPIInfo() (*CloudFoundryAPIInfo, error)
	QueryUserGUID(username string) (string, error)
	AddRole(rolePathPrefix string, targetGUID string, roleType string, userGUID string) error
	AddOrg(orgName string) (orgGUID string, err error)
	AddSpace(spaceName string) (spaceGUID string, err error)
	AddUser(username string) error
}

CloudFoundryClient - interface for a cloud foundry client

func NewCloudFoundryClient

func NewCloudFoundryClient(auth AuthRequestCreator, log logger) CloudFoundryClient

NewCloudFoundryClient - generate a new cloudfoundryclient interface object

type RestRunner

type RestRunner struct {
	Verb              string
	URL               string
	Data              interface{}
	Path              string
	SuccessStatusCode int
	OnSuccess         func(*http.Response)
	OnFailure         func(*http.Response, error)
	RequestDecorator  AuthRequestCreator
	Logger            logger
}

RestRunner - runs a rest call

func (*RestRunner) Run

func (s *RestRunner) Run()

type UserAPIResponse

type UserAPIResponse struct {
	Resources []map[string]interface{}
}

UserAPIResponse - the user api response object

Jump to

Keyboard shortcuts

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