Skip to content
Open
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
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -84,6 +84,12 @@ def _build_arguments_schema(cls, *args, **kwargs):
help="Managed instance side link role",
enum={"Primary": "Primary", "Secondary": "Secondary"},
)
_args_schema.link_mode = AAZStrArg(
options=["--link-mode"],
arg_group="Properties",
help="Specifies whether the link operates in single-database or multi-database mode.",
enum={"MultiDatabase": "MultiDatabase", "SingleDatabase": "SingleDatabase"},
)
_args_schema.partner_availability_group_name = AAZStrArg(
options=["--partner-ag-name", "--partner-availability-group-name"],
arg_group="Properties",
Expand Down Expand Up @@ -197,7 +203,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -230,6 +236,7 @@ def content(self):
properties.set_prop("failoverMode", AAZStrType, ".failover_mode")
properties.set_prop("instanceAvailabilityGroupName", AAZStrType, ".instance_availability_group_name")
properties.set_prop("instanceLinkRole", AAZStrType, ".instance_link_role")
properties.set_prop("linkMode", AAZStrType, ".link_mode")
properties.set_prop("partnerAvailabilityGroupName", AAZStrType, ".partner_availability_group_name")
properties.set_prop("partnerEndpoint", AAZStrType, ".partner_endpoint")
properties.set_prop("seedingMode", AAZStrType, ".seeding_mode")
Expand Down Expand Up @@ -294,6 +301,9 @@ def _build_schema_on_200_201(cls):
properties.instance_link_role = AAZStrType(
serialized_name="instanceLinkRole",
)
properties.link_mode = AAZStrType(
serialized_name="linkMode",
)
properties.partner_availability_group_name = AAZStrType(
serialized_name="partnerAvailabilityGroupName",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -153,7 +153,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Failover(AAZCommand):
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}/failover", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}/failover", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -169,7 +169,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -248,6 +248,9 @@ def _build_schema_on_200(cls):
properties.instance_link_role = AAZStrType(
serialized_name="instanceLinkRole",
)
properties.link_mode = AAZStrType(
serialized_name="linkMode",
)
properties.partner_availability_group_name = AAZStrType(
serialized_name="partnerAvailabilityGroupName",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -121,7 +121,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -198,6 +198,9 @@ def _build_schema_on_200(cls):
properties.instance_link_role = AAZStrType(
serialized_name="instanceLinkRole",
)
properties.link_mode = AAZStrType(
serialized_name="linkMode",
)
properties.partner_availability_group_name = AAZStrType(
serialized_name="partnerAvailabilityGroupName",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Show(AAZCommand):
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -130,7 +130,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -195,6 +195,9 @@ def _build_schema_on_200(cls):
properties.instance_link_role = AAZStrType(
serialized_name="instanceLinkRole",
)
properties.link_mode = AAZStrType(
serialized_name="linkMode",
)
properties.partner_availability_group_name = AAZStrType(
serialized_name="partnerAvailabilityGroupName",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@
"sql mi link update",
)
class Update(AAZCommand):
"""Update a Managed Instance link replication mode.
"""Update a Managed Instance link.

:example: Update a Managed Instance link replication mode.
az sql mi link update -g testrg --mi testcl --name link1 --replication-mode Sync

:example: Update the databases in a multi-database Managed Instance link.
az sql mi link update -g testrg --mi testcl --name link1 --databases "[{database-name:testdb1},{database-name:testdb2}]"
"""

_aaz_info = {
"version": "2023-08-01-preview",
"version": "2025-08-01-preview",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2023-08-01-preview"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.sql/managedinstances/{}/distributedavailabilitygroups/{}", "2025-08-01-preview"],
]
}

Expand Down Expand Up @@ -64,12 +67,26 @@ def _build_arguments_schema(cls, *args, **kwargs):
# define Arg Group "Properties"

_args_schema = cls._args_schema
_args_schema.databases = AAZListArg(
options=["--databases"],
arg_group="Properties",
help="Databases in the distributed availability group. This property can be updated only for links in MultiDatabase mode.",
)
_args_schema.replication_mode = AAZStrArg(
options=["--replication-mode"],
arg_group="Properties",
help="Replication mode of the link",
enum={"Async": "Async", "Sync": "Sync"},
)

databases = cls._args_schema.databases
databases.Element = AAZObjectArg()

_element = cls._args_schema.databases.Element
_element.database_name = AAZStrArg(
options=["database-name"],
help="The name of the database in link",
)
return cls._args_schema

def _execute_operations(self):
Expand Down Expand Up @@ -157,7 +174,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2023-08-01-preview",
"api-version", "2025-08-01-preview",
required=True,
),
}
Expand Down Expand Up @@ -186,8 +203,17 @@ def content(self):

properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("databases", AAZListType, ".databases")
properties.set_prop("replicationMode", AAZStrType, ".replication_mode")

databases = _builder.get(".properties.databases")
if databases is not None:
databases.set_elements(AAZObjectType, ".")

_elements = _builder.get(".properties.databases[]")
if _elements is not None:
_elements.set_prop("databaseName", AAZStrType, ".database_name")

return self.serialize_content(_content_value)

def on_200(self, session):
Expand Down Expand Up @@ -240,6 +266,9 @@ def _build_schema_on_200(cls):
properties.instance_link_role = AAZStrType(
serialized_name="instanceLinkRole",
)
properties.link_mode = AAZStrType(
serialized_name="linkMode",
)
properties.partner_availability_group_name = AAZStrType(
serialized_name="partnerAvailabilityGroupName",
)
Expand Down
Loading
Loading