Skip to content

Commit 1ee0c79

Browse files
Attempt resource client split
1 parent fd4a6cd commit 1ee0c79

10 files changed

Lines changed: 65 additions & 39 deletions

File tree

545 KB
Binary file not shown.

src/azure-cli-core/azure/cli/core/profiles/_shared.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class ResourceType(Enum): # pylint: disable=too-few-public-methods
5858
MGMT_RESOURCE_POLICY = ('azure.mgmt.resource.policy', 'PolicyClient')
5959
MGMT_RESOURCE_RESOURCES = ('azure.mgmt.resource.resources', 'ResourceManagementClient')
6060
MGMT_RESOURCE_SUBSCRIPTIONS = ('azure.mgmt.resource.subscriptions', 'SubscriptionClient')
61+
MGMT_RESOURCE_DEPLOYMENTS = ('azure.mgmt.resource.deployments', 'DeploymentsMgmtClient')
6162
MGMT_RESOURCE_DEPLOYMENTSCRIPTS = ('azure.mgmt.resource.deploymentscripts', 'DeploymentScriptsClient')
6263
MGMT_RESOURCE_TEMPLATESPECS = ('azure.mgmt.resource.templatespecs', 'TemplateSpecsClient')
6364
MGMT_RESOURCE_DEPLOYMENTSTACKS = ('azure.mgmt.resource.deploymentstacks', 'DeploymentStacksClient')
@@ -179,6 +180,7 @@ def default_api_version(self):
179180
}),
180181
ResourceType.MGMT_RESOURCE_RESOURCES: '2024-11-01',
181182
ResourceType.MGMT_RESOURCE_SUBSCRIPTIONS: '2022-12-01',
183+
ResourceType.MGMT_RESOURCE_DEPLOYMENTS: '2025-04-01',
182184
ResourceType.MGMT_RESOURCE_DEPLOYMENTSCRIPTS: '2020-10-01',
183185
ResourceType.MGMT_RESOURCE_TEMPLATESPECS: '2021-05-01',
184186
ResourceType.MGMT_RESOURCE_DEPLOYMENTSTACKS: '2024-03-01',

src/azure-cli/azure/cli/command_modules/appservice/appservice_environment.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
from azure.mgmt.privatedns import PrivateDnsManagementClient
1010

1111
# Models
12-
from azure.mgmt.resource.resources.models import (DeploymentProperties, Deployment, SubResource)
12+
from azure.mgmt.resource.deployments.models import (DeploymentProperties, Deployment)
13+
from azure.mgmt.resource.resources.models import SubResource
1314
from azure.mgmt.privatedns.models import (PrivateZone, VirtualNetworkLink, RecordSet, ARecord)
1415

1516
# Utils

src/azure-cli/azure/cli/command_modules/resource/_client_factory.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ def _resource_links_client_factory(cli_ctx, **_):
3434
return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_LINKS)
3535

3636

37+
def _resource_deployments_client_factory(cli_ctx, **_):
38+
from azure.cli.core.commands.client_factory import get_mgmt_service_client
39+
from azure.cli.core.profiles import ResourceType
40+
return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_DEPLOYMENTS)
41+
42+
3743
def _resource_deploymentscripts_client_factory(cli_ctx, **_):
3844
from azure.cli.core.commands.client_factory import get_mgmt_service_client
3945
from azure.cli.core.profiles import ResourceType
@@ -93,11 +99,11 @@ def cf_tags(cli_ctx, _):
9399

94100

95101
def cf_deployments(cli_ctx, _):
96-
return _resource_client_factory(cli_ctx).deployments
102+
return _resource_deployments_client_factory(cli_ctx).deployments
97103

98104

99105
def cf_deployment_operations(cli_ctx, _):
100-
return _resource_client_factory(cli_ctx).deployment_operations
106+
return _resource_deployments_client_factory(cli_ctx).deployment_operations
101107

102108

103109
def cf_features(cli_ctx, _):

src/azure-cli/azure/cli/command_modules/resource/_formatters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from itertools import groupby
77

8-
from azure.mgmt.resource.resources.models import ChangeType, PropertyChangeType, Level
8+
from azure.mgmt.resource.deployments.models import ChangeType, PropertyChangeType, Level
99

1010
from ._symbol import Symbol
1111
from ._color import Color, ColoredStringBuilder

src/azure-cli/azure/cli/command_modules/resource/custom.py

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020

2121
from azure.mgmt.core.tools import is_valid_resource_id, parse_resource_id
2222

23-
from azure.mgmt.resource.resources.models import GenericResource, DeploymentMode
23+
from azure.mgmt.resource.resources.models import GenericResource
24+
from azure.mgmt.resource.deployments.models import DeploymentMode
2425

2526
from azure.cli.core.azclierror import ArgumentUsageError, InvalidArgumentValueError, RequiredArgumentMissingError, ResourceNotFoundError
2627
from azure.cli.core.parser import IncorrectUsageError
@@ -32,7 +33,7 @@
3233

3334
from azure.cli.command_modules.resource._client_factory import (
3435
_resource_client_factory, _resource_policy_client_factory, _resource_lock_client_factory,
35-
_resource_links_client_factory, _resource_deploymentscripts_client_factory, _resource_deploymentstacks_client_factory, _authorization_management_client, _resource_managedapps_client_factory, _resource_templatespecs_client_factory, _resource_privatelinks_client_factory)
36+
_resource_links_client_factory, _resource_deployments_client_factory, _resource_deploymentscripts_client_factory, _resource_deploymentstacks_client_factory, _authorization_management_client, _resource_managedapps_client_factory, _resource_templatespecs_client_factory, _resource_privatelinks_client_factory)
3637
from azure.cli.command_modules.resource._validators import _parse_lock_id
3738
from azure.cli.command_modules.resource.parameters import StacksActionOnUnmanage
3839

@@ -1867,82 +1868,82 @@ def list_applications(cmd, resource_group_name=None):
18671868

18681869

18691870
def list_deployments_at_subscription_scope(cmd, filter_string=None):
1870-
rcf = _resource_client_factory(cmd.cli_ctx)
1871+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18711872
return rcf.deployments.list_at_subscription_scope(filter=filter_string)
18721873

18731874

18741875
def list_deployments_at_resource_group(cmd, resource_group_name, filter_string=None):
1875-
rcf = _resource_client_factory(cmd.cli_ctx)
1876+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18761877
return rcf.deployments.list_by_resource_group(resource_group_name, filter=filter_string)
18771878

18781879

18791880
def list_deployments_at_management_group(cmd, management_group_id, filter_string=None):
1880-
rcf = _resource_client_factory(cmd.cli_ctx)
1881+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18811882
return rcf.deployments.list_at_management_group_scope(management_group_id, filter=filter_string)
18821883

18831884

18841885
def list_deployments_at_tenant_scope(cmd, filter_string=None):
1885-
rcf = _resource_client_factory(cmd.cli_ctx)
1886+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18861887
return rcf.deployments.list_at_tenant_scope(filter=filter_string)
18871888

18881889

18891890
def get_deployment_at_subscription_scope(cmd, deployment_name):
1890-
rcf = _resource_client_factory(cmd.cli_ctx)
1891+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18911892
return rcf.deployments.get_at_subscription_scope(deployment_name)
18921893

18931894

18941895
def get_deployment_at_resource_group(cmd, resource_group_name, deployment_name):
1895-
rcf = _resource_client_factory(cmd.cli_ctx)
1896+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
18961897
return rcf.deployments.get(resource_group_name, deployment_name)
18971898

18981899

18991900
def get_deployment_at_management_group(cmd, management_group_id, deployment_name):
1900-
rcf = _resource_client_factory(cmd.cli_ctx)
1901+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19011902
return rcf.deployments.get_at_management_group_scope(management_group_id, deployment_name)
19021903

19031904

19041905
def get_deployment_at_tenant_scope(cmd, deployment_name):
1905-
rcf = _resource_client_factory(cmd.cli_ctx)
1906+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19061907
return rcf.deployments.get_at_tenant_scope(deployment_name)
19071908

19081909

19091910
def delete_deployment_at_subscription_scope(cmd, deployment_name):
1910-
rcf = _resource_client_factory(cmd.cli_ctx)
1911+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19111912
return rcf.deployments.begin_delete_at_subscription_scope(deployment_name)
19121913

19131914

19141915
def delete_deployment_at_resource_group(cmd, resource_group_name, deployment_name):
1915-
rcf = _resource_client_factory(cmd.cli_ctx)
1916+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19161917
return rcf.deployments.begin_delete(resource_group_name, deployment_name)
19171918

19181919

19191920
def delete_deployment_at_management_group(cmd, management_group_id, deployment_name):
1920-
rcf = _resource_client_factory(cmd.cli_ctx)
1921+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19211922
return rcf.deployments.begin_delete_at_management_group_scope(management_group_id, deployment_name)
19221923

19231924

19241925
def delete_deployment_at_tenant_scope(cmd, deployment_name):
1925-
rcf = _resource_client_factory(cmd.cli_ctx)
1926+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19261927
return rcf.deployments.begin_delete_at_tenant_scope(deployment_name)
19271928

19281929

19291930
def cancel_deployment_at_subscription_scope(cmd, deployment_name):
1930-
rcf = _resource_client_factory(cmd.cli_ctx)
1931+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19311932
return rcf.deployments.cancel_at_subscription_scope(deployment_name)
19321933

19331934

19341935
def cancel_deployment_at_resource_group(cmd, resource_group_name, deployment_name):
1935-
rcf = _resource_client_factory(cmd.cli_ctx)
1936+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19361937
return rcf.deployments.cancel(resource_group_name, deployment_name)
19371938

19381939

19391940
def cancel_deployment_at_management_group(cmd, management_group_id, deployment_name):
1940-
rcf = _resource_client_factory(cmd.cli_ctx)
1941+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19411942
return rcf.deployments.cancel_at_management_group_scope(management_group_id, deployment_name)
19421943

19431944

19441945
def cancel_deployment_at_tenant_scope(cmd, deployment_name):
1945-
rcf = _resource_client_factory(cmd.cli_ctx)
1946+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19461947
return rcf.deployments.cancel_at_tenant_scope(deployment_name)
19471948

19481949

@@ -1970,35 +1971,35 @@ def validate_arm_template(cmd, resource_group_name, template_file=None, template
19701971

19711972

19721973
def export_template_at_subscription_scope(cmd, deployment_name):
1973-
rcf = _resource_client_factory(cmd.cli_ctx)
1974+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19741975
result = rcf.deployments.export_template_at_subscription_scope(deployment_name)
19751976

19761977
print(json.dumps(result.template, indent=2)) # pylint: disable=no-member
19771978

19781979

19791980
def export_template_at_resource_group(cmd, resource_group_name, deployment_name):
1980-
rcf = _resource_client_factory(cmd.cli_ctx)
1981+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19811982
result = rcf.deployments.export_template(resource_group_name, deployment_name)
19821983

19831984
print(json.dumps(result.template, indent=2)) # pylint: disable=no-member
19841985

19851986

19861987
def export_template_at_management_group(cmd, management_group_id, deployment_name):
1987-
rcf = _resource_client_factory(cmd.cli_ctx)
1988+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19881989
result = rcf.deployments.export_template_at_management_group_scope(management_group_id, deployment_name)
19891990

19901991
print(json.dumps(result.template, indent=2)) # pylint: disable=no-member
19911992

19921993

19931994
def export_template_at_tenant_scope(cmd, deployment_name):
1994-
rcf = _resource_client_factory(cmd.cli_ctx)
1995+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
19951996
result = rcf.deployments.export_template_at_tenant_scope(deployment_name)
19961997

19971998
print(json.dumps(result.template, indent=2)) # pylint: disable=no-member
19981999

19992000

20002001
def export_deployment_as_template(cmd, resource_group_name, deployment_name):
2001-
smc = _resource_client_factory(cmd.cli_ctx)
2002+
smc = _resource_deployments_client_factory(cmd.cli_ctx)
20022003
result = smc.deployments.export_template(resource_group_name, deployment_name)
20032004
print(json.dumps(result.template, indent=2)) # pylint: disable=no-member
20042005

@@ -3042,42 +3043,42 @@ def export_template_deployment_stack_at_management_group(cmd, management_group_i
30423043

30433044

30443045
def list_deployment_operations_at_subscription_scope(cmd, deployment_name):
3045-
rcf = _resource_client_factory(cmd.cli_ctx)
3046+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30463047
return rcf.deployment_operations.list_at_subscription_scope(deployment_name)
30473048

30483049

30493050
def list_deployment_operations_at_resource_group(cmd, resource_group_name, deployment_name):
3050-
rcf = _resource_client_factory(cmd.cli_ctx)
3051+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30513052
return rcf.deployment_operations.list(resource_group_name, deployment_name)
30523053

30533054

30543055
def list_deployment_operations_at_management_group(cmd, management_group_id, deployment_name):
3055-
rcf = _resource_client_factory(cmd.cli_ctx)
3056+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30563057
return rcf.deployment_operations.list_at_management_group_scope(management_group_id, deployment_name)
30573058

30583059

30593060
def list_deployment_operations_at_tenant_scope(cmd, deployment_name):
3060-
rcf = _resource_client_factory(cmd.cli_ctx)
3061+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30613062
return rcf.deployment_operations.list_at_tenant_scope(deployment_name)
30623063

30633064

30643065
def get_deployment_operation_at_subscription_scope(cmd, deployment_name, op_id):
3065-
rcf = _resource_client_factory(cmd.cli_ctx)
3066+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30663067
return rcf.deployment_operations.get_at_subscription_scope(deployment_name, op_id)
30673068

30683069

30693070
def get_deployment_operation_at_resource_group(cmd, resource_group_name, deployment_name, op_id):
3070-
rcf = _resource_client_factory(cmd.cli_ctx)
3071+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30713072
return rcf.deployment_operations.get(resource_group_name, deployment_name, op_id)
30723073

30733074

30743075
def get_deployment_operation_at_management_group(cmd, management_group_id, deployment_name, op_id):
3075-
rcf = _resource_client_factory(cmd.cli_ctx)
3076+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30763077
return rcf.deployment_operations.get_at_management_group_scope(management_group_id, deployment_name, op_id)
30773078

30783079

30793080
def get_deployment_operation_at_tenant_scope(cmd, deployment_name, op_id):
3080-
rcf = _resource_client_factory(cmd.cli_ctx)
3081+
rcf = _resource_deployments_client_factory(cmd.cli_ctx)
30813082
return rcf.deployment_operations.get_at_tenant_scope(deployment_name, op_id)
30823083

30833084

src/azure-cli/requirements.py3.Darwin.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@ azure-mgmt-recoveryservices==3.1.0
6666
azure-mgmt-recoveryservicesbackup==9.2.0
6767
azure-mgmt-redhatopenshift==1.5.0
6868
azure-mgmt-redis==14.5.0
69-
azure-mgmt-resource==23.3.0
69+
/workspaces/azure-cli/azure_mgmt_resource-25.0.0-py3-none-any.whl
70+
azure-mgmt-resource-deployments==1.0.0b1
71+
azure-mgmt-resource-deploymentscripts==1.0.0b1
72+
azure-mgmt-resource-deploymentstacks==1.0.0b1
73+
azure-mgmt-resource-templatespecs==1.0.0b1
7074
azure-mgmt-search==9.0.0
7175
azure-mgmt-security==6.0.0
7276
azure-mgmt-servicebus==8.2.0

src/azure-cli/requirements.py3.Linux.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@ azure-mgmt-recoveryservices==3.1.0
6666
azure-mgmt-recoveryservicesbackup==9.2.0
6767
azure-mgmt-redhatopenshift==1.5.0
6868
azure-mgmt-redis==14.5.0
69-
azure-mgmt-resource==23.3.0
69+
/workspaces/azure-cli/azure_mgmt_resource-25.0.0-py3-none-any.whl
70+
azure-mgmt-resource-deployments==1.0.0b1
71+
azure-mgmt-resource-deploymentscripts==1.0.0b1
72+
azure-mgmt-resource-deploymentstacks==1.0.0b1
73+
azure-mgmt-resource-templatespecs==1.0.0b1
7074
azure-mgmt-search==9.0.0
7175
azure-mgmt-security==6.0.0
7276
azure-mgmt-servicebus==8.2.0

src/azure-cli/requirements.py3.windows.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@ azure-mgmt-recoveryservices==3.1.0
6666
azure-mgmt-recoveryservicesbackup==9.2.0
6767
azure-mgmt-redhatopenshift==1.5.0
6868
azure-mgmt-redis==14.5.0
69-
azure-mgmt-resource==23.3.0
69+
/workspaces/azure-cli/azure_mgmt_resource-25.0.0-py3-none-any.whl
70+
azure-mgmt-resource-deployments==1.0.0b1
71+
azure-mgmt-resource-deploymentscripts==1.0.0b1
72+
azure-mgmt-resource-deploymentstacks==1.0.0b1
73+
azure-mgmt-resource-templatespecs==1.0.0b1
7074
azure-mgmt-search==9.0.0
7175
azure-mgmt-security==6.0.0
7276
azure-mgmt-servicebus==8.2.0

src/azure-cli/setup.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@
109109
'azure-mgmt-recoveryservices~=3.1.0',
110110
'azure-mgmt-redhatopenshift~=1.5.0',
111111
'azure-mgmt-redis~=14.5.0',
112-
'azure-mgmt-resource==23.3.0',
112+
# TODO add resource package here
113+
'azure-mgmt-resource-deployments==1.0.0b1',
114+
'azure-mgmt-resource-deploymentscripts==1.0.0b1',
115+
'azure-mgmt-resource-deploymentstacks==1.0.0b1',
116+
'azure-mgmt-resource-templatespecs==1.0.0b1',
113117
'azure-mgmt-search~=9.0',
114118
'azure-mgmt-security==6.0.0',
115119
'azure-mgmt-servicebus~=8.2.0',

0 commit comments

Comments
 (0)