Skip to content

Commit

Permalink
Added RequestManagedInstanceRoleTokenWithContext and UpdateManagedIns…
Browse files Browse the repository at this point in the history
…tancePublicKeyWithContext
  • Loading branch information
gianniLesl committed Jul 3, 2023
1 parent 0ee892d commit 08e0bbf
Show file tree
Hide file tree
Showing 3 changed files with 173 additions and 16 deletions.
19 changes: 17 additions & 2 deletions agent/ssm/authtokenrequest/authtokenrequest_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,25 @@
package authtokenrequest

import (
"context"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/service/ssm"
)

type IClient interface {
RequestManagedInstanceRoleToken(fingerprint string) (response *ssm.RequestManagedInstanceRoleTokenOutput, err error)
RequestManagedInstanceRoleTokenWithContext(ctx context.Context, fingerprint string) (response *ssm.RequestManagedInstanceRoleTokenOutput, err error)
UpdateManagedInstancePublicKey(publicKey, publicKeyType string) (response *ssm.UpdateManagedInstancePublicKeyOutput, err error)
UpdateManagedInstancePublicKeyWithContext(ctx context.Context, publicKey, publicKeyType string) (response *ssm.UpdateManagedInstancePublicKeyOutput, err error)
}

// ISsmSdk defines the functions needed from the AWS SSM SDK
type ISsmSdk interface {
RequestManagedInstanceRoleToken(input *ssm.RequestManagedInstanceRoleTokenInput) (*ssm.RequestManagedInstanceRoleTokenOutput, error)
RequestManagedInstanceRoleTokenWithContext(ctx context.Context, input *ssm.RequestManagedInstanceRoleTokenInput, opts ...request.Option) (*ssm.RequestManagedInstanceRoleTokenOutput, error)
UpdateManagedInstancePublicKey(input *ssm.UpdateManagedInstancePublicKeyInput) (*ssm.UpdateManagedInstancePublicKeyOutput, error)
UpdateManagedInstancePublicKeyWithContext(ctx context.Context, input *ssm.UpdateManagedInstancePublicKeyInput, opts ...request.Option) (*ssm.UpdateManagedInstancePublicKeyOutput, error)
}

// Client is a service wrapper that delegates to the ssm sdk.
Expand All @@ -44,20 +50,29 @@ func NewClient(sdk ISsmSdk) IClient {

// RequestManagedInstanceRoleToken calls the RequestManagedInstanceRoleToken SSM API.
func (svc *Client) RequestManagedInstanceRoleToken(fingerprint string) (response *ssm.RequestManagedInstanceRoleTokenOutput, err error) {
return svc.RequestManagedInstanceRoleTokenWithContext(context.Background(), fingerprint)
}

// RequestManagedInstanceRoleTokenWithContext calls the RequestManagedInstanceRoleToken SSM API.
func (svc *Client) RequestManagedInstanceRoleTokenWithContext(ctx context.Context, fingerprint string) (response *ssm.RequestManagedInstanceRoleTokenOutput, err error) {
params := &ssm.RequestManagedInstanceRoleTokenInput{
Fingerprint: aws.String(fingerprint),
}

return svc.sdk.RequestManagedInstanceRoleToken(params)
return svc.sdk.RequestManagedInstanceRoleTokenWithContext(ctx, params)
}

// UpdateManagedInstancePublicKey calls the UpdateManagedInstancePublicKey SSM API.
func (svc *Client) UpdateManagedInstancePublicKey(publicKey, publicKeyType string) (response *ssm.UpdateManagedInstancePublicKeyOutput, err error) {
return svc.UpdateManagedInstancePublicKeyWithContext(context.Background(), publicKey, publicKeyType)
}

// UpdateManagedInstancePublicKeyWithContext calls the UpdateManagedInstancePublicKey SSM API.
func (svc *Client) UpdateManagedInstancePublicKeyWithContext(ctx context.Context, publicKey, publicKeyType string) (response *ssm.UpdateManagedInstancePublicKeyOutput, err error) {
params := ssm.UpdateManagedInstancePublicKeyInput{
NewPublicKey: aws.String(publicKey),
NewPublicKeyType: aws.String(publicKeyType),
}

return svc.sdk.UpdateManagedInstancePublicKey(&params)
return svc.sdk.UpdateManagedInstancePublicKeyWithContext(ctx, &params)
}
77 changes: 70 additions & 7 deletions agent/ssm/authtokenrequest/mocks/IClient.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 86 additions & 7 deletions agent/ssm/authtokenrequest/mocks/ISsmSdk.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 08e0bbf

Please sign in to comment.