Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
from azure.cli.core.breaking_change import register_argument_deprecate

register_argument_deprecate('netappfiles volume create', '--is-restoring', target_version='2.73.0')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The next release is 2.73.0, actually you should create PR for breaking change now. But I will merge it first so that our breaking change notes will include those items

Copy link
Copy Markdown
Member Author

@audunn audunn Apr 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need this in: 2.72.0 05/06/2025 .
The thinking was to relase this now and follow up with a PR including the breaking changes in 2.73.0

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kairu-ms thoughts on above can we release this in 2.72.0, 05/06/2025?

Copy link
Copy Markdown
Contributor

@kairu-ms kairu-ms May 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, the code freeze day for 2.72.0 is 3 weeks ago. So the next release is 2.73.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usually those breaking change warnings messages should be merged at least 2 versions before breaking changes. Such as 2.71.0

Copy link
Copy Markdown
Member Author

@audunn audunn May 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We started this pr April 11, but there was little traction on it, what would be the best way to get things reviewd so we get things reviewed in time?

@kairu-ms good to know about the breaking changes, we will keep that in mind thanks.

One question at what point does this get updated ?
https://learn.microsoft.com/en-us/cli/azure/upcoming-breaking-changes

register_argument_deprecate('netappfiles volume update', '--avs-data-store', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--creation-token', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--is-large-volume', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--is-restoring', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--ldap-enabled', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--network-features', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--security-style', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--volume-type', target_version='2.73.0')
register_argument_deprecate('netappfiles volume update', '--endpoint-type', target_version='2.73.0')
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class CheckFilePathAvailability(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checkfilepathavailability", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checkfilepathavailability", "2025-01-01"],
]
}

Expand Down Expand Up @@ -132,7 +132,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class CheckNameAvailability(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checknameavailability", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checknameavailability", "2025-01-01"],
]
}

Expand Down Expand Up @@ -133,7 +133,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ class CheckQuotaAvailability(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checkquotaavailability", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/checkquotaavailability", "2025-01-01"],
]
}

Expand Down Expand Up @@ -133,7 +133,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ class QueryNetworkSiblingSet(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/querynetworksiblingset", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/querynetworksiblingset", "2025-01-01"],
]
}

Expand Down Expand Up @@ -134,7 +134,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ class UpdateNetworkSiblingSet(AAZCommand):
Update the network features of the specified network sibling set

:example: Update Network sibling set
az -l westus2 --network-sibling-set-id {SIBLIING_SET_ID} --subnet-id {SUBNET_ID} --network-sibling-set-state-id {SIBLING_SET_STATE_ID} --network-features Standard
az netappfiles update-network-sibling-set -l westus2 --network-sibling-set-id {SIBLIING_SET_ID} --subnet-id {SUBNET_ID} --network-sibling-set-state-id='{SIBLING_SET_STATE_ID}' --network-features Standard
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/updatenetworksiblingset", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/locations/{}/updatenetworksiblingset", "2025-01-01"],
]
}

Expand Down Expand Up @@ -77,7 +77,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
_args_schema.network_sibling_set_state_id = AAZStrArg(
options=["--state-id", "--network-sibling-set-state-id"],
arg_group="Body",
help="Network sibling set state Id identifying the current state of the sibling set.",
help="Network sibling set state Id identifying the current state of the sibling set. Value can start with a dash, use ='-value'",
required=True,
)
_args_schema.subnet_id = AAZResourceIdArg(
Expand Down Expand Up @@ -165,7 +165,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ class ChangeKeyVault(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}/changekeyvault", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}/changekeyvault", "2025-01-01"],
]
}

Expand Down Expand Up @@ -167,7 +167,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}", "2025-01-01"],
]
}

Expand Down Expand Up @@ -83,11 +83,6 @@ def _build_arguments_schema(cls, *args, **kwargs):
# define Arg Group "Encryption"

_args_schema = cls._args_schema
_args_schema.encryption_identity = AAZObjectArg(
options=["--encryption-identity"],
arg_group="Encryption",
help="Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'.",
)
_args_schema.key_source = AAZStrArg(
options=["--key-source"],
arg_group="Encryption",
Expand All @@ -111,9 +106,17 @@ def _build_arguments_schema(cls, *args, **kwargs):
help="The Uri of KeyVault.",
)

encryption_identity = cls._args_schema.encryption_identity
encryption_identity.user_assigned_identity = AAZStrArg(
options=["user-assigned-identity"],
# define Arg Group "EncryptionIdentity"

_args_schema = cls._args_schema
_args_schema.federated_client_id = AAZStrArg(
options=["--federated-client-id"],
arg_group="EncryptionIdentity",
help="ClientId of the multi-tenant AAD Application. Used to access cross-tenant keyvaults.",
)
_args_schema.user_assigned_identity = AAZStrArg(
options=["-u", "--user-assigned-identity"],
arg_group="EncryptionIdentity",
help="The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities.",
)

Expand Down Expand Up @@ -146,6 +149,16 @@ def _build_arguments_schema(cls, *args, **kwargs):
arg_group="Properties",
help="Active Directories",
)
_args_schema.nfs_v4_id_domain = AAZStrArg(
options=["--nfs-v4-id-domain"],
arg_group="Properties",
help="Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes.",
nullable=True,
fmt=AAZStrArgFormat(
pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$",
max_length=255,
),
)

active_directories = cls._args_schema.active_directories
active_directories.Element = AAZObjectArg()
Expand Down Expand Up @@ -388,7 +401,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down Expand Up @@ -431,6 +444,7 @@ def content(self):
if properties is not None:
properties.set_prop("activeDirectories", AAZListType, ".active_directories")
properties.set_prop("encryption", AAZObjectType)
properties.set_prop("nfsV4IDDomain", AAZStrType, ".nfs_v4_id_domain", typ_kwargs={"nullable": True})

active_directories = _builder.get(".properties.activeDirectories")
if active_directories is not None:
Expand Down Expand Up @@ -480,12 +494,13 @@ def content(self):

encryption = _builder.get(".properties.encryption")
if encryption is not None:
encryption.set_prop("identity", AAZObjectType, ".encryption_identity")
encryption.set_prop("identity", AAZObjectType)
encryption.set_prop("keySource", AAZStrType, ".key_source")
encryption.set_prop("keyVaultProperties", AAZObjectType)

identity = _builder.get(".properties.encryption.identity")
if identity is not None:
identity.set_prop("federatedClientId", AAZStrType, ".federated_client_id")
identity.set_prop("userAssignedIdentity", AAZStrType, ".user_assigned_identity")

key_vault_properties = _builder.get(".properties.encryption.keyVaultProperties")
Expand Down Expand Up @@ -584,6 +599,14 @@ def _build_schema_on_200_201(cls):
flags={"read_only": True},
)
properties.encryption = AAZObjectType()
properties.multi_ad_status = AAZStrType(
serialized_name="multiAdStatus",
flags={"read_only": True},
)
properties.nfs_v4_id_domain = AAZStrType(
serialized_name="nfsV4IDDomain",
nullable=True,
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
Expand Down Expand Up @@ -686,6 +709,9 @@ def _build_schema_on_200_201(cls):
)

identity = cls._schema_on_200_201.properties.encryption.identity
identity.federated_client_id = AAZStrType(
serialized_name="federatedClientId",
)
identity.principal_id = AAZStrType(
serialized_name="principalId",
flags={"read_only": True},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}", "2025-01-01"],
]
}

Expand Down Expand Up @@ -146,7 +146,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class GetKeyVaultStatus(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}/getkeyvaultstatus", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}/getkeyvaultstatus", "2025-01-01"],
]
}

Expand Down Expand Up @@ -140,7 +140,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2024-09-01",
"version": "2025-01-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/netappaccounts", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts", "2024-09-01"],
["mgmt-plane", "/subscriptions/{}/providers/microsoft.netapp/netappaccounts", "2025-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts", "2025-01-01"],
]
}

Expand Down Expand Up @@ -116,7 +116,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down Expand Up @@ -224,6 +224,14 @@ def _build_schema_on_200(cls):
flags={"read_only": True},
)
properties.encryption = AAZObjectType()
properties.multi_ad_status = AAZStrType(
serialized_name="multiAdStatus",
flags={"read_only": True},
)
properties.nfs_v4_id_domain = AAZStrType(
serialized_name="nfsV4IDDomain",
nullable=True,
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
Expand Down Expand Up @@ -326,6 +334,9 @@ def _build_schema_on_200(cls):
)

identity = cls._schema_on_200.value.Element.properties.encryption.identity
identity.federated_client_id = AAZStrType(
serialized_name="federatedClientId",
)
identity.principal_id = AAZStrType(
serialized_name="principalId",
flags={"read_only": True},
Expand Down Expand Up @@ -419,7 +430,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-09-01",
"api-version", "2025-01-01",
required=True,
),
}
Expand Down Expand Up @@ -527,6 +538,14 @@ def _build_schema_on_200(cls):
flags={"read_only": True},
)
properties.encryption = AAZObjectType()
properties.multi_ad_status = AAZStrType(
serialized_name="multiAdStatus",
flags={"read_only": True},
)
properties.nfs_v4_id_domain = AAZStrType(
serialized_name="nfsV4IDDomain",
nullable=True,
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
Expand Down Expand Up @@ -629,6 +648,9 @@ def _build_schema_on_200(cls):
)

identity = cls._schema_on_200.value.Element.properties.encryption.identity
identity.federated_client_id = AAZStrType(
serialized_name="federatedClientId",
)
identity.principal_id = AAZStrType(
serialized_name="principalId",
flags={"read_only": True},
Expand Down
Loading