Samuel A. Falvo II | 2e2b877 | 2013-07-04 15:40:15 -0700 | [diff] [blame] | 1 | package gophercloud |
| 2 | |
| 3 | // AccessProvider instances encapsulate a Keystone authentication interface. |
| 4 | type AccessProvider interface { |
| 5 | // FirstEndpointUrlByCriteria searches through the service catalog for the first |
| 6 | // matching entry endpoint fulfilling the provided criteria. If nothing found, |
| 7 | // return "". Otherwise, return either the public or internal URL for the |
| 8 | // endpoint, depending on both its existence and the setting of the ApiCriteria.UrlChoice |
| 9 | // field. |
| 10 | FirstEndpointUrlByCriteria(ApiCriteria) string |
Samuel A. Falvo II | bc0d54a | 2013-07-08 14:45:21 -0700 | [diff] [blame] | 11 | |
| 12 | // TODO(sfalvo): get Token() to automatically renew the authentication token if it's near expiry. |
| 13 | |
| 14 | // AuthToken provides a copy of the current authentication token for the user's credentials. |
| 15 | AuthToken() string |
Samuel A. Falvo II | 2e2b877 | 2013-07-04 15:40:15 -0700 | [diff] [blame] | 16 | } |
| 17 | |
Samuel A. Falvo II | 1dd740a | 2013-07-08 15:48:40 -0700 | [diff] [blame] | 18 | // CloudServersProvider instances encapsulate a Cloud Servers API, should one exist in the service catalog |
Samuel A. Falvo II | 2e2b877 | 2013-07-04 15:40:15 -0700 | [diff] [blame] | 19 | // for your provider. |
Samuel A. Falvo II | 1dd740a | 2013-07-08 15:48:40 -0700 | [diff] [blame] | 20 | type CloudServersProvider interface { |
Samuel A. Falvo II | 0a6e45a | 2013-07-11 17:00:41 -0700 | [diff] [blame^] | 21 | // Servers |
| 22 | |
Samuel A. Falvo II | 2e2b877 | 2013-07-04 15:40:15 -0700 | [diff] [blame] | 23 | ListServers() ([]Server, error) |
Samuel A. Falvo II | 02f5e83 | 2013-07-10 13:52:27 -0700 | [diff] [blame] | 24 | ServerById(id string) (*Server, error) |
Samuel A. Falvo II | 0a6e45a | 2013-07-11 17:00:41 -0700 | [diff] [blame^] | 25 | |
| 26 | // Images |
| 27 | |
| 28 | ListImages() ([]Image, error) |
Samuel A. Falvo II | 2e2b877 | 2013-07-04 15:40:15 -0700 | [diff] [blame] | 29 | } |
Samuel A. Falvo II | 0a6e45a | 2013-07-11 17:00:41 -0700 | [diff] [blame^] | 30 | |