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
7 changes: 6 additions & 1 deletion src/durabletask/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
Release History
===============

1.0.0b6
+++++
* Update ARM API version to `2026-02-01`
* Scheduler public network access can now be controlled with `--public-network-access`

1.0.0b5
+++++
* Update ARM API version to first stable release `2025-11-01`
Expand All @@ -23,4 +28,4 @@ Release History

1.0.0b1
++++++
* Initial release.
* Initial release.
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2025-11-01",
"version": "2026-02-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2026-02-01"],
]
}

Expand All @@ -49,7 +49,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.scheduler_name = AAZStrArg(
options=["--scheduler-name"],
options=["-s", "--scheduler-name"],
help="The name of the Scheduler",
required=True,
fmt=AAZStrArgFormat(
Expand Down Expand Up @@ -163,7 +163,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=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": "2025-11-01",
"version": "2026-02-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2026-02-01"],
]
}

Expand All @@ -50,7 +50,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.scheduler_name = AAZStrArg(
options=["--scheduler-name"],
options=["-s", "--scheduler-name"],
help="The name of the Scheduler",
required=True,
id_part="name",
Expand Down Expand Up @@ -146,7 +146,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class Show(AAZCommand):
"""

_aaz_info = {
"version": "2025-11-01",
"version": "2026-02-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2026-02-01"],
]
}

Expand All @@ -45,7 +45,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.scheduler_name = AAZStrArg(
options=["--scheduler-name"],
options=["-s", "--scheduler-name"],
help="The name of the Scheduler",
required=True,
id_part="name",
Expand Down Expand Up @@ -120,7 +120,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ class Update(AAZCommand):
"""

_aaz_info = {
"version": "2025-11-01",
"version": "2026-02-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2026-02-01"],
]
}

Expand All @@ -45,7 +45,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.scheduler_name = AAZStrArg(
options=["--scheduler-name"],
options=["-s", "--scheduler-name"],
help="The name of the Scheduler",
required=True,
id_part="name",
Expand Down Expand Up @@ -160,7 +160,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down Expand Up @@ -259,7 +259,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):

_aaz_info = {
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}/retentionpolicies/default", "2026-02-01"],
]
}

Expand All @@ -44,7 +44,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
required=True,
)
_args_schema.scheduler_name = AAZStrArg(
options=["--scheduler-name"],
options=["-s", "--scheduler-name"],
help="The name of the Scheduler",
required=True,
id_part="name",
Expand Down Expand Up @@ -119,7 +119,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ class Create(AAZCommand):

:example: Create a scheduler in eastus
az durabletask scheduler create --resource-group testrg --name testscheduler --location eastus --ip-allowlist "[0.0.0.0/0]" --sku-capacity 1, --sku-name "Dedicated" --tags "{}"

:example: Create a Consumption SKU scheduler with public network access disabled
az durabletask scheduler create --resource-group rgopenapi --name testscheduler --location northcentralus --sku-name "Consumption" --public-network-access Disabled --tags "{department:research,development:true}"
"""

_aaz_info = {
"version": "2025-11-01",
"version": "2026-02-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}", "2025-11-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.durabletask/schedulers/{}", "2026-02-01"],
]
}

Expand Down Expand Up @@ -64,6 +67,13 @@ def _build_arguments_schema(cls, *args, **kwargs):
options=["--ip-allowlist"],
arg_group="Properties",
help="IP allow list for durable task scheduler. Values can be IPv4, IPv6 or CIDR",
default=[],
)
_args_schema.public_network_access = AAZStrArg(
options=["--public-network-access"],
arg_group="Properties",
help="Allow or disallow public network access to durable task scheduler",
enum={"Disabled": "Disabled", "Enabled": "Enabled"},
)

ip_allowlist = cls._args_schema.ip_allowlist
Expand Down Expand Up @@ -186,7 +196,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2025-11-01",
"api-version", "2026-02-01",
required=True,
),
}
Expand Down Expand Up @@ -218,6 +228,7 @@ def content(self):
properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("ipAllowlist", AAZListType, ".ip_allowlist", typ_kwargs={"flags": {"required": True}})
properties.set_prop("publicNetworkAccess", AAZStrType, ".public_network_access")
properties.set_prop("sku", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})

ip_allowlist = _builder.get(".properties.ipAllowlist")
Expand Down Expand Up @@ -267,6 +278,7 @@ def _build_schema_on_200_201(cls):
serialized_name="systemData",
flags={"read_only": True},
)
_CreateHelper._build_schema_system_data_read(_schema_on_200_201.system_data)
_schema_on_200_201.tags = AAZDictType()
_schema_on_200_201.type = AAZStrType(
flags={"read_only": True},
Expand All @@ -280,45 +292,86 @@ def _build_schema_on_200_201(cls):
serialized_name="ipAllowlist",
flags={"required": True},
)
properties.private_endpoint_connections = AAZListType(
serialized_name="privateEndpointConnections",
flags={"read_only": True},
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.public_network_access = AAZStrType(
serialized_name="publicNetworkAccess",
)
properties.sku = AAZObjectType(
flags={"required": True},
)

ip_allowlist = cls._schema_on_200_201.properties.ip_allowlist
ip_allowlist.Element = AAZStrType()

sku = cls._schema_on_200_201.properties.sku
sku.capacity = AAZIntType()
sku.name = AAZStrType(
flags={"required": True},
private_endpoint_connections = cls._schema_on_200_201.properties.private_endpoint_connections
private_endpoint_connections.Element = AAZObjectType()

_element = cls._schema_on_200_201.properties.private_endpoint_connections.Element
_element.id = AAZStrType(
flags={"read_only": True},
)
sku.redundancy_state = AAZStrType(
serialized_name="redundancyState",
_element.name = AAZStrType(
flags={"read_only": True},
)
_element.properties = AAZObjectType(
flags={"client_flatten": True},
)
_element.system_data = AAZObjectType(
serialized_name="systemData",
flags={"read_only": True},
)
_CreateHelper._build_schema_system_data_read(_element.system_data)
_element.type = AAZStrType(
flags={"read_only": True},
)

system_data = cls._schema_on_200_201.system_data
system_data.created_at = AAZStrType(
serialized_name="createdAt",
properties = cls._schema_on_200_201.properties.private_endpoint_connections.Element.properties
properties.group_ids = AAZListType(
serialized_name="groupIds",
flags={"read_only": True},
)
system_data.created_by = AAZStrType(
serialized_name="createdBy",
properties.private_endpoint = AAZObjectType(
serialized_name="privateEndpoint",
)
system_data.created_by_type = AAZStrType(
serialized_name="createdByType",
properties.private_link_service_connection_state = AAZObjectType(
serialized_name="privateLinkServiceConnectionState",
flags={"required": True},
)
system_data.last_modified_at = AAZStrType(
serialized_name="lastModifiedAt",
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
system_data.last_modified_by = AAZStrType(
serialized_name="lastModifiedBy",

group_ids = cls._schema_on_200_201.properties.private_endpoint_connections.Element.properties.group_ids
group_ids.Element = AAZStrType()

private_endpoint = cls._schema_on_200_201.properties.private_endpoint_connections.Element.properties.private_endpoint
private_endpoint.id = AAZStrType(
flags={"read_only": True},
)

private_link_service_connection_state = cls._schema_on_200_201.properties.private_endpoint_connections.Element.properties.private_link_service_connection_state
private_link_service_connection_state.actions_required = AAZStrType(
serialized_name="actionsRequired",
)
system_data.last_modified_by_type = AAZStrType(
serialized_name="lastModifiedByType",
private_link_service_connection_state.description = AAZStrType()
private_link_service_connection_state.status = AAZStrType()

sku = cls._schema_on_200_201.properties.sku
sku.capacity = AAZIntType()
sku.name = AAZStrType(
flags={"required": True},
)
sku.redundancy_state = AAZStrType(
serialized_name="redundancyState",
flags={"read_only": True},
)

tags = cls._schema_on_200_201.tags
Expand All @@ -330,5 +383,49 @@ def _build_schema_on_200_201(cls):
class _CreateHelper:
"""Helper class for Create"""

_schema_system_data_read = None

@classmethod
def _build_schema_system_data_read(cls, _schema):
if cls._schema_system_data_read is not None:
_schema.created_at = cls._schema_system_data_read.created_at
_schema.created_by = cls._schema_system_data_read.created_by
_schema.created_by_type = cls._schema_system_data_read.created_by_type
_schema.last_modified_at = cls._schema_system_data_read.last_modified_at
_schema.last_modified_by = cls._schema_system_data_read.last_modified_by
_schema.last_modified_by_type = cls._schema_system_data_read.last_modified_by_type
return

cls._schema_system_data_read = _schema_system_data_read = AAZObjectType(
flags={"read_only": True}
)

system_data_read = _schema_system_data_read
system_data_read.created_at = AAZStrType(
serialized_name="createdAt",
)
system_data_read.created_by = AAZStrType(
serialized_name="createdBy",
)
system_data_read.created_by_type = AAZStrType(
serialized_name="createdByType",
)
system_data_read.last_modified_at = AAZStrType(
serialized_name="lastModifiedAt",
)
system_data_read.last_modified_by = AAZStrType(
serialized_name="lastModifiedBy",
)
system_data_read.last_modified_by_type = AAZStrType(
serialized_name="lastModifiedByType",
)

_schema.created_at = cls._schema_system_data_read.created_at
_schema.created_by = cls._schema_system_data_read.created_by
_schema.created_by_type = cls._schema_system_data_read.created_by_type
_schema.last_modified_at = cls._schema_system_data_read.last_modified_at
_schema.last_modified_by = cls._schema_system_data_read.last_modified_by
_schema.last_modified_by_type = cls._schema_system_data_read.last_modified_by_type


__all__ = ["Create"]
Loading
Loading