-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy pathurls.go
67 lines (56 loc) · 2.68 KB
/
urls.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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)
}