mirror of https://github.com/databricks/cli.git
Add an error if state files grow bigger than the export limit
This commit is contained in:
parent
1d1aa0a416
commit
6ecf48e163
|
@ -10,6 +10,8 @@ import (
|
|||
"github.com/databricks/cli/libs/log"
|
||||
)
|
||||
|
||||
const MaxStateFileSize = 10 * 1024 * 1024 // 10MB
|
||||
|
||||
type statePush struct {
|
||||
filerFactory FilerFactory
|
||||
}
|
||||
|
@ -35,6 +37,15 @@ func (s *statePush) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostic
|
|||
}
|
||||
defer local.Close()
|
||||
|
||||
state, err := local.Stat()
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
|
||||
if state.Size() > MaxStateFileSize {
|
||||
return diag.Errorf("Deployment state file size exceeds the maximum allowed size of %d bytes. Please reduce the number of resources in your bundle and/or split your bundle into multiple.", MaxStateFileSize)
|
||||
}
|
||||
|
||||
log.Infof(ctx, "Writing local deployment state file to remote state directory")
|
||||
err = f.Write(ctx, DeploymentStateFileName, local, filer.CreateParentDirectories, filer.OverwriteIfExists)
|
||||
if err != nil {
|
||||
|
|
|
@ -47,6 +47,15 @@ func (l *statePush) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostic
|
|||
}
|
||||
defer local.Close()
|
||||
|
||||
state, err := local.Stat()
|
||||
if err != nil {
|
||||
return diag.FromErr(err)
|
||||
}
|
||||
|
||||
if state.Size() > deploy.MaxStateFileSize {
|
||||
return diag.Errorf("Terraform state file size exceeds the maximum allowed size of %d bytes. Please reduce the number of resources in your bundle and/or split your bundle into multiple.", deploy.MaxStateFileSize)
|
||||
}
|
||||
|
||||
// Upload state file from local cache directory to filer.
|
||||
cmdio.LogString(ctx, "Updating deployment state...")
|
||||
log.Infof(ctx, "Writing local state file to remote state directory")
|
||||
|
|
Loading…
Reference in New Issue