snowflake-cli 3.3.0__py3-none-any.whl → 3.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- snowflake/cli/__about__.py +1 -1
- snowflake/cli/_app/__main__.py +2 -2
- snowflake/cli/_app/cli_app.py +224 -192
- snowflake/cli/_app/commands_registration/commands_registration_with_callbacks.py +1 -27
- snowflake/cli/_plugins/cortex/commands.py +2 -4
- snowflake/cli/_plugins/git/manager.py +1 -1
- snowflake/cli/_plugins/nativeapp/artifacts.py +6 -624
- snowflake/cli/_plugins/nativeapp/bundle_context.py +1 -1
- snowflake/cli/_plugins/nativeapp/codegen/artifact_processor.py +1 -1
- snowflake/cli/_plugins/nativeapp/codegen/compiler.py +1 -3
- snowflake/cli/_plugins/nativeapp/codegen/setup/native_app_setup_processor.py +2 -2
- snowflake/cli/_plugins/nativeapp/codegen/snowpark/python_processor.py +2 -2
- snowflake/cli/_plugins/nativeapp/codegen/templates/templates_processor.py +2 -2
- snowflake/cli/_plugins/nativeapp/commands.py +21 -19
- snowflake/cli/_plugins/nativeapp/entities/application.py +16 -19
- snowflake/cli/_plugins/nativeapp/entities/application_package.py +142 -55
- snowflake/cli/_plugins/nativeapp/release_channel/commands.py +37 -3
- snowflake/cli/_plugins/nativeapp/release_directive/commands.py +80 -2
- snowflake/cli/_plugins/nativeapp/sf_sql_facade.py +224 -44
- snowflake/cli/_plugins/nativeapp/v2_conversions/compat.py +2 -2
- snowflake/cli/_plugins/nativeapp/version/commands.py +1 -1
- snowflake/cli/_plugins/notebook/commands.py +55 -2
- snowflake/cli/_plugins/notebook/exceptions.py +1 -1
- snowflake/cli/_plugins/notebook/manager.py +3 -3
- snowflake/cli/_plugins/notebook/notebook_entity.py +120 -0
- snowflake/cli/_plugins/notebook/notebook_entity_model.py +42 -0
- snowflake/cli/_plugins/notebook/notebook_project_paths.py +15 -0
- snowflake/cli/_plugins/notebook/types.py +3 -0
- snowflake/cli/_plugins/snowpark/commands.py +48 -30
- snowflake/cli/_plugins/snowpark/common.py +47 -2
- snowflake/cli/_plugins/snowpark/snowpark_entity.py +38 -25
- snowflake/cli/_plugins/snowpark/snowpark_entity_model.py +18 -30
- snowflake/cli/_plugins/snowpark/snowpark_project_paths.py +156 -23
- snowflake/cli/_plugins/snowpark/zipper.py +33 -1
- snowflake/cli/_plugins/spcs/services/commands.py +0 -3
- snowflake/cli/_plugins/stage/commands.py +2 -1
- snowflake/cli/_plugins/stage/diff.py +60 -39
- snowflake/cli/_plugins/stage/manager.py +24 -11
- snowflake/cli/_plugins/stage/utils.py +1 -1
- snowflake/cli/_plugins/streamlit/commands.py +10 -1
- snowflake/cli/_plugins/streamlit/manager.py +62 -21
- snowflake/cli/_plugins/streamlit/streamlit_entity.py +20 -41
- snowflake/cli/_plugins/streamlit/streamlit_entity_model.py +14 -24
- snowflake/cli/_plugins/streamlit/streamlit_project_paths.py +30 -0
- snowflake/cli/_plugins/workspace/commands.py +3 -3
- snowflake/cli/_plugins/workspace/manager.py +1 -1
- snowflake/cli/api/artifacts/__init__.py +13 -0
- snowflake/cli/api/artifacts/bundle_map.py +500 -0
- snowflake/cli/api/artifacts/common.py +78 -0
- snowflake/cli/api/artifacts/utils.py +82 -0
- snowflake/cli/api/cli_global_context.py +14 -1
- snowflake/cli/api/commands/flags.py +10 -4
- snowflake/cli/api/commands/utils.py +28 -2
- snowflake/cli/api/constants.py +1 -0
- snowflake/cli/api/entities/common.py +14 -32
- snowflake/cli/api/entities/resolver.py +160 -0
- snowflake/cli/api/entities/utils.py +56 -15
- snowflake/cli/api/errno.py +3 -0
- snowflake/cli/api/feature_flags.py +1 -2
- snowflake/cli/api/project/definition_conversion.py +3 -2
- snowflake/cli/api/project/project_paths.py +28 -0
- snowflake/cli/api/project/schemas/entities/common.py +130 -1
- snowflake/cli/api/project/schemas/entities/entities.py +4 -0
- snowflake/cli/api/project/schemas/project_definition.py +27 -0
- snowflake/cli/api/project/schemas/updatable_model.py +2 -2
- snowflake/cli/api/project/schemas/v1/native_app/native_app.py +5 -7
- snowflake/cli/api/secure_path.py +6 -0
- snowflake/cli/api/sql_execution.py +5 -1
- snowflake/cli/api/stage_path.py +7 -2
- snowflake/cli/api/utils/graph.py +3 -0
- snowflake/cli/api/utils/path_utils.py +24 -0
- {snowflake_cli-3.3.0.dist-info → snowflake_cli-3.4.1.dist-info}/METADATA +8 -9
- {snowflake_cli-3.3.0.dist-info → snowflake_cli-3.4.1.dist-info}/RECORD +76 -67
- snowflake/cli/api/project/schemas/v1/native_app/path_mapping.py +0 -65
- {snowflake_cli-3.3.0.dist-info → snowflake_cli-3.4.1.dist-info}/WHEEL +0 -0
- {snowflake_cli-3.3.0.dist-info → snowflake_cli-3.4.1.dist-info}/entry_points.txt +0 -0
- {snowflake_cli-3.3.0.dist-info → snowflake_cli-3.4.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -23,7 +23,6 @@ from typing import List, Optional
|
|
|
23
23
|
import yaml
|
|
24
24
|
from click import ClickException
|
|
25
25
|
from snowflake.cli._plugins.nativeapp.artifacts import (
|
|
26
|
-
BundleMap,
|
|
27
26
|
find_manifest_file,
|
|
28
27
|
find_setup_script_file,
|
|
29
28
|
)
|
|
@@ -38,8 +37,9 @@ from snowflake.cli._plugins.nativeapp.codegen.sandbox import (
|
|
|
38
37
|
)
|
|
39
38
|
from snowflake.cli._plugins.nativeapp.feature_flags import FeatureFlag
|
|
40
39
|
from snowflake.cli._plugins.stage.diff import to_stage_path
|
|
40
|
+
from snowflake.cli.api.artifacts.bundle_map import BundleMap
|
|
41
41
|
from snowflake.cli.api.console import cli_console as cc
|
|
42
|
-
from snowflake.cli.api.project.schemas.
|
|
42
|
+
from snowflake.cli.api.project.schemas.entities.common import (
|
|
43
43
|
PathMapping,
|
|
44
44
|
ProcessorMapping,
|
|
45
45
|
)
|
|
@@ -22,7 +22,6 @@ from typing import Any, Dict, List, Optional, Set
|
|
|
22
22
|
|
|
23
23
|
from pydantic import ValidationError
|
|
24
24
|
from snowflake.cli._plugins.nativeapp.artifacts import (
|
|
25
|
-
BundleMap,
|
|
26
25
|
find_setup_script_file,
|
|
27
26
|
)
|
|
28
27
|
from snowflake.cli._plugins.nativeapp.codegen.artifact_processor import (
|
|
@@ -48,10 +47,11 @@ from snowflake.cli._plugins.nativeapp.codegen.snowpark.models import (
|
|
|
48
47
|
NativeAppExtensionFunction,
|
|
49
48
|
)
|
|
50
49
|
from snowflake.cli._plugins.stage.diff import to_stage_path
|
|
50
|
+
from snowflake.cli.api.artifacts.bundle_map import BundleMap
|
|
51
51
|
from snowflake.cli.api.cli_global_context import get_cli_context, span
|
|
52
52
|
from snowflake.cli.api.console import cli_console as cc
|
|
53
53
|
from snowflake.cli.api.metrics import CLICounterField
|
|
54
|
-
from snowflake.cli.api.project.schemas.
|
|
54
|
+
from snowflake.cli.api.project.schemas.entities.common import (
|
|
55
55
|
PathMapping,
|
|
56
56
|
ProcessorMapping,
|
|
57
57
|
)
|
|
@@ -18,15 +18,15 @@ from pathlib import Path
|
|
|
18
18
|
from typing import Any, Optional
|
|
19
19
|
|
|
20
20
|
import jinja2
|
|
21
|
-
from snowflake.cli._plugins.nativeapp.artifacts import BundleMap
|
|
22
21
|
from snowflake.cli._plugins.nativeapp.codegen.artifact_processor import (
|
|
23
22
|
ArtifactProcessor,
|
|
24
23
|
)
|
|
25
24
|
from snowflake.cli._plugins.nativeapp.exceptions import InvalidTemplateInFileError
|
|
25
|
+
from snowflake.cli.api.artifacts.bundle_map import BundleMap
|
|
26
26
|
from snowflake.cli.api.cli_global_context import get_cli_context, span
|
|
27
27
|
from snowflake.cli.api.console import cli_console as cc
|
|
28
28
|
from snowflake.cli.api.metrics import CLICounterField
|
|
29
|
-
from snowflake.cli.api.project.schemas.
|
|
29
|
+
from snowflake.cli.api.project.schemas.entities.common import (
|
|
30
30
|
PathMapping,
|
|
31
31
|
ProcessorMapping,
|
|
32
32
|
)
|
|
@@ -44,18 +44,13 @@ from snowflake.cli._plugins.nativeapp.v2_conversions.compat import (
|
|
|
44
44
|
force_project_definition_v2,
|
|
45
45
|
)
|
|
46
46
|
from snowflake.cli._plugins.nativeapp.version.commands import app as versions_app
|
|
47
|
-
from snowflake.cli._plugins.stage.diff import (
|
|
48
|
-
DiffResult,
|
|
49
|
-
compute_stage_diff,
|
|
50
|
-
)
|
|
51
|
-
from snowflake.cli._plugins.stage.utils import print_diff_to_console
|
|
52
47
|
from snowflake.cli._plugins.workspace.manager import WorkspaceManager
|
|
53
48
|
from snowflake.cli.api.cli_global_context import get_cli_context
|
|
54
49
|
from snowflake.cli.api.commands.decorators import (
|
|
55
50
|
with_project_definition,
|
|
56
51
|
)
|
|
57
52
|
from snowflake.cli.api.commands.snow_typer import SnowTyperFactory
|
|
58
|
-
from snowflake.cli.api.entities.
|
|
53
|
+
from snowflake.cli.api.entities.utils import EntityActions
|
|
59
54
|
from snowflake.cli.api.exceptions import (
|
|
60
55
|
IncompatibleParametersError,
|
|
61
56
|
UnmetParametersError,
|
|
@@ -67,6 +62,7 @@ from snowflake.cli.api.output.types import (
|
|
|
67
62
|
ObjectResult,
|
|
68
63
|
StreamResult,
|
|
69
64
|
)
|
|
65
|
+
from snowflake.cli.api.project.util import same_identifiers
|
|
70
66
|
from typing_extensions import Annotated
|
|
71
67
|
|
|
72
68
|
app = SnowTyperFactory(
|
|
@@ -118,20 +114,15 @@ def app_diff(
|
|
|
118
114
|
project_root=cli_context.project_root,
|
|
119
115
|
)
|
|
120
116
|
package_id = options["package_entity_id"]
|
|
121
|
-
|
|
122
|
-
bundle_map = ws.perform_action(
|
|
117
|
+
diff = ws.perform_action(
|
|
123
118
|
package_id,
|
|
124
|
-
EntityActions.
|
|
125
|
-
|
|
126
|
-
stage_fqn = f"{package.fqn.name}.{package.stage}"
|
|
127
|
-
diff: DiffResult = compute_stage_diff(
|
|
128
|
-
local_root=Path(package.deploy_root), stage_fqn=stage_fqn
|
|
119
|
+
EntityActions.DIFF,
|
|
120
|
+
print_to_console=cli_context.output_format != OutputFormat.JSON,
|
|
129
121
|
)
|
|
130
122
|
if cli_context.output_format == OutputFormat.JSON:
|
|
131
123
|
return ObjectResult(diff.to_dict())
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return None # don't print any output
|
|
124
|
+
|
|
125
|
+
return None
|
|
135
126
|
|
|
136
127
|
|
|
137
128
|
@app.command("run", requires_connection=True)
|
|
@@ -238,7 +229,7 @@ def app_teardown(
|
|
|
238
229
|
# Same as the param auto-added by @force_project_definition_v2 if single_app_and_package were true
|
|
239
230
|
package_entity_id: Optional[str] = typer.Option(
|
|
240
231
|
default="",
|
|
241
|
-
help="The ID of the package entity on which to operate when definition_version is 2 or higher.",
|
|
232
|
+
help="The ID of the package entity on which to operate when the definition_version is 2 or higher.",
|
|
242
233
|
),
|
|
243
234
|
**options,
|
|
244
235
|
) -> CommandResult:
|
|
@@ -263,11 +254,22 @@ def app_teardown(
|
|
|
263
254
|
project_definition=cli_context.project_definition,
|
|
264
255
|
project_root=cli_context.project_root,
|
|
265
256
|
)
|
|
257
|
+
|
|
258
|
+
# TODO: get all apps created from this application package from snowflake, compare, confirm and drop.
|
|
259
|
+
# TODO: add messaging/confirmation here for extra apps found as part of above
|
|
260
|
+
all_packages_with_id = [
|
|
261
|
+
package_entity.entity_id
|
|
262
|
+
for package_entity in project.get_entities_by_type(
|
|
263
|
+
ApplicationPackageEntityModel.get_type()
|
|
264
|
+
).values()
|
|
265
|
+
if same_identifiers(package_entity.fqn.name, app_package_entity.fqn.name)
|
|
266
|
+
]
|
|
267
|
+
|
|
266
268
|
for app_entity in project.get_entities_by_type(
|
|
267
269
|
ApplicationEntityModel.get_type()
|
|
268
270
|
).values():
|
|
269
271
|
# Drop each app
|
|
270
|
-
if app_entity.from_.target
|
|
272
|
+
if app_entity.from_.target in all_packages_with_id:
|
|
271
273
|
ws.perform_action(
|
|
272
274
|
app_entity.entity_id,
|
|
273
275
|
EntityActions.DROP,
|
|
@@ -306,7 +308,7 @@ def app_deploy(
|
|
|
306
308
|
show_default=False,
|
|
307
309
|
help=dedent(
|
|
308
310
|
f"""
|
|
309
|
-
Paths, relative to the
|
|
311
|
+
Paths, relative to the project root, of files or directories you want to upload to a stage. If a file is
|
|
310
312
|
specified, it must match one of the artifacts src pattern entries in snowflake.yml. If a directory is
|
|
311
313
|
specified, it will be searched for subfolders or files to deploy based on artifacts src pattern entries. If
|
|
312
314
|
unspecified, the command syncs all local changes to the stage."""
|
|
@@ -53,6 +53,7 @@ from snowflake.cli._plugins.nativeapp.sf_facade_exceptions import (
|
|
|
53
53
|
UpgradeApplicationRestrictionError,
|
|
54
54
|
)
|
|
55
55
|
from snowflake.cli._plugins.nativeapp.utils import needs_confirmation
|
|
56
|
+
from snowflake.cli._plugins.stage.manager import DefaultStagePathParts
|
|
56
57
|
from snowflake.cli._plugins.workspace.context import ActionContext
|
|
57
58
|
from snowflake.cli.api.cli_global_context import get_cli_context, span
|
|
58
59
|
from snowflake.cli.api.console.abc import AbstractConsole
|
|
@@ -60,12 +61,12 @@ from snowflake.cli.api.constants import ObjectType
|
|
|
60
61
|
from snowflake.cli.api.entities.common import (
|
|
61
62
|
EntityBase,
|
|
62
63
|
attach_spans_to_entity_actions,
|
|
63
|
-
get_sql_executor,
|
|
64
64
|
)
|
|
65
65
|
from snowflake.cli.api.entities.utils import (
|
|
66
66
|
drop_generic_object,
|
|
67
67
|
execute_post_deploy_hooks,
|
|
68
68
|
generic_sql_error_handler,
|
|
69
|
+
get_sql_executor,
|
|
69
70
|
print_messages,
|
|
70
71
|
)
|
|
71
72
|
from snowflake.cli.api.errno import (
|
|
@@ -83,7 +84,6 @@ from snowflake.cli.api.project.schemas.entities.common import (
|
|
|
83
84
|
from snowflake.cli.api.project.schemas.updatable_model import DiscriminatorField
|
|
84
85
|
from snowflake.cli.api.project.util import (
|
|
85
86
|
append_test_resource_suffix,
|
|
86
|
-
extract_schema,
|
|
87
87
|
identifier_for_url,
|
|
88
88
|
to_identifier,
|
|
89
89
|
unquote_identifier,
|
|
@@ -331,7 +331,6 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
331
331
|
paths: List[Path],
|
|
332
332
|
release_channel: Optional[str] = None,
|
|
333
333
|
validate: bool = ValidateOption,
|
|
334
|
-
stage_fqn: Optional[str] = None,
|
|
335
334
|
interactive: bool = InteractiveOption,
|
|
336
335
|
version: Optional[str] = None,
|
|
337
336
|
patch: Optional[int] = None,
|
|
@@ -346,7 +345,8 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
346
345
|
package_entity: ApplicationPackageEntity = action_ctx.get_entity(
|
|
347
346
|
self.package_entity_id
|
|
348
347
|
)
|
|
349
|
-
|
|
348
|
+
|
|
349
|
+
stage_path = package_entity.stage_path
|
|
350
350
|
|
|
351
351
|
if force:
|
|
352
352
|
policy = AllowAlwaysPolicy()
|
|
@@ -363,7 +363,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
363
363
|
|
|
364
364
|
self.create_or_upgrade_app(
|
|
365
365
|
package=package_entity,
|
|
366
|
-
|
|
366
|
+
stage_path=stage_path,
|
|
367
367
|
install_method=SameAccountInstallMethod.release_directive(),
|
|
368
368
|
release_channel=release_channel,
|
|
369
369
|
policy=policy,
|
|
@@ -391,7 +391,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
391
391
|
|
|
392
392
|
self.create_or_upgrade_app(
|
|
393
393
|
package=package_entity,
|
|
394
|
-
|
|
394
|
+
stage_path=stage_path,
|
|
395
395
|
install_method=SameAccountInstallMethod.versioned_dev(version, patch),
|
|
396
396
|
policy=policy,
|
|
397
397
|
interactive=interactive,
|
|
@@ -405,13 +405,12 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
405
405
|
recursive=True,
|
|
406
406
|
paths=[],
|
|
407
407
|
validate=validate,
|
|
408
|
-
stage_fqn=stage_fqn,
|
|
409
408
|
interactive=interactive,
|
|
410
409
|
force=force,
|
|
411
410
|
)
|
|
412
411
|
self.create_or_upgrade_app(
|
|
413
412
|
package=package_entity,
|
|
414
|
-
|
|
413
|
+
stage_path=stage_path,
|
|
415
414
|
install_method=SameAccountInstallMethod.unversioned_dev(),
|
|
416
415
|
policy=policy,
|
|
417
416
|
interactive=interactive,
|
|
@@ -609,7 +608,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
609
608
|
|
|
610
609
|
def _upgrade_app(
|
|
611
610
|
self,
|
|
612
|
-
|
|
611
|
+
stage_path: DefaultStagePathParts,
|
|
613
612
|
install_method: SameAccountInstallMethod,
|
|
614
613
|
event_sharing: EventSharingHandler,
|
|
615
614
|
policy: PolicyBase,
|
|
@@ -622,7 +621,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
622
621
|
return get_snowflake_facade().upgrade_application(
|
|
623
622
|
name=self.name,
|
|
624
623
|
install_method=install_method,
|
|
625
|
-
|
|
624
|
+
path_to_version_directory=stage_path.full_path,
|
|
626
625
|
debug_mode=self.debug,
|
|
627
626
|
should_authorize_event_sharing=event_sharing.should_authorize_event_sharing(),
|
|
628
627
|
release_channel=release_channel,
|
|
@@ -636,7 +635,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
636
635
|
|
|
637
636
|
def _create_app(
|
|
638
637
|
self,
|
|
639
|
-
|
|
638
|
+
stage_path: DefaultStagePathParts,
|
|
640
639
|
install_method: SameAccountInstallMethod,
|
|
641
640
|
event_sharing: EventSharingHandler,
|
|
642
641
|
package: ApplicationPackageEntity,
|
|
@@ -653,7 +652,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
653
652
|
role_to_use=package.role,
|
|
654
653
|
)
|
|
655
654
|
|
|
656
|
-
stage_schema =
|
|
655
|
+
stage_schema = stage_path.schema
|
|
657
656
|
get_snowflake_facade().grant_privileges_to_role(
|
|
658
657
|
privileges=["usage"],
|
|
659
658
|
object_type=ObjectType.SCHEMA,
|
|
@@ -665,7 +664,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
665
664
|
get_snowflake_facade().grant_privileges_to_role(
|
|
666
665
|
privileges=["read"],
|
|
667
666
|
object_type=ObjectType.STAGE,
|
|
668
|
-
object_identifier=
|
|
667
|
+
object_identifier=stage_path.stage,
|
|
669
668
|
role_to_grant=self.role,
|
|
670
669
|
role_to_use=package.role,
|
|
671
670
|
)
|
|
@@ -674,7 +673,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
674
673
|
name=self.name,
|
|
675
674
|
package_name=package.name,
|
|
676
675
|
install_method=install_method,
|
|
677
|
-
|
|
676
|
+
path_to_version_directory=stage_path.full_path,
|
|
678
677
|
debug_mode=self.debug,
|
|
679
678
|
should_authorize_event_sharing=event_sharing.should_authorize_event_sharing(),
|
|
680
679
|
role=self.role,
|
|
@@ -686,7 +685,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
686
685
|
def create_or_upgrade_app(
|
|
687
686
|
self,
|
|
688
687
|
package: ApplicationPackageEntity,
|
|
689
|
-
|
|
688
|
+
stage_path: DefaultStagePathParts,
|
|
690
689
|
install_method: SameAccountInstallMethod,
|
|
691
690
|
policy: PolicyBase,
|
|
692
691
|
interactive: bool,
|
|
@@ -704,13 +703,11 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
704
703
|
self.name, self.role
|
|
705
704
|
)
|
|
706
705
|
|
|
707
|
-
stage_fqn = stage_fqn or package.stage_fqn
|
|
708
|
-
|
|
709
706
|
# 2. If existing application is found, try to upgrade the application object.
|
|
710
707
|
create_or_upgrade_result = None
|
|
711
708
|
if show_app_row:
|
|
712
709
|
create_or_upgrade_result = self._upgrade_app(
|
|
713
|
-
|
|
710
|
+
stage_path=stage_path,
|
|
714
711
|
install_method=install_method,
|
|
715
712
|
event_sharing=event_sharing,
|
|
716
713
|
policy=policy,
|
|
@@ -721,7 +718,7 @@ class ApplicationEntity(EntityBase[ApplicationEntityModel]):
|
|
|
721
718
|
# 3. If no existing application found, or we performed a drop before the upgrade, we proceed to create
|
|
722
719
|
if create_or_upgrade_result is None:
|
|
723
720
|
create_or_upgrade_result = self._create_app(
|
|
724
|
-
|
|
721
|
+
stage_path=stage_path,
|
|
725
722
|
install_method=install_method,
|
|
726
723
|
event_sharing=event_sharing,
|
|
727
724
|
package=package,
|