@@ -14,6 +14,7 @@ var _ AccessTokens = (*accessTokens)(nil)
1414// AccessTokens describes all the access token related methods that the
1515// Scalr IACP API supports.
1616type AccessTokens interface {
17+ Read (ctx context.Context , accessTokenID string ) (* AccessToken , error )
1718 Update (ctx context.Context , accessTokenID string , options AccessTokenUpdateOptions ) (* AccessToken , error )
1819 Delete (ctx context.Context , accessTokenID string ) error
1920}
@@ -58,6 +59,27 @@ type AccessTokenUpdateOptions struct {
5859 Description * string `jsonapi:"attr,description,omitempty"`
5960}
6061
62+ // Read access token by its ID
63+ func (s * accessTokens ) Read (ctx context.Context , accessTokenID string ) (* AccessToken , error ) {
64+ if ! validStringID (& accessTokenID ) {
65+ return nil , errors .New ("invalid value for access token ID" )
66+ }
67+
68+ u := fmt .Sprintf ("access-tokens/%s" , url .QueryEscape (accessTokenID ))
69+ req , err := s .client .newRequest ("GET" , u , nil )
70+ if err != nil {
71+ return nil , err
72+ }
73+
74+ at := & AccessToken {}
75+ err = s .client .do (ctx , req , at )
76+ if err != nil {
77+ return nil , err
78+ }
79+
80+ return at , nil
81+ }
82+
6183// Update is used to update an AccessToken.
6284func (s * accessTokens ) Update (ctx context.Context , accessTokenID string , options AccessTokenUpdateOptions ) (* AccessToken , error ) {
6385
0 commit comments