mirror of https://github.com/databricks/cli.git
feedback fixes
This commit is contained in:
parent
0583dedf16
commit
86630b61dd
|
@ -23,7 +23,7 @@ func TestAppInterpolateVariables(t *testing.T) {
|
||||||
Config: map[string]any{
|
Config: map[string]any{
|
||||||
"command": []string{"echo", "hello"},
|
"command": []string{"echo", "hello"},
|
||||||
"env": []map[string]string{
|
"env": []map[string]string{
|
||||||
{"name": "JOB_ID", "value": "${resources.jobs.my_job.id}"},
|
{"name": "JOB_ID", "value": "${databricks_job.my_job.id}"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -26,23 +26,12 @@ func (u *uploadConfig) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnos
|
||||||
var diags diag.Diagnostics
|
var diags diag.Diagnostics
|
||||||
errGroup, ctx := errgroup.WithContext(ctx)
|
errGroup, ctx := errgroup.WithContext(ctx)
|
||||||
|
|
||||||
mu := &sync.Mutex{}
|
mu := sync.Mutex{}
|
||||||
for key, app := range b.Config.Resources.Apps {
|
for key, app := range b.Config.Resources.Apps {
|
||||||
// If the app has a config, we need to deploy it first.
|
// If the app has a config, we need to deploy it first.
|
||||||
// It means we need to write app.yml file with the content of the config field
|
// It means we need to write app.yml file with the content of the config field
|
||||||
// to the remote source code path of the app.
|
// to the remote source code path of the app.
|
||||||
if app.Config != nil {
|
if app.Config != nil {
|
||||||
if !strings.HasPrefix(app.SourceCodePath, b.Config.Workspace.FilePath) {
|
|
||||||
diags = append(diags, diag.Diagnostic{
|
|
||||||
Severity: diag.Error,
|
|
||||||
Summary: "App source code invalid",
|
|
||||||
Detail: fmt.Sprintf("App source code path %s is not within file path %s", app.SourceCodePath, b.Config.Workspace.FilePath),
|
|
||||||
Locations: b.Config.GetLocations(fmt.Sprintf("resources.apps.%s.source_code_path", key)),
|
|
||||||
})
|
|
||||||
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
appPath := strings.TrimPrefix(app.SourceCodePath, b.Config.Workspace.FilePath)
|
appPath := strings.TrimPrefix(app.SourceCodePath, b.Config.Workspace.FilePath)
|
||||||
|
|
||||||
buf, err := configToYaml(app)
|
buf, err := configToYaml(app)
|
||||||
|
@ -50,7 +39,6 @@ func (u *uploadConfig) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnos
|
||||||
return diag.FromErr(err)
|
return diag.FromErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// When the app is started, create a new app deployment and wait for it to complete.
|
|
||||||
f, err := u.filerFactory(b)
|
f, err := u.filerFactory(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return diag.FromErr(err)
|
return diag.FromErr(err)
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"path"
|
"path"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/databricks/cli/bundle"
|
"github.com/databricks/cli/bundle"
|
||||||
"github.com/databricks/cli/libs/diag"
|
"github.com/databricks/cli/libs/diag"
|
||||||
|
@ -21,7 +22,7 @@ func (v *validate) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics
|
||||||
diags = append(diags, diag.Diagnostic{
|
diags = append(diags, diag.Diagnostic{
|
||||||
Severity: diag.Error,
|
Severity: diag.Error,
|
||||||
Summary: "Duplicate app source code path",
|
Summary: "Duplicate app source code path",
|
||||||
Detail: fmt.Sprintf("app resource '%s' has the same source code path as app resource '%s'", key, usedSourceCodePaths[app.SourceCodePath]),
|
Detail: fmt.Sprintf("app resource '%s' has the same source code path as app resource '%s', this will lead to the app configuration being overriden by each other", key, usedSourceCodePaths[app.SourceCodePath]),
|
||||||
Locations: b.Config.GetLocations(fmt.Sprintf("resources.apps.%s.source_code_path", key)),
|
Locations: b.Config.GetLocations(fmt.Sprintf("resources.apps.%s.source_code_path", key)),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -37,6 +38,15 @@ func (v *validate) Apply(ctx context.Context, b *bundle.Bundle) diag.Diagnostics
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !strings.HasPrefix(app.SourceCodePath, b.Config.Workspace.FilePath) {
|
||||||
|
diags = append(diags, diag.Diagnostic{
|
||||||
|
Severity: diag.Error,
|
||||||
|
Summary: "App source code invalid",
|
||||||
|
Detail: fmt.Sprintf("App source code path %s is not within file path %s", app.SourceCodePath, b.Config.Workspace.FilePath),
|
||||||
|
Locations: b.Config.GetLocations(fmt.Sprintf("resources.apps.%s.source_code_path", key)),
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return diags
|
return diags
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"github.com/databricks/cli/bundle/config/resources"
|
"github.com/databricks/cli/bundle/config/resources"
|
||||||
"github.com/databricks/cli/bundle/internal/bundletest"
|
"github.com/databricks/cli/bundle/internal/bundletest"
|
||||||
"github.com/databricks/cli/internal/testutil"
|
"github.com/databricks/cli/internal/testutil"
|
||||||
|
"github.com/databricks/cli/libs/diag"
|
||||||
"github.com/databricks/cli/libs/dyn"
|
"github.com/databricks/cli/libs/dyn"
|
||||||
"github.com/databricks/cli/libs/vfs"
|
"github.com/databricks/cli/libs/vfs"
|
||||||
"github.com/databricks/databricks-sdk-go/service/apps"
|
"github.com/databricks/databricks-sdk-go/service/apps"
|
||||||
|
@ -89,3 +90,36 @@ func TestAppsValidateSameSourcePath(t *testing.T) {
|
||||||
require.Equal(t, "Duplicate app source code path", diags[0].Summary)
|
require.Equal(t, "Duplicate app source code path", diags[0].Summary)
|
||||||
require.Contains(t, diags[0].Detail, "has the same source code path as app resource")
|
require.Contains(t, diags[0].Detail, "has the same source code path as app resource")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAppsValidateIncorrectSourceCodePath(t *testing.T) {
|
||||||
|
tmpDir := t.TempDir()
|
||||||
|
|
||||||
|
b := &bundle.Bundle{
|
||||||
|
BundleRootPath: tmpDir,
|
||||||
|
SyncRootPath: tmpDir,
|
||||||
|
SyncRoot: vfs.MustNew(tmpDir),
|
||||||
|
Config: config.Root{
|
||||||
|
Workspace: config.Workspace{
|
||||||
|
FilePath: "/Workspace/Users/foo@bar.com/files",
|
||||||
|
},
|
||||||
|
Resources: config.Resources{
|
||||||
|
Apps: map[string]*resources.App{
|
||||||
|
"app1": {
|
||||||
|
App: &apps.App{
|
||||||
|
Name: "app1",
|
||||||
|
},
|
||||||
|
SourceCodePath: "/Workspace/Random/app1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
bundletest.SetLocation(b, ".", []dyn.Location{{File: filepath.Join(tmpDir, "databricks.yml")}})
|
||||||
|
|
||||||
|
diags := bundle.Apply(context.Background(), b, bundle.Seq(Validate()))
|
||||||
|
require.Len(t, diags, 1)
|
||||||
|
require.Equal(t, diag.Error, diags[0].Severity)
|
||||||
|
require.Equal(t, "App source code invalid", diags[0].Summary)
|
||||||
|
require.Contains(t, diags[0].Detail, "App source code path /Workspace/Random/app1 is not within file path /Workspace/Users/foo@bar.com/files")
|
||||||
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ func (a *App) TerraformResourceName() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) InitializeURL(baseURL url.URL) {
|
func (a *App) InitializeURL(baseURL url.URL) {
|
||||||
if a.Name == "" {
|
if a.ModifiedStatus == "" || a.ModifiedStatus == ModifiedStatusCreated {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
baseURL.Path = fmt.Sprintf("apps/%s", a.Name)
|
baseURL.Path = fmt.Sprintf("apps/%s", a.Name)
|
||||||
|
|
|
@ -204,6 +204,10 @@ func TerraformToBundle(state *resourcesState, config *config.Root) error {
|
||||||
cur := config.Resources.Apps[resource.Name]
|
cur := config.Resources.Apps[resource.Name]
|
||||||
if cur == nil {
|
if cur == nil {
|
||||||
cur = &resources.App{ModifiedStatus: resources.ModifiedStatusDeleted, App: &apps.App{}}
|
cur = &resources.App{ModifiedStatus: resources.ModifiedStatusDeleted, App: &apps.App{}}
|
||||||
|
} else {
|
||||||
|
// If the app exists in terraform and bundle, we always set modified status to updated
|
||||||
|
// because we don't really know if the app source code was updated or not.
|
||||||
|
cur.ModifiedStatus = resources.ModifiedStatusUpdated
|
||||||
}
|
}
|
||||||
cur.Name = instance.Attributes.Name
|
cur.Name = instance.Attributes.Name
|
||||||
config.Resources.Apps[resource.Name] = cur
|
config.Resources.Apps[resource.Name] = cur
|
||||||
|
@ -272,7 +276,7 @@ func TerraformToBundle(state *resourcesState, config *config.Root) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, src := range config.Resources.Apps {
|
for _, src := range config.Resources.Apps {
|
||||||
if src.ModifiedStatus == "" && src.Name == "" {
|
if src.ModifiedStatus == "" {
|
||||||
src.ModifiedStatus = resources.ModifiedStatusCreated
|
src.ModifiedStatus = resources.ModifiedStatusCreated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1019,12 +1019,12 @@ func TestTerraformToBundleModifiedResources(t *testing.T) {
|
||||||
Apps: map[string]*resources.App{
|
Apps: map[string]*resources.App{
|
||||||
"test_app": {
|
"test_app": {
|
||||||
App: &apps.App{
|
App: &apps.App{
|
||||||
Description: "test_app",
|
Name: "test_app",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"test_app_new": {
|
"test_app_new": {
|
||||||
App: &apps.App{
|
App: &apps.App{
|
||||||
Description: "test_app_new",
|
Name: "test_app_new",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1213,7 +1213,7 @@ func TestTerraformToBundleModifiedResources(t *testing.T) {
|
||||||
Mode: "managed",
|
Mode: "managed",
|
||||||
Name: "test_app",
|
Name: "test_app",
|
||||||
Instances: []stateResourceInstance{
|
Instances: []stateResourceInstance{
|
||||||
{Attributes: stateInstanceAttributes{Name: "app1"}},
|
{Attributes: stateInstanceAttributes{Name: "test_app"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1221,7 +1221,7 @@ func TestTerraformToBundleModifiedResources(t *testing.T) {
|
||||||
Mode: "managed",
|
Mode: "managed",
|
||||||
Name: "test_app_old",
|
Name: "test_app_old",
|
||||||
Instances: []stateResourceInstance{
|
Instances: []stateResourceInstance{
|
||||||
{Attributes: stateInstanceAttributes{Name: "app2"}},
|
{Attributes: stateInstanceAttributes{Name: "test_app_old"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1306,11 +1306,11 @@ func TestTerraformToBundleModifiedResources(t *testing.T) {
|
||||||
assert.Equal(t, "", config.Resources.Dashboards["test_dashboard_new"].ID)
|
assert.Equal(t, "", config.Resources.Dashboards["test_dashboard_new"].ID)
|
||||||
assert.Equal(t, resources.ModifiedStatusCreated, config.Resources.Dashboards["test_dashboard_new"].ModifiedStatus)
|
assert.Equal(t, resources.ModifiedStatusCreated, config.Resources.Dashboards["test_dashboard_new"].ModifiedStatus)
|
||||||
|
|
||||||
assert.Equal(t, "app1", config.Resources.Apps["test_app"].Name)
|
assert.Equal(t, "test_app", config.Resources.Apps["test_app"].Name)
|
||||||
assert.Equal(t, "", config.Resources.Apps["test_app"].ModifiedStatus)
|
assert.Equal(t, resources.ModifiedStatusUpdated, config.Resources.Apps["test_app"].ModifiedStatus)
|
||||||
assert.Equal(t, "app2", config.Resources.Apps["test_app_old"].Name)
|
assert.Equal(t, "test_app_old", config.Resources.Apps["test_app_old"].Name)
|
||||||
assert.Equal(t, resources.ModifiedStatusDeleted, config.Resources.Apps["test_app_old"].ModifiedStatus)
|
assert.Equal(t, resources.ModifiedStatusDeleted, config.Resources.Apps["test_app_old"].ModifiedStatus)
|
||||||
assert.Equal(t, "", config.Resources.Apps["test_app_new"].Name)
|
assert.Equal(t, "test_app_new", config.Resources.Apps["test_app_new"].Name)
|
||||||
assert.Equal(t, resources.ModifiedStatusCreated, config.Resources.Apps["test_app_new"].ModifiedStatus)
|
assert.Equal(t, resources.ModifiedStatusCreated, config.Resources.Apps["test_app_new"].ModifiedStatus)
|
||||||
|
|
||||||
AssertFullResourceCoverage(t, &config)
|
AssertFullResourceCoverage(t, &config)
|
||||||
|
|
|
@ -34,7 +34,7 @@ type stateResourceInstance struct {
|
||||||
|
|
||||||
type stateInstanceAttributes struct {
|
type stateInstanceAttributes struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"` // Some resources such as Apps do not have an ID, so we use the name instead.
|
||||||
ETag string `json:"etag,omitempty"`
|
ETag string `json:"etag,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,161 +1,3 @@
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppResourceJob:
|
|
||||||
"id":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"permission":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.ComputeStatus:
|
|
||||||
"message":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"state":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentArtifacts:
|
|
||||||
"source_code_path":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouse:
|
|
||||||
"id":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"permission":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/cli/bundle/config/resources.App:
|
|
||||||
"create_time":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"permissions":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"resources":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"url":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"active_deployment":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"description":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"default_source_code_path":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"service_principal_client_id":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"service_principal_name":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"config":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"source_code_path":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"service_principal_id":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"name":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"compute_status":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"creator":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"app_status":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"pending_deployment":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"update_time":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"updater":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppResource:
|
|
||||||
"name":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"secret":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"serving_endpoint":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"sql_warehouse":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"description":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"job":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppDeployment:
|
|
||||||
"create_time":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"creator":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"deployment_artifacts":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"deployment_id":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"mode":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"source_code_path":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"status":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"update_time":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.ApplicationStatus:
|
|
||||||
"state":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"message":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentStatus:
|
|
||||||
"message":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"state":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecret:
|
|
||||||
"key":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"permission":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"scope":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpoint:
|
|
||||||
"permission":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
"name":
|
|
||||||
"description": |-
|
|
||||||
PLACEHOLDER
|
|
||||||
github.com/databricks/cli/bundle/config.Artifact:
|
github.com/databricks/cli/bundle/config.Artifact:
|
||||||
"build":
|
"build":
|
||||||
"description": |-
|
"description": |-
|
||||||
|
@ -511,6 +353,64 @@ github.com/databricks/cli/bundle/config.Workspace:
|
||||||
"state_path":
|
"state_path":
|
||||||
"description": |-
|
"description": |-
|
||||||
The workspace state path
|
The workspace state path
|
||||||
|
github.com/databricks/cli/bundle/config/resources.App:
|
||||||
|
"active_deployment":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"app_status":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"compute_status":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"config":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"create_time":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"creator":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"default_source_code_path":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"description":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"name":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"pending_deployment":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"permissions":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"resources":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"service_principal_client_id":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"service_principal_id":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"service_principal_name":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"source_code_path":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"update_time":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"updater":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"url":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
github.com/databricks/cli/bundle/config/resources.Grant:
|
github.com/databricks/cli/bundle/config/resources.Grant:
|
||||||
"principal":
|
"principal":
|
||||||
"description": |-
|
"description": |-
|
||||||
|
@ -599,3 +499,103 @@ github.com/databricks/cli/bundle/config/variable.Variable:
|
||||||
"type":
|
"type":
|
||||||
"description": |-
|
"description": |-
|
||||||
The type of the variable.
|
The type of the variable.
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppDeployment:
|
||||||
|
"create_time":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"creator":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"deployment_artifacts":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"deployment_id":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"mode":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"source_code_path":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"status":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"update_time":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentArtifacts:
|
||||||
|
"source_code_path":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentStatus:
|
||||||
|
"message":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"state":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppResource:
|
||||||
|
"description":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"job":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"name":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"secret":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"serving_endpoint":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"sql_warehouse":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppResourceJob:
|
||||||
|
"id":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"permission":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecret:
|
||||||
|
"key":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"permission":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"scope":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpoint:
|
||||||
|
"name":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"permission":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouse:
|
||||||
|
"id":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"permission":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.ApplicationStatus:
|
||||||
|
"message":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"state":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
github.com/databricks/databricks-sdk-go/service/apps.ComputeStatus:
|
||||||
|
"message":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
"state":
|
||||||
|
"description": |-
|
||||||
|
PLACEHOLDER
|
||||||
|
|
|
@ -59,6 +59,81 @@
|
||||||
"cli": {
|
"cli": {
|
||||||
"bundle": {
|
"bundle": {
|
||||||
"config": {
|
"config": {
|
||||||
|
"resources.App": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"active_deployment": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeployment"
|
||||||
|
},
|
||||||
|
"app_status": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.ApplicationStatus"
|
||||||
|
},
|
||||||
|
"compute_status": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.ComputeStatus"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"$ref": "#/$defs/map/interface"
|
||||||
|
},
|
||||||
|
"create_time": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"creator": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"default_source_code_path": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"pending_deployment": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeployment"
|
||||||
|
},
|
||||||
|
"permissions": {
|
||||||
|
"$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.Permission"
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/apps.AppResource"
|
||||||
|
},
|
||||||
|
"service_principal_client_id": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"service_principal_id": {
|
||||||
|
"$ref": "#/$defs/int64"
|
||||||
|
},
|
||||||
|
"service_principal_name": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"source_code_path": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"update_time": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"updater": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"url": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"source_code_path",
|
||||||
|
"name"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"resources.Cluster": {
|
"resources.Cluster": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
|
@ -1239,6 +1314,9 @@
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"apps": {
|
||||||
|
"$ref": "#/$defs/map/github.com/databricks/cli/bundle/config/resources.App"
|
||||||
|
},
|
||||||
"clusters": {
|
"clusters": {
|
||||||
"description": "The cluster definitions for the bundle.",
|
"description": "The cluster definitions for the bundle.",
|
||||||
"$ref": "#/$defs/map/github.com/databricks/cli/bundle/config/resources.Cluster",
|
"$ref": "#/$defs/map/github.com/databricks/cli/bundle/config/resources.Cluster",
|
||||||
|
@ -1494,6 +1572,280 @@
|
||||||
},
|
},
|
||||||
"databricks-sdk-go": {
|
"databricks-sdk-go": {
|
||||||
"service": {
|
"service": {
|
||||||
|
"apps.AppDeployment": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"create_time": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"creator": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"deployment_artifacts": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentArtifacts"
|
||||||
|
},
|
||||||
|
"deployment_id": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentMode"
|
||||||
|
},
|
||||||
|
"source_code_path": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentStatus"
|
||||||
|
},
|
||||||
|
"update_time": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppDeploymentArtifacts": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"source_code_path": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppDeploymentMode": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.AppDeploymentState": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.AppDeploymentStatus": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"message": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppDeploymentState"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResource": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"description": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"job": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceJob"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecret"
|
||||||
|
},
|
||||||
|
"serving_endpoint": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpoint"
|
||||||
|
},
|
||||||
|
"sql_warehouse": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouse"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"name"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResourceJob": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"permission": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceJobJobPermission"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"permission"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResourceJobJobPermission": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.AppResourceSecret": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"key": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"permission": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSecretSecretPermission"
|
||||||
|
},
|
||||||
|
"scope": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"key",
|
||||||
|
"permission",
|
||||||
|
"scope"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResourceSecretSecretPermission": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.AppResourceServingEndpoint": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"permission": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceServingEndpointServingEndpointPermission"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"name",
|
||||||
|
"permission"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResourceServingEndpointServingEndpointPermission": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.AppResourceSqlWarehouse": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"permission": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResourceSqlWarehouseSqlWarehousePermission"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"id",
|
||||||
|
"permission"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.AppResourceSqlWarehouseSqlWarehousePermission": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.ApplicationState": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.ApplicationStatus": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"message": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.ApplicationState"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"apps.ComputeState": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"apps.ComputeStatus": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"message": {
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.ComputeState"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"catalog.MonitorCronSchedule": {
|
"catalog.MonitorCronSchedule": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
|
@ -5684,6 +6036,20 @@
|
||||||
"cli": {
|
"cli": {
|
||||||
"bundle": {
|
"bundle": {
|
||||||
"config": {
|
"config": {
|
||||||
|
"resources.App": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.App"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"resources.Cluster": {
|
"resources.Cluster": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
|
@ -5913,6 +6279,20 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"interface": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"$ref": "#/$defs/interface"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"string": {
|
"string": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
|
@ -5981,6 +6361,20 @@
|
||||||
},
|
},
|
||||||
"databricks-sdk-go": {
|
"databricks-sdk-go": {
|
||||||
"service": {
|
"service": {
|
||||||
|
"apps.AppResource": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppResource"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"catalog.MonitorMetric": {
|
"catalog.MonitorMetric": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,6 +16,12 @@ import (
|
||||||
func TestDeployBundleWithApp(t *testing.T) {
|
func TestDeployBundleWithApp(t *testing.T) {
|
||||||
ctx, wt := acc.WorkspaceTest(t)
|
ctx, wt := acc.WorkspaceTest(t)
|
||||||
|
|
||||||
|
// TODO: should only skip app run when app can be created with no_compute option.
|
||||||
|
if testing.Short() {
|
||||||
|
t.Log("Skip the app creation and run in short mode")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if testutil.GetCloud(t) == testutil.GCP {
|
if testutil.GetCloud(t) == testutil.GCP {
|
||||||
t.Skip("Skipping test for GCP cloud because /api/2.0/apps is temporarily unavailable there.")
|
t.Skip("Skipping test for GCP cloud because /api/2.0/apps is temporarily unavailable there.")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue