|
4 | 4 | # -------------------------------------------------------------------------------------------- |
5 | 5 |
|
6 | 6 | from enum import Enum |
7 | | -import re |
8 | 7 | from msrest.exceptions import ValidationError |
9 | 8 | from knack.log import get_logger |
10 | 9 | from knack.util import CLIError |
|
22 | 21 | parse_scope_map_actions, |
23 | 22 | validate_managed_registry |
24 | 23 | ) |
| 24 | +from .custom import acr_update_custom |
25 | 25 |
|
26 | 26 |
|
27 | 27 | class ConnectedRegistryModes(Enum): |
@@ -59,23 +59,22 @@ def acr_connected_registry_create(cmd, # pylint: disable=too-many-locals, too-m |
59 | 59 | sync_window=None, |
60 | 60 | log_level=None, |
61 | 61 | sync_audit_logs_enabled=False, |
62 | | - notifications=None): |
| 62 | + notifications=None, |
| 63 | + yes=False): |
63 | 64 |
|
64 | 65 | if bool(sync_token_name) == bool(repositories): |
65 | 66 | raise CLIError("argument error: either --sync-token or --repository must be provided, but not both.") |
66 | 67 | # Check needed since the sync token gateway actions must be at least 5 characters long. |
67 | 68 | if len(connected_registry_name) < 5: |
68 | 69 | raise InvalidArgumentValueError("argument error: Connected registry name must be at least 5 characters long.") |
69 | | - if re.match(r'\w*[A-Z]\w*', connected_registry_name): |
70 | | - raise InvalidArgumentValueError("argument error: Connected registry name must use only lowercase.") |
71 | | - registry, resource_group_name = get_registry_by_name(cmd.cli_ctx, registry_name, resource_group_name) |
72 | 70 | subscription_id = get_subscription_id(cmd.cli_ctx) |
| 71 | + registry, resource_group_name = get_registry_by_name(cmd.cli_ctx, registry_name, resource_group_name) |
73 | 72 |
|
74 | 73 | if not registry.data_endpoint_enabled: |
75 | | - raise CLIError("Can't create the connected registry '{}' ".format(connected_registry_name) + |
76 | | - "because the cloud registry '{}' data endpoint is disabled. ".format(registry_name) + |
77 | | - "Enabling the data endpoint might affect your firewall rules.\nTo enable data endpoint run:" + |
78 | | - "\n\taz acr update -n {} --data-endpoint-enabled true".format(registry_name)) |
| 74 | + user_confirmation("Dedicated data enpoints must be enabled to use connected-registry. Enabling might " + |
| 75 | + "impact your firewall rules. Are you sure you want to enable it for '{}' registry?".format( |
| 76 | + registry_name), yes) |
| 77 | + acr_update_custom(cmd, registry, resource_group_name, data_endpoint_enabled=True) |
79 | 78 |
|
80 | 79 | from azure.core.exceptions import HttpResponseError as ErrorResponseException |
81 | 80 | parent = None |
|
0 commit comments