Added command to load test SSM parameters

This commit is contained in:
Leon Mika 2022-04-15 06:03:55 +10:00
parent 71acd75685
commit d48263e43f
5 changed files with 53 additions and 6 deletions

View file

@ -34,7 +34,7 @@ func main() {
var dynamoClient *dynamodb.Client
if *flagLocal {
dynamoClient = dynamodb.NewFromConfig(cfg,
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:8000")))
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:4566")))
} else {
dynamoClient = dynamodb.NewFromConfig(cfg)
}

View file

@ -2,6 +2,7 @@ package main
import (
"context"
"flag"
"fmt"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/ssm"
@ -18,6 +19,9 @@ import (
)
func main() {
var flagLocal = flag.Bool("local", false, "local endpoint")
flag.Parse()
// Pre-determine if layout has dark background. This prevents calls for creating a list to hang.
lipgloss.HasDarkBackground()
@ -28,7 +32,14 @@ func main() {
if err != nil {
cli.Fatalf("cannot load AWS config: %v", err)
}
ssmClient := ssm.NewFromConfig(cfg)
var ssmClient *ssm.Client
if *flagLocal {
ssmClient = ssm.NewFromConfig(cfg,
ssm.WithEndpointResolver(ssm.EndpointResolverFromURL("http://localhost:4566")))
} else {
ssmClient = ssm.NewFromConfig(cfg)
}
provider := awsssm.NewProvider(ssmClient)
service := ssmparameters.NewService(provider)

View file

@ -1,6 +1,12 @@
version: '3'
services:
dynamo:
image: amazon/dynamodb-local:latest
localstack:
image: localstack/localstack
ports:
- 8000:8000
- "4566:4566"
environment:
- SERVICES=ssm,dynamodb
# dynamo:
# image: amazon/dynamodb-local:latest
# ports:
# - 8000:8000

View file

@ -0,0 +1,30 @@
package main
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/ssm"
"github.com/aws/aws-sdk-go-v2/service/ssm/types"
"github.com/lmika/gopkgs/cli"
)
func main() {
ctx := context.Background()
cfg, err := config.LoadDefaultConfig(ctx)
if err != nil {
cli.Fatalf("cannot load AWS config: %v", err)
}
ssmClient := ssm.NewFromConfig(cfg,
ssm.WithEndpointResolver(ssm.EndpointResolverFromURL("http://localhost:4566")))
if _, err := ssmClient.PutParameter(ctx, &ssm.PutParameterInput{
Name: aws.String("/alpha/bravo"),
Type: types.ParameterTypeString,
Value: aws.String("This is a parameter value"),
}); err != nil {
cli.Fatal(err)
}
}

View file

@ -27,7 +27,7 @@ func main() {
}
dynamoClient := dynamodb.NewFromConfig(cfg,
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:8000")))
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:4566")))
if _, err = dynamoClient.DeleteTable(ctx, &dynamodb.DeleteTableInput{
TableName: aws.String(tableName),