Skip to content

Commit

Permalink
Update api.go
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielHougaard committed Jan 9, 2024
1 parent e22570c commit 61a3cb9
Showing 1 changed file with 139 additions and 0 deletions.
139 changes: 139 additions & 0 deletions client/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,30 @@ import (

const USER_AGENT = "terraform"

func (client Client) UniversalMachineIdentityAuth() (string, error) {
if client.Config.ClientId == "" || client.Config.ClientSecret == "" {

Check failure on line 10 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

client.Config.ClientId undefined (type Config has no field or method ClientId)

Check failure on line 10 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

client.Config.ClientSecret undefined (type Config has no field or method ClientSecret)

Check failure on line 10 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

client.Config.ClientId undefined (type Config has no field or method ClientId)

Check failure on line 10 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

client.Config.ClientSecret undefined (type Config has no field or method ClientSecret)
return "", fmt.Errorf("you must set the client secret and client ID for the client before making calls")
}

var loginResponse UniversalMachineIdentityAuthResponse

Check failure on line 14 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: UniversalMachineIdentityAuthResponse

Check failure on line 14 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: UniversalMachineIdentityAuthResponse

res, err := client.Config.HttpClient.R().SetResult(&loginResponse).SetHeader("User-Agent", USER_AGENT).SetBody(map[string]string{
"clientId": client.Config.ClientId,

Check failure on line 17 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

client.Config.ClientId undefined (type Config has no field or method ClientId)

Check failure on line 17 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

client.Config.ClientId undefined (type Config has no field or method ClientId)
"clientSecret": client.Config.ClientSecret,
}).Post("api/v1/auth/universal-auth/login")

if err != nil {
return "", fmt.Errorf("UniversalMachineIdentityAuth: Unable to complete api request [err=%s]", err)
}

if res.IsError() {
return "", fmt.Errorf("UniversalMachineIdentityAuth: Unsuccessful response: [response=%s]", res)
}

return loginResponse.AccessToken, nil
}

// done
func (client Client) CallGetServiceTokenDetailsV2() (GetServiceTokenDetailsResponse, error) {
var tokenDetailsResponse GetServiceTokenDetailsResponse
response, err := client.Config.HttpClient.
Expand All @@ -25,6 +49,7 @@ func (client Client) CallGetServiceTokenDetailsV2() (GetServiceTokenDetailsRespo
return tokenDetailsResponse, nil
}

// done
func (client Client) CallGetSecretsV3(request GetEncryptedSecretsV3Request) (GetEncryptedSecretsV3Response, error) {
var secretsResponse GetEncryptedSecretsV3Response

Expand Down Expand Up @@ -52,6 +77,7 @@ func (client Client) CallGetSecretsV3(request GetEncryptedSecretsV3Request) (Get
return secretsResponse, nil
}

// done
func (client Client) CallCreateSecretsV3(request CreateSecretV3Request) error {
var secretsResponse EncryptedSecretV3
response, err := client.Config.HttpClient.
Expand All @@ -72,6 +98,7 @@ func (client Client) CallCreateSecretsV3(request CreateSecretV3Request) error {
return nil
}

// done
func (client Client) CallDeleteSecretsV3(request DeleteSecretV3Request) error {
var secretsResponse GetEncryptedSecretsV3Response
response, err := client.Config.HttpClient.
Expand All @@ -92,6 +119,7 @@ func (client Client) CallDeleteSecretsV3(request DeleteSecretV3Request) error {
return nil
}

// done
func (client Client) CallUpdateSecretsV3(request UpdateSecretByNameV3Request) error {
var secretsResponse GetEncryptedSecretsV3Response
response, err := client.Config.HttpClient.
Expand All @@ -112,6 +140,7 @@ func (client Client) CallUpdateSecretsV3(request UpdateSecretByNameV3Request) er
return nil
}

// done
func (client Client) CallGetSingleSecretByNameV3(request GetSingleSecretByNameV3Request) (GetSingleSecretByNameSecretResponse, error) {
var secretsResponse GetSingleSecretByNameSecretResponse
response, err := client.Config.HttpClient.
Expand All @@ -134,3 +163,113 @@ func (client Client) CallGetSingleSecretByNameV3(request GetSingleSecretByNameV3

return secretsResponse, nil
}

func (client Client) CallGetSecretsRawV3(request GetRawSecretsV3Request) (GetRawSecretsV3Response, error) {

Check failure on line 167 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: GetRawSecretsV3Request

Check failure on line 167 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: GetRawSecretsV3Response

Check failure on line 167 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: GetRawSecretsV3Request

Check failure on line 167 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: GetRawSecretsV3Response
var secretsResponse GetRawSecretsV3Response

httpRequest := client.Config.HttpClient.
R().
SetResult(&secretsResponse).
SetHeader("User-Agent", USER_AGENT).
SetQueryParam("environment", request.Environment).
SetQueryParam("workspaceId", request.WorkspaceId)

if request.SecretPath != "" {
httpRequest.SetQueryParam("secretPath", request.SecretPath)
}

response, err := httpRequest.Get("api/v3/secrets/raw")

if err != nil {
return GetRawSecretsV3Response{}, fmt.Errorf("CallGetSecretsRawV3: Unable to complete api request [err=%s]", err)
}

if response.IsError() {
return GetRawSecretsV3Response{}, fmt.Errorf("CallGetSecretsRawV3: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%v]", response.RawResponse)
}

return secretsResponse, nil
}

func (client Client) CallCreateRawSecretsV3(request CreateRawSecretV3Request) error {

Check failure on line 194 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: CreateRawSecretV3Request

Check failure on line 194 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: CreateRawSecretV3Request
var secretsResponse EncryptedSecretV3
response, err := client.Config.HttpClient.
R().
SetResult(&secretsResponse).
SetHeader("User-Agent", USER_AGENT).
SetBody(request).
Post(fmt.Sprintf("api/v3/secrets/raw/%s", request.SecretName))

if err != nil {
return fmt.Errorf("CallCreateRawSecretsV3: Unable to complete api request [err=%s]", err)
}

if response.IsError() {
return fmt.Errorf("CallCreateRawSecretsV3: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
}

return nil
}

func (client Client) CallDeleteRawSecretV3(request DeleteRawSecretV3Request) error {

Check failure on line 214 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: DeleteRawSecretV3Request

Check failure on line 214 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: DeleteRawSecretV3Request
var secretsResponse GetRawSecretsV3Response
response, err := client.Config.HttpClient.
R().
SetResult(&secretsResponse).
SetHeader("User-Agent", USER_AGENT).
SetBody(request).
Delete(fmt.Sprintf("api/v3/secrets/raw/%s", request.SecretName))

if err != nil {
return fmt.Errorf("CallDeleteRawSecretV3: Unable to complete api request [err=%s]", err)
}

if response.IsError() {
return fmt.Errorf("CallDeleteRawSecretV3: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
}

return nil
}

func (client Client) CallUpdateRawSecretV3(request UpdateRawSecretByNameV3Request) error {

Check failure on line 234 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: UpdateRawSecretByNameV3Request

Check failure on line 234 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: UpdateRawSecretByNameV3Request
var secretsResponse GetRawSecretsV3Response
response, err := client.Config.HttpClient.
R().
SetResult(&secretsResponse).
SetHeader("User-Agent", USER_AGENT).
SetBody(request).
Patch(fmt.Sprintf("api/v3/secrets/raw/%s", request.SecretName))

if err != nil {
return fmt.Errorf("CallUpdateRawSecretV3: Unable to complete api request [err=%s]", err)
}

if response.IsError() {
return fmt.Errorf("CallUpdateRawSecretV3: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
}

return nil
}

func (client Client) CallGetSingleRawSecretByNameV3(request GetSingleSecretByNameV3Request) (GetSingleRawSecretByNameSecretResponse, error) {

Check failure on line 254 in client/api.go

View workflow job for this annotation

GitHub Actions / Build

undefined: GetSingleRawSecretByNameSecretResponse

Check failure on line 254 in client/api.go

View workflow job for this annotation

GitHub Actions / generate

undefined: GetSingleRawSecretByNameSecretResponse
var secretsResponse GetSingleRawSecretByNameSecretResponse
response, err := client.Config.HttpClient.
R().
SetResult(&secretsResponse).
SetHeader("User-Agent", USER_AGENT).
SetQueryParam("workspaceId", request.WorkspaceId).
SetQueryParam("environment", request.Environment).
SetQueryParam("type", request.Type).
SetQueryParam("secretPath", request.SecretPath).
Get(fmt.Sprintf("api/v3/secrets/raw/%s", request.SecretName))

if err != nil {
return GetSingleRawSecretByNameSecretResponse{}, fmt.Errorf("CallGetSingleRawSecretByNameV3: Unable to complete api request [err=%s]", err)
}

if response.IsError() {
return GetSingleRawSecretByNameSecretResponse{}, fmt.Errorf("CallGetSingleRawSecretByNameV3: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
}

return secretsResponse, nil
}

0 comments on commit 61a3cb9

Please sign in to comment.