Skip to content

Commit 1e3737b

Browse files
author
Shubham Chaturvedi
committed
feat: ddb Go externs
1 parent 6a36141 commit 1e3737b

10 files changed

Lines changed: 28734 additions & 38 deletions

File tree

ComAmazonawsDynamodb/Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ AWS_SDK_CMD := --aws-sdk
2626
STD_LIBRARY=StandardLibrary
2727
SMITHY_DEPS=model
2828

29+
GO_MODULE_NAME="github.com/aws/aws-cryptographic-material-providers-library/dynamodb"
30+
31+
GO_DEPENDENCY_MODULE_NAMES := \
32+
--dependency-library-name=sdk.com.amazonaws.dynamodb=github.com/aws/aws-sdk-go-v2/service/dynamodb \
33+
34+
TRANSLATION_RECORD_GO := \
35+
StandardLibrary/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr
36+
2937
# Constants for languages that drop extern names (Python, Go)
3038

3139
TYPES_FILE_PATH=Model/ComAmazonawsDynamodbTypes.dfy
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package Com_Amazonaws_Dynamodb
2+
3+
import (
4+
"context"
5+
6+
"github.com/aws/aws-cryptographic-material-providers-library/dynamodb/ComAmazonawsDynamodbTypes"
7+
"github.com/aws/aws-cryptographic-material-providers-library/dynamodb/DynamoDBwrapped"
8+
"github.com/aws/aws-sdk-go-v2/config"
9+
"github.com/aws/aws-sdk-go-v2/service/dynamodb"
10+
_dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
11+
"github.com/dafny-lang/DafnyStandardLibGo/Wrappers"
12+
)
13+
14+
func (_static *CompanionStruct_Default___) DynamoDBClient() Wrappers.Result {
15+
cfg, err := config.LoadDefaultConfig(context.TODO())
16+
if err != nil {
17+
return Wrappers.Companion_Result_.Create_Failure_(ComAmazonawsDynamodbTypes.Companion_Error_.Create_InternalServerError_(Wrappers.Companion_Option_.Create_Some_(_dafny.SeqOfChars([]_dafny.Char(err.Error())...))))
18+
19+
}
20+
return Wrappers.Companion_Result_.Create_Success_(&DynamoDBwrapped.Shim{Client: dynamodb.NewFromConfig(cfg, func(o *dynamodb.Options) {
21+
o.Region = "us-west-2"
22+
})})
23+
}
24+
25+
func (_static *CompanionStruct_Default___) DDBClientForRegion(regionInput _dafny.Sequence) Wrappers.Result {
26+
region := *toString(regionInput)
27+
cfg, err := config.LoadDefaultConfig(context.TODO())
28+
if err != nil {
29+
return Wrappers.Companion_Result_.Create_Failure_(ComAmazonawsDynamodbTypes.Companion_Error_.Create_InternalServerError_(Wrappers.Companion_Option_.Create_Some_(_dafny.SeqOfChars([]_dafny.Char(err.Error())...))))
30+
31+
}
32+
return Wrappers.Companion_Result_.Create_Success_(&DynamoDBwrapped.Shim{Client: dynamodb.NewFromConfig(cfg, func(o *dynamodb.Options) {
33+
o.Region = region
34+
})})
35+
}
36+
37+
func (_static *CompanionStruct_Default___) RegionMatch(iDynamodbClient ComAmazonawsDynamodbTypes.IDynamoDBClient, regionInput _dafny.Sequence) Wrappers.Option {
38+
region := toString(regionInput)
39+
var wrappedDynamodbClient = iDynamodbClient.(*DynamoDBwrapped.Shim).Client
40+
return Wrappers.Companion_Option_.Create_Some_(wrappedDynamodbClient.Options().Region == *region)
41+
}
42+
43+
func toString(input _dafny.Sequence) *string {
44+
var s string
45+
for i := _dafny.Iterate(input); ; {
46+
val, ok := i()
47+
if !ok {
48+
return &[]string{s}[0]
49+
} else {
50+
s = s + string(val.(_dafny.Char))
51+
}
52+
}
53+
}

ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/DynamoDBwrapped/shim.go

Lines changed: 531 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/comamazonawsdynamodbsmithygenerated/to_dafny.go

Lines changed: 11687 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)