Skip to content

Commit

Permalink
replace package name
Browse files Browse the repository at this point in the history
  • Loading branch information
fujiwara committed Sep 22, 2023
1 parent 25092f2 commit db76274
Show file tree
Hide file tree
Showing 14 changed files with 109 additions and 112 deletions.
3 changes: 1 addition & 2 deletions archive.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"context"
"fmt"
"io"
"io/ioutil"
"log"
"os"
"path/filepath"
Expand Down Expand Up @@ -62,7 +61,7 @@ func loadZipArchive(src string) (*os.File, os.FileInfo, error) {
// createZipArchive creates a zip archive
func createZipArchive(src string, excludes []string) (*os.File, os.FileInfo, error) {
log.Printf("[info] creating zip archive from %s", src)
tmpfile, err := ioutil.TempFile("", "archive")
tmpfile, err := os.CreateTemp("", "archive")
if err != nil {
return nil, nil, fmt.Errorf("failed to open tempFile: %w", err)
}
Expand Down
16 changes: 8 additions & 8 deletions create.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"os"

"github.com/aws/aws-sdk-go-v2/aws"
lambdav2 "github.com/aws/aws-sdk-go-v2/service/lambda"
lambdav2types "github.com/aws/aws-sdk-go-v2/service/lambda/types"
"github.com/aws/aws-sdk-go-v2/service/lambda"
"github.com/aws/aws-sdk-go-v2/service/lambda/types"
)

var directUploadThreshold = int64(50 * 1024 * 1024) // 50MB
Expand All @@ -34,15 +34,15 @@ func prepareZipfile(src string, excludes []string) (*os.File, os.FileInfo, error
}

func (app *App) prepareFunctionCodeForDeploy(opt DeployOption, fn *FunctionV2) error {
if fn.PackageType == lambdav2types.PackageTypeImage {
if fn.PackageType == types.PackageTypeImage {
if fn.Code == nil || fn.Code.ImageUri == nil {
return fmt.Errorf("PackageType=Image requires Code.ImageUri in function definition")
}
// deploy docker image. no need to preprare
log.Printf("[info] using docker image %s", *fn.Code.ImageUri)

if fn.ImageConfig == nil {
fn.ImageConfig = &lambdav2types.ImageConfig{} // reset explicitly
fn.ImageConfig = &types.ImageConfig{} // reset explicitly
}
return nil
}
Expand Down Expand Up @@ -86,7 +86,7 @@ func (app *App) prepareFunctionCodeForDeploy(opt DeployOption, fn *FunctionV2) e
if err != nil {
return fmt.Errorf("failed to read zipfile content: %w", err)
}
fn.Code = &lambdav2types.FunctionCode{ZipFile: b}
fn.Code = &types.FunctionCode{ZipFile: b}
}
return nil
}
Expand Down Expand Up @@ -124,7 +124,7 @@ func (app *App) create(opt DeployOption, fn *FunctionV2) error {

log.Printf("[info] creating alias set %s to version %s %s", *opt.AliasName, version, opt.label())
if !*opt.DryRun {
_, err := app.lambdav2.CreateAlias(ctx, &lambdav2.CreateAliasInput{
_, err := app.lambda.CreateAlias(ctx, &lambda.CreateAliasInput{
FunctionName: fn.FunctionName,
FunctionVersion: aws.String(version),
Name: aws.String(*opt.AliasName),
Expand All @@ -137,8 +137,8 @@ func (app *App) create(opt DeployOption, fn *FunctionV2) error {
return nil
}

func (app *App) createFunction(ctx context.Context, fn *lambdav2.CreateFunctionInput) (*lambdav2.CreateFunctionOutput, error) {
if res, err := app.lambdav2.CreateFunction(ctx, fn); err != nil {
func (app *App) createFunction(ctx context.Context, fn *lambda.CreateFunctionInput) (*lambda.CreateFunctionOutput, error) {
if res, err := app.lambda.CreateFunction(ctx, fn); err != nil {
return nil, fmt.Errorf("failed to create function: %w", err)
} else {
return res, app.waitForLastUpdateStatusSuccessful(ctx, *fn.FunctionName)
Expand Down
4 changes: 2 additions & 2 deletions delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"fmt"
"log"

lambdav2 "github.com/aws/aws-sdk-go-v2/service/lambda"
"github.com/aws/aws-sdk-go-v2/service/lambda"
)

// DeleteOption represents options for Delete()
Expand Down Expand Up @@ -34,7 +34,7 @@ func (app *App) Delete(opt DeleteOption) error {
if *opt.DryRun {
return nil
}
_, err = app.lambdav2.DeleteFunction(ctx, &lambdav2.DeleteFunctionInput{
_, err = app.lambda.DeleteFunction(ctx, &lambda.DeleteFunctionInput{
FunctionName: fn.FunctionName,
})
if err != nil {
Expand Down
53 changes: 26 additions & 27 deletions deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@ import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"log"
"os"

"github.com/aws/aws-sdk-go-v2/aws"
lambdav2 "github.com/aws/aws-sdk-go-v2/service/lambda"
lambdav2types "github.com/aws/aws-sdk-go-v2/service/lambda/types"
"github.com/aws/aws-sdk-go-v2/service/lambda"
"github.com/aws/aws-sdk-go-v2/service/lambda/types"
)

// DeployOption represens an option for Deploy()
Expand Down Expand Up @@ -43,7 +42,7 @@ type versionAlias struct {

// Expand expands ExcludeFile contents to Excludes
func expandExcludeFile(file string) ([]string, error) {
b, err := ioutil.ReadFile(file)
b, err := os.ReadFile(file)
if err != nil {
if os.IsNotExist(err) {
return nil, nil
Expand Down Expand Up @@ -84,10 +83,10 @@ func (app *App) Deploy(opt DeployOption) error {
}

log.Printf("[info] starting deploy function %s", *fn.FunctionName)
if current, err := app.lambdav2.GetFunction(ctx, &lambdav2.GetFunctionInput{
if current, err := app.lambda.GetFunction(ctx, &lambda.GetFunctionInput{
FunctionName: fn.FunctionName,
}); err != nil {
var nfe *lambdav2types.ResourceNotFoundException
var nfe *types.ResourceNotFoundException
if errors.As(err, &nfe) {
return app.create(opt, fn)
}
Expand All @@ -102,7 +101,7 @@ func (app *App) Deploy(opt DeployOption) error {
}

log.Println("[info] updating function configuration", opt.label())
confIn := &lambdav2.UpdateFunctionConfigurationInput{
confIn := &lambda.UpdateFunctionConfigurationInput{
DeadLetterConfig: fn.DeadLetterConfig,
Description: fn.Description,
EphemeralStorage: fn.EphemeralStorage,
Expand All @@ -121,7 +120,7 @@ func (app *App) Deploy(opt DeployOption) error {
SnapStart: fn.SnapStart,
}
if env := fn.Environment; env == nil || env.Variables == nil {
confIn.Environment = &lambdav2types.Environment{
confIn.Environment = &types.Environment{
Variables: map[string]string{}, // set empty variables explicitly
}
} else {
Expand All @@ -143,7 +142,7 @@ func (app *App) Deploy(opt DeployOption) error {
return err
}

codeIn := &lambdav2.UpdateFunctionCodeInput{
codeIn := &lambda.UpdateFunctionCodeInput{
Architectures: fn.Architectures,
FunctionName: fn.FunctionName,
ZipFile: fn.Code.ZipFile,
Expand All @@ -158,7 +157,7 @@ func (app *App) Deploy(opt DeployOption) error {
codeIn.Publish = *opt.Publish
}

var res *lambdav2.UpdateFunctionCodeOutput
var res *lambda.UpdateFunctionCodeOutput
proc := func(ctx context.Context) error {
var err error
// set res outside of this function
Expand Down Expand Up @@ -190,12 +189,12 @@ func (app *App) Deploy(opt DeployOption) error {
return nil
}

func (app *App) updateFunctionConfiguration(ctx context.Context, in *lambdav2.UpdateFunctionConfigurationInput) error {
func (app *App) updateFunctionConfiguration(ctx context.Context, in *lambda.UpdateFunctionConfigurationInput) error {
retrier := retryPolicy.Start(ctx)
for retrier.Continue() {
_, err := app.lambdav2.UpdateFunctionConfiguration(ctx, in)
_, err := app.lambda.UpdateFunctionConfiguration(ctx, in)
if err != nil {
var rce *lambdav2types.ResourceConflictException
var rce *types.ResourceConflictException
if errors.As(err, &rce) {
log.Println("[debug] retrying", rce.Error())
continue
Expand All @@ -207,14 +206,14 @@ func (app *App) updateFunctionConfiguration(ctx context.Context, in *lambdav2.Up
return fmt.Errorf("failed to update function configuration (max retries reached)")
}

func (app *App) updateFunctionCode(ctx context.Context, in *lambdav2.UpdateFunctionCodeInput) (*lambdav2.UpdateFunctionCodeOutput, error) {
var res *lambdav2.UpdateFunctionCodeOutput
func (app *App) updateFunctionCode(ctx context.Context, in *lambda.UpdateFunctionCodeInput) (*lambda.UpdateFunctionCodeOutput, error) {
var res *lambda.UpdateFunctionCodeOutput
retrier := retryPolicy.Start(ctx)
for retrier.Continue() {
var err error
res, err = app.lambdav2.UpdateFunctionCode(ctx, in)
res, err = app.lambda.UpdateFunctionCode(ctx, in)
if err != nil {
var rce *lambdav2types.ResourceConflictException
var rce *types.ResourceConflictException
if errors.As(err, &rce) {
log.Println("[debug] retrying", err)
continue
Expand Down Expand Up @@ -245,7 +244,7 @@ func (app *App) ensureLastUpdateStatusSuccessful(ctx context.Context, name strin
func (app *App) waitForLastUpdateStatusSuccessful(ctx context.Context, name string) error {
retrier := retryPolicy.Start(ctx)
for retrier.Continue() {
res, err := app.lambdav2.GetFunction(ctx, &lambdav2.GetFunctionInput{
res, err := app.lambda.GetFunction(ctx, &lambda.GetFunctionInput{
FunctionName: aws.String(name),
})
if err != nil {
Expand All @@ -255,10 +254,10 @@ func (app *App) waitForLastUpdateStatusSuccessful(ctx context.Context, name stri
state := res.Configuration.State
last := res.Configuration.LastUpdateStatus
log.Printf("[info] State:%s LastUpdateStatus:%s", state, last)
if last == lambdav2types.LastUpdateStatusSuccessful {
if last == types.LastUpdateStatusSuccessful {
return nil
}
log.Printf("[info] waiting for LastUpdateStatus %s", lambdav2types.LastUpdateStatusSuccessful)
log.Printf("[info] waiting for LastUpdateStatus %s", types.LastUpdateStatusSuccessful)
}
}
return fmt.Errorf("max retries reached")
Expand All @@ -268,16 +267,16 @@ func (app *App) updateAliases(functionName string, vs ...versionAlias) error {
ctx := context.TODO()
for _, v := range vs {
log.Printf("[info] updating alias set %s to version %s", v.Name, v.Version)
_, err := app.lambdav2.UpdateAlias(ctx, &lambdav2.UpdateAliasInput{
_, err := app.lambda.UpdateAlias(ctx, &lambda.UpdateAliasInput{
FunctionName: aws.String(functionName),
FunctionVersion: aws.String(v.Version),
Name: aws.String(v.Name),
})
if err != nil {
var nfe *lambdav2types.ResourceNotFoundException
var nfe *types.ResourceNotFoundException
if errors.As(err, &nfe) {
log.Printf("[info] alias %s is not found. creating alias", v.Name)
_, err := app.lambdav2.CreateAlias(ctx, &lambdav2.CreateAliasInput{
_, err := app.lambda.CreateAlias(ctx, &lambda.CreateAliasInput{
FunctionName: aws.String(functionName),
FunctionVersion: aws.String(v.Version),
Name: aws.String(v.Name),
Expand All @@ -301,14 +300,14 @@ func (app *App) deleteVersions(functionName string, keepVersions int) error {
return nil
}

params := &lambdav2.ListVersionsByFunctionInput{
params := &lambda.ListVersionsByFunctionInput{
FunctionName: aws.String(functionName),
}

// versions will be set asc order, like 1 to N
versions := []lambdav2types.FunctionConfiguration{}
versions := []types.FunctionConfiguration{}
for {
res, err := app.lambdav2.ListVersionsByFunction(ctx, params)
res, err := app.lambda.ListVersionsByFunction(ctx, params)
if err != nil {
return fmt.Errorf("failed to list versions: %w", err)
}
Expand All @@ -330,7 +329,7 @@ func (app *App) deleteVersions(functionName string, keepVersions int) error {
}

log.Printf("[info] deleting function version: %s", *v.Version)
_, err := app.lambdav2.DeleteFunction(ctx, &lambdav2.DeleteFunctionInput{
_, err := app.lambda.DeleteFunction(ctx, &lambda.DeleteFunctionInput{
FunctionName: aws.String(functionName),
Qualifier: v.Version,
})
Expand Down
14 changes: 7 additions & 7 deletions diff.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
"github.com/kylelemons/godebug/diff"

awsv2 "github.com/aws/aws-sdk-go-v2/aws"
lambdav2 "github.com/aws/aws-sdk-go-v2/service/lambda"
lambdav2types "github.com/aws/aws-sdk-go-v2/service/lambda/types"
"github.com/aws/aws-sdk-go-v2/service/lambda"
"github.com/aws/aws-sdk-go-v2/service/lambda/types"
)

// DiffOption represents options for Diff()
Expand Down Expand Up @@ -41,13 +41,13 @@ func (app *App) Diff(opt DiffOption) error {
fillDefaultValuesV2(newFunc)
name := *newFunc.FunctionName

var latest *lambdav2types.FunctionConfiguration
var code *lambdav2types.FunctionCodeLocation
var latest *types.FunctionConfiguration
var code *types.FunctionCodeLocation

var tags TagsV2
var currentCodeSha256 string
var packageType lambdav2types.PackageType
if res, err := app.lambdav2.GetFunction(ctx, &lambdav2.GetFunctionInput{
var packageType types.PackageType
if res, err := app.lambda.GetFunction(ctx, &lambda.GetFunctionInput{
FunctionName: &name,
}); err != nil {
return fmt.Errorf("failed to GetFunction %s: %w", name, err)
Expand All @@ -74,7 +74,7 @@ func (app *App) Diff(opt DiffOption) error {
}

if awsv2.ToBool(opt.CodeSha256) {
if packageType != lambdav2types.PackageTypeZip {
if packageType != types.PackageTypeZip {
return fmt.Errorf("code-sha256 is only supported for Zip package type")
}
zipfile, _, err := prepareZipfile(*opt.Src, opt.Excludes)
Expand Down
2 changes: 1 addition & 1 deletion function_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"testing"

"github.com/aws/aws-sdk-go-v2/aws"
types "github.com/aws/aws-sdk-go-v2/service/lambda/types"
"github.com/aws/aws-sdk-go-v2/service/lambda/types"
)

func TestLoadFunction(t *testing.T) {
Expand Down
16 changes: 8 additions & 8 deletions init.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
"strings"

awsv2 "github.com/aws/aws-sdk-go-v2/aws"
lambdav2 "github.com/aws/aws-sdk-go-v2/service/lambda"
lambdav2types "github.com/aws/aws-sdk-go-v2/service/lambda/types"
"github.com/aws/aws-sdk-go-v2/service/lambda"
"github.com/aws/aws-sdk-go-v2/service/lambda/types"
)

// InitOption represents options for Init()
Expand All @@ -24,19 +24,19 @@ type InitOption struct {
// Init initializes function.json
func (app *App) Init(opt InitOption) error {
ctx := context.TODO()
res, err := app.lambdav2.GetFunction(ctx, &lambdav2.GetFunctionInput{
res, err := app.lambda.GetFunction(ctx, &lambda.GetFunctionInput{
FunctionName: opt.FunctionName,
})
var c *lambdav2types.FunctionConfiguration
var c *types.FunctionConfiguration
exists := true
if err != nil {
var nfe *lambdav2types.ResourceNotFoundException
var nfe *types.ResourceNotFoundException
if errors.As(err, &nfe) {
log.Printf("[info] function %s is not found", *opt.FunctionName)
c = &lambdav2types.FunctionConfiguration{
c = &types.FunctionConfiguration{
FunctionName: opt.FunctionName,
MemorySize: awsv2.Int32(128),
Runtime: lambdav2types.RuntimeNodejs18x,
Runtime: types.RuntimeNodejs18x,
Timeout: awsv2.Int32(3),
Handler: awsv2.String("index.handler"),
Role: awsv2.String(
Expand All @@ -60,7 +60,7 @@ func (app *App) Init(opt InitOption) error {
if exists {
arn := app.functionArn(*c.FunctionName)
log.Printf("[debug] listing tags of %s", arn)
res, err := app.lambdav2.ListTags(ctx, &lambdav2.ListTagsInput{
res, err := app.lambda.ListTags(ctx, &lambda.ListTagsInput{
Resource: awsv2.String(arn),
})
if err != nil {
Expand Down
Loading

0 comments on commit db76274

Please sign in to comment.