Added command to load test SSM parameters
This commit is contained in:
parent
71acd75685
commit
d48263e43f
|
@ -34,7 +34,7 @@ func main() {
|
||||||
var dynamoClient *dynamodb.Client
|
var dynamoClient *dynamodb.Client
|
||||||
if *flagLocal {
|
if *flagLocal {
|
||||||
dynamoClient = dynamodb.NewFromConfig(cfg,
|
dynamoClient = dynamodb.NewFromConfig(cfg,
|
||||||
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:8000")))
|
dynamodb.WithEndpointResolver(dynamodb.EndpointResolverFromURL("http://localhost:4566")))
|
||||||
} else {
|
} else {
|
||||||
dynamoClient = dynamodb.NewFromConfig(cfg)
|
dynamoClient = dynamodb.NewFromConfig(cfg)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/aws/aws-sdk-go-v2/config"
|
"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"
|
||||||
|
@ -18,6 +19,9 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
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.
|
// Pre-determine if layout has dark background. This prevents calls for creating a list to hang.
|
||||||
lipgloss.HasDarkBackground()
|
lipgloss.HasDarkBackground()
|
||||||
|
|
||||||
|
@ -28,7 +32,14 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cli.Fatalf("cannot load AWS config: %v", err)
|
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)
|
provider := awsssm.NewProvider(ssmClient)
|
||||||
service := ssmparameters.NewService(provider)
|
service := ssmparameters.NewService(provider)
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
dynamo:
|
localstack:
|
||||||
image: amazon/dynamodb-local:latest
|
image: localstack/localstack
|
||||||
ports:
|
ports:
|
||||||
- 8000:8000
|
- "4566:4566"
|
||||||
|
environment:
|
||||||
|
- SERVICES=ssm,dynamodb
|
||||||
|
# dynamo:
|
||||||
|
# image: amazon/dynamodb-local:latest
|
||||||
|
# ports:
|
||||||
|
# - 8000:8000
|
30
test/cmd/load-test-ssm/main.go
Normal file
30
test/cmd/load-test-ssm/main.go
Normal 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)
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,7 +27,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
dynamoClient := dynamodb.NewFromConfig(cfg,
|
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{
|
if _, err = dynamoClient.DeleteTable(ctx, &dynamodb.DeleteTableInput{
|
||||||
TableName: aws.String(tableName),
|
TableName: aws.String(tableName),
|
||||||
|
|
Loading…
Reference in a new issue