spinnaker/urls.go (34 lines of code) (raw):
// Copyright 2016 Netflix, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package spinnaker
import "fmt"
// appsUrl returns the Spinnaker endpoint for retrieving all applications
func (s Spinnaker) appsURL() string {
return s.endpoint + "/applications"
}
// appUrl returns the Spinnaker endpoint for retrieving one application
func (s Spinnaker) appURL(appName string) string {
return s.endpoint + "/applications/" + appName
}
// clustersUrl returns the Spinnaker endpoint for retrieving applications
func (s Spinnaker) clustersURL(appName string) string {
return fmt.Sprintf("%s/applications/%s/clusters", s.endpoint, appName)
}
// clusterUrl returns the Spinnaker endpoint for retrieving info about a cluster
func (s Spinnaker) clusterURL(appName string, account string, clusterName string) string {
return fmt.Sprintf("%s/applications/%s/clusters/%s/%s", s.endpoint, appName, account, clusterName)
}
// serverGroupsUrl returns the Spinnaker endpoint for retrieving server groups
func (s Spinnaker) serverGroupsURL(appName, account, clusterName string) string {
return fmt.Sprintf("%s/applications/%s/clusters/%s/%s/serverGroups", s.endpoint, appName, account, clusterName)
}
// accountURL returns the Spinnaker endpoint for retrieving account info
func (s Spinnaker) accountURL(account string) string {
return fmt.Sprintf("%s/credentials/%s", s.endpoint, account)
}
// accountsURL returns the Spinnaker endpoint for retrieving all accounts, with details or not
func (s Spinnaker) accountsURL(expanded bool) string {
var qs string
if expanded {
qs = "?expand=true"
}
return fmt.Sprintf("%s/credentials/"+qs, s.endpoint)
}
// instanceURL returns the spinnaker URL for an instance
func (s Spinnaker) instanceURL(account string, region string, id string) string {
return fmt.Sprintf("%s/instances/%s/%s/%s", s.endpoint, account, region, id)
}
// activeASGURL returns the spinnaker URL for getting the active asg in a cluster
func (s Spinnaker) activeASGURL(appName, account, clusterName, cloudProvider, region string) string {
return fmt.Sprintf("%s/applications/%s/clusters/%s/%s/%s/%s/serverGroups/target/CURRENT?onlyEnabled=true",
s.endpoint, appName, account, clusterName, cloudProvider, region)
}