Documentation ¶
Index ¶
Constants ¶
const ( DeleteApplicationProcessInstanceRequest = "DeleteApplicationProcessInstanceRequest" DeleteApplicationRequest = "DeleteApplication" DeleteIsolationSegmentRelationshipOrganizationRequest = "DeleteIsolationSegmentRelationshipOrganization" DeleteIsolationSegmentRequest = "DeleteIsolationSegment" GetAppDroplets = "GetAppDroplets" GetAppProcessesRequest = "GetAppProcesses" GetAppTasksRequest = "GetAppTasks" GetApplicationProcessByTypeRequest = "GetApplicationProcessByType" GetAppsRequest = "GetApps" GetBuildRequest = "GetBuild" GetIsolationSegmentOrganizationsRequest = "GetIsolationSegmentRelationshipOrganizations" GetIsolationSegmentRequest = "GetIsolationSegment" GetIsolationSegmentsRequest = "GetIsolationSegments" GetOrganizationDefaultIsolationSegmentRequest = "GetOrganizationDefaultIsolationSegment" GetOrgsRequest = "GetOrgs" GetPackageRequest = "GetPackage" GetPackagesRequest = "GetPackages" GetProcessInstancesRequest = "GetProcessInstances" GetSpaceRelationshipIsolationSegmentRequest = "GetSpaceRelationshipIsolationSegmentRequest" PatchApplicationCurrentDropletRequest = "PatchApplicationCurrentDroplet" PatchApplicationProcessHealthCheckRequest = "PatchApplicationProcessHealthCheck" PatchApplicationRequest = "PatchApplicationRequest" PatchOrganizationDefaultIsolationSegmentRequest = "PatchOrganizationDefaultIsolationSegmentRequest" PatchSpaceRelationshipIsolationSegmentRequest = "PatchSpaceRelationshipIsolationSegmentRequest" PostAppTasksRequest = "PostAppTasks" PostApplicationProcessScaleRequest = "PostApplicationProcessScale" PostApplicationRequest = "PostApplicationRequest" PostApplicationStartRequest = "PostApplicationStart" PostApplicationStopRequest = "PostApplicationStop" PostBuildRequest = "PostBuild" PostIsolationSegmentRelationshipOrganizationsRequest = "PostIsolationSegmentRelationshipOrganizations" PostIsolationSegmentsRequest = "PostIsolationSegments" PostPackageRequest = "PostPackageRequest" PutTaskCancelRequest = "PutTaskCancelRequest" )
Naming convention:
Method + non-parameter parts of the path
If the request returns a single entity by GUID, use the singular (for example /v2/organizations/:organization_guid is GetOrganization).
The const name should always be the const value + Request.
const ( AppsResource = "apps" BuildsResource = "builds" IsolationSegmentsResource = "isolation_segments" OrgsResource = "organizations" PackagesResource = "packages" ProcessesResource = "processes" SpacesResource = "spaces" TasksResource = "tasks" )
Variables ¶
var APIRoutes = []Route{ {Path: "/", Method: http.MethodGet, Name: GetAppsRequest, Resource: AppsResource}, {Path: "/", Method: http.MethodGet, Name: GetIsolationSegmentsRequest, Resource: IsolationSegmentsResource}, {Path: "/", Method: http.MethodGet, Name: GetOrgsRequest, Resource: OrgsResource}, {Path: "/", Method: http.MethodGet, Name: GetPackagesRequest, Resource: PackagesResource}, {Path: "/", Method: http.MethodPost, Name: PostApplicationRequest, Resource: AppsResource}, {Path: "/", Method: http.MethodPost, Name: PostBuildRequest, Resource: BuildsResource}, {Path: "/", Method: http.MethodPost, Name: PostIsolationSegmentsRequest, Resource: IsolationSegmentsResource}, {Path: "/", Method: http.MethodPost, Name: PostPackageRequest, Resource: PackagesResource}, {Path: "/:app_guid", Method: http.MethodDelete, Name: DeleteApplicationRequest, Resource: AppsResource}, {Path: "/:isolation_segment_guid", Method: http.MethodDelete, Name: DeleteIsolationSegmentRequest, Resource: IsolationSegmentsResource}, {Path: "/:build_guid", Method: http.MethodGet, Name: GetBuildRequest, Resource: BuildsResource}, {Path: "/:isolation_segment_guid", Method: http.MethodGet, Name: GetIsolationSegmentRequest, Resource: IsolationSegmentsResource}, {Path: "/:package_guid", Method: http.MethodGet, Name: GetPackageRequest, Resource: PackagesResource}, {Path: "/:process_guid", Method: http.MethodPatch, Name: PatchApplicationProcessHealthCheckRequest, Resource: ProcessesResource}, {Path: "/:app_guid", Method: http.MethodPatch, Name: PatchApplicationRequest, Resource: AppsResource}, {Path: "/:app_guid/actions/start", Method: http.MethodPost, Name: PostApplicationStartRequest, Resource: AppsResource}, {Path: "/:app_guid/actions/stop", Method: http.MethodPost, Name: PostApplicationStopRequest, Resource: AppsResource}, {Path: "/:task_guid/cancel", Method: http.MethodPut, Name: PutTaskCancelRequest, Resource: TasksResource}, {Path: "/:app_guid/droplets", Method: http.MethodGet, Name: GetAppDroplets, Resource: AppsResource}, {Path: "/:isolation_segment_guid/organizations", Method: http.MethodGet, Name: GetIsolationSegmentOrganizationsRequest, Resource: IsolationSegmentsResource}, {Path: "/:app_guid/processes", Method: http.MethodGet, Name: GetAppProcessesRequest, Resource: AppsResource}, {Path: "/:app_guid/processes/:type", Method: http.MethodGet, Name: GetApplicationProcessByTypeRequest, Resource: AppsResource}, {Path: "/:app_guid/processes/:type/actions/scale", Method: http.MethodPost, Name: PostApplicationProcessScaleRequest, Resource: AppsResource}, {Path: "/:app_guid/processes/:type/instances/:index", Method: http.MethodDelete, Name: DeleteApplicationProcessInstanceRequest, Resource: AppsResource}, {Path: "/:app_guid/relationships/current_droplet", Method: http.MethodPatch, Name: PatchApplicationCurrentDropletRequest, Resource: AppsResource}, {Path: "/:organization_guid/relationships/default_isolation_segment", Method: http.MethodGet, Name: GetOrganizationDefaultIsolationSegmentRequest, Resource: OrgsResource}, {Path: "/:organization_guid/relationships/default_isolation_segment", Method: http.MethodPatch, Name: PatchOrganizationDefaultIsolationSegmentRequest, Resource: OrgsResource}, {Path: "/:space_guid/relationships/isolation_segment", Method: http.MethodGet, Name: GetSpaceRelationshipIsolationSegmentRequest, Resource: SpacesResource}, {Path: "/:space_guid/relationships/isolation_segment", Method: http.MethodPatch, Name: PatchSpaceRelationshipIsolationSegmentRequest, Resource: SpacesResource}, {Path: "/:isolation_segment_guid/relationships/organizations", Method: http.MethodPost, Name: PostIsolationSegmentRelationshipOrganizationsRequest, Resource: IsolationSegmentsResource}, {Path: "/:isolation_segment_guid/relationships/organizations/:organization_guid", Method: http.MethodDelete, Name: DeleteIsolationSegmentRelationshipOrganizationRequest, Resource: IsolationSegmentsResource}, {Path: "/:process_guid/stats", Method: http.MethodGet, Name: GetProcessInstancesRequest, Resource: ProcessesResource}, {Path: "/:app_guid/tasks", Method: http.MethodGet, Name: GetAppTasksRequest, Resource: AppsResource}, {Path: "/:app_guid/tasks", Method: http.MethodPost, Name: PostAppTasksRequest, Resource: AppsResource}, }
APIRoutes is a list of routes used by the router to construct request URLs.
Functions ¶
This section is empty.
Types ¶
type Params ¶
Params map path keys to values. For example, if your route has the path pattern:
/person/:person_id/pets/:pet_type
Then a correct Params map would lool like:
router.Params{ "person_id": "123", "pet_type": "cats", }
type Route ¶
type Route struct { // Name is a key specifying which HTTP route the router should associate with // the endpoint at runtime. Name string // Method is any valid HTTP method Method string // Path contains a path pattern Path string // Resource is a key specifying which resource root the router should // associate with the endpoint at runtime. Resource string }
Route defines the property of a Cloud Controller V3 endpoint.
Method can be one of the following:
GET HEAD POST PUT PATCH DELETE CONNECT OPTIONS TRACE
Path conforms to Pat-style pattern matching. The following docs are taken from http://godoc.org/github.com/bmizerany/pat#PatternServeMux
Path Patterns may contain literals or captures. Capture names start with a colon and consist of letters A-Z, a-z, _, and 0-9. The rest of the pattern matches literally. The portion of the URL matching each name ends with an occurrence of the character in the pattern immediately following the name, or a /, whichever comes first. It is possible for a name to match the empty string.
Example pattern with one capture:
/hello/:name
Will match:
/hello/blake /hello/keith
Will not match:
/hello/blake/ /hello/blake/foo /foo /foo/bar
Example 2:
/hello/:name/
Will match:
/hello/blake/ /hello/keith/foo /hello/blake /hello/keith
Will not match:
/foo /foo/bar