Skip to content
Open
6 changes: 5 additions & 1 deletion sdk/compute/azure-mgmt-compute-bulkaction/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Release History

## 1.0.0b1 (2026-07-17)
## 1.0.0b2 (2026-07-22)

tool can't generate changelog for this release, please update manually.
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Outdated
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Outdated

## 1.0.0b1 (2026-07-21)
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Comment on lines +3 to +18

### Other Changes

Expand Down
6 changes: 3 additions & 3 deletions sdk/compute/azure-mgmt-compute-bulkaction/_metadata.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"apiVersion": "2026-06-06",
"apiVersion": "2026-07-06-preview",
"apiVersions": {
"Microsoft.Compute": "2026-06-06"
"Microsoft.Compute": "2026-07-06-preview"
},
"commit": "33edaba41251144ab48a9ba923a61697f81b1aa8",
"commit": "73e39fb58efdac318be1f603997bb57ec9831408",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/compute/resource-manager/Microsoft.Compute/Bulkactions",
"emitterVersion": "0.63.3",
Expand Down
6,719 changes: 6,347 additions & 372 deletions sdk/compute/azure-mgmt-compute-bulkaction/api.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions sdk/compute/azure-mgmt-compute-bulkaction/api.metadata.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiMdSha256: b0c2760dbb7a67070eed2abaddefbe9fd2aa4edbb9c71a6ad71d0eafc9d1bf74
parserVersion: 0.3.28
apiMdSha256: a441d273b218be0de2ef3610ab10874435138f37941fee3739b188b864fb282f
parserVersion: 0.3.30
pythonVersion: 3.13.14
296 changes: 294 additions & 2 deletions sdk/compute/azure-mgmt-compute-bulkaction/apiview-properties.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,17 @@

from ._configuration import ComputeBulkActionsMgmtClientConfiguration
from ._utils.serialization import Deserializer, Serializer
from .operations import Operations, VirtualMachineBulkOperationsOperations
from .operations import (
BulkCreateCustomOperations,
LaunchBulkInstancesOperationOperations,
OccurrenceExtensionOperations,
OccurrencesOperations,
Operations,
ScheduledActionExtensionOperations,
ScheduledActionOperationStatusOperations,
ScheduledActionsOperations,
VirtualMachineBulkOperationsOperations,
)

if sys.version_info >= (3, 11):
from typing import Self
Expand All @@ -31,14 +41,33 @@
from azure.core.credentials import TokenCredential


class ComputeBulkActionsMgmtClient:
class ComputeBulkActionsMgmtClient: # pylint: disable=too-many-instance-attributes
"""ComputeBulkActionsMgmtClient.

:ivar operations: Operations operations
:vartype operations: azure.mgmt.compute.bulkaction.operations.Operations
:ivar virtual_machine_bulk_operations: VirtualMachineBulkOperationsOperations operations
:vartype virtual_machine_bulk_operations:
azure.mgmt.compute.bulkaction.operations.VirtualMachineBulkOperationsOperations
:ivar launch_bulk_instances_operation: LaunchBulkInstancesOperationOperations operations
:vartype launch_bulk_instances_operation:
azure.mgmt.compute.bulkaction.operations.LaunchBulkInstancesOperationOperations
:ivar bulk_create_custom: BulkCreateCustomOperations operations
:vartype bulk_create_custom:
azure.mgmt.compute.bulkaction.operations.BulkCreateCustomOperations
:ivar scheduled_actions: ScheduledActionsOperations operations
:vartype scheduled_actions: azure.mgmt.compute.bulkaction.operations.ScheduledActionsOperations
:ivar scheduled_action_extension: ScheduledActionExtensionOperations operations
:vartype scheduled_action_extension:
azure.mgmt.compute.bulkaction.operations.ScheduledActionExtensionOperations
:ivar scheduled_action_operation_status: ScheduledActionOperationStatusOperations operations
:vartype scheduled_action_operation_status:
azure.mgmt.compute.bulkaction.operations.ScheduledActionOperationStatusOperations
:ivar occurrences: OccurrencesOperations operations
:vartype occurrences: azure.mgmt.compute.bulkaction.operations.OccurrencesOperations
:ivar occurrence_extension: OccurrenceExtensionOperations operations
:vartype occurrence_extension:
azure.mgmt.compute.bulkaction.operations.OccurrenceExtensionOperations
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
Expand All @@ -48,10 +77,13 @@ class ComputeBulkActionsMgmtClient:
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-06-06"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are
"2026-07-06-preview" and None. Default value is None. If not set, the operation's default API
version will be used. Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
"""

def __init__(
Expand Down Expand Up @@ -105,6 +137,25 @@ def __init__(
self.virtual_machine_bulk_operations = VirtualMachineBulkOperationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.launch_bulk_instances_operation = LaunchBulkInstancesOperationOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.bulk_create_custom = BulkCreateCustomOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_actions = ScheduledActionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_action_extension = ScheduledActionExtensionOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_action_operation_status = ScheduledActionOperationStatusOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.occurrences = OccurrencesOperations(self._client, self._config, self._serialize, self._deserialize)
self.occurrence_extension = OccurrenceExtensionOperations(
self._client, self._config, self._serialize, self._deserialize
)

def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
"""Runs the network request through the client's chained policies.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@ class ComputeBulkActionsMgmtClientConfiguration: # pylint: disable=too-many-ins
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-06-06"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are
"2026-07-06-preview" and None. Default value is None. If not set, the operation's default API
version will be used. Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

Expand All @@ -47,7 +48,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-06-06")
api_version: str = kwargs.pop("api_version", "2026-07-06-preview")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import functools


def api_version_validation(**kwargs):
params_added_on = kwargs.pop("params_added_on", {})
method_added_on = kwargs.pop("method_added_on", "")
api_versions_list = kwargs.pop("api_versions_list", [])

def _index_with_default(value: str, default: int = -1) -> int:
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Comment thread
ChenxiJiang333 marked this conversation as resolved.
"""Get the index of value in lst, or return default if not found.

:param value: The value to search for in the api_versions_list.
:type value: str
:param default: The default value to return if the value is not found.
:type default: int
:return: The index of the value in the list, or the default value if not found.
:rtype: int
"""
try:
return api_versions_list.index(value)
except ValueError:
return default
Comment thread
ChenxiJiang333 marked this conversation as resolved.
Comment thread
ChenxiJiang333 marked this conversation as resolved.

def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
try:
# this assumes the client has an _api_version attribute
client = args[0]
client_api_version = client._config.api_version # pylint: disable=protected-access
except AttributeError:
return func(*args, **kwargs)

if _index_with_default(method_added_on) > _index_with_default(client_api_version):
Comment thread
ChenxiJiang333 marked this conversation as resolved.
raise ValueError(
f"'{func.__name__}' is not available in API version "
f"{client_api_version}. Pass service API version {method_added_on} or newer to your client."
)
Comment thread
ChenxiJiang333 marked this conversation as resolved.

unsupported = {
parameter: api_version
for api_version, parameters in params_added_on.items()
for parameter in parameters
if parameter in kwargs and _index_with_default(api_version) > _index_with_default(client_api_version)
}
if unsupported:
raise ValueError(
"".join(
[
f"'{param}' is not available in API version {client_api_version}. "
f"Use service API version {version} or newer.\n"
for param, version in unsupported.items()
]
)
)
return func(*args, **kwargs)

return wrapper

return decorator
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "1.0.0b1"
VERSION = "1.0.0b2"
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,17 @@

from .._utils.serialization import Deserializer, Serializer
from ._configuration import ComputeBulkActionsMgmtClientConfiguration
from .operations import Operations, VirtualMachineBulkOperationsOperations
from .operations import (
BulkCreateCustomOperations,
LaunchBulkInstancesOperationOperations,
OccurrenceExtensionOperations,
OccurrencesOperations,
Operations,
ScheduledActionExtensionOperations,
ScheduledActionOperationStatusOperations,
ScheduledActionsOperations,
VirtualMachineBulkOperationsOperations,
)

if sys.version_info >= (3, 11):
from typing import Self
Expand All @@ -31,14 +41,34 @@
from azure.core.credentials_async import AsyncTokenCredential


class ComputeBulkActionsMgmtClient:
class ComputeBulkActionsMgmtClient: # pylint: disable=too-many-instance-attributes
"""ComputeBulkActionsMgmtClient.

:ivar operations: Operations operations
:vartype operations: azure.mgmt.compute.bulkaction.aio.operations.Operations
:ivar virtual_machine_bulk_operations: VirtualMachineBulkOperationsOperations operations
:vartype virtual_machine_bulk_operations:
azure.mgmt.compute.bulkaction.aio.operations.VirtualMachineBulkOperationsOperations
:ivar launch_bulk_instances_operation: LaunchBulkInstancesOperationOperations operations
:vartype launch_bulk_instances_operation:
azure.mgmt.compute.bulkaction.aio.operations.LaunchBulkInstancesOperationOperations
:ivar bulk_create_custom: BulkCreateCustomOperations operations
:vartype bulk_create_custom:
azure.mgmt.compute.bulkaction.aio.operations.BulkCreateCustomOperations
:ivar scheduled_actions: ScheduledActionsOperations operations
:vartype scheduled_actions:
azure.mgmt.compute.bulkaction.aio.operations.ScheduledActionsOperations
:ivar scheduled_action_extension: ScheduledActionExtensionOperations operations
:vartype scheduled_action_extension:
azure.mgmt.compute.bulkaction.aio.operations.ScheduledActionExtensionOperations
:ivar scheduled_action_operation_status: ScheduledActionOperationStatusOperations operations
:vartype scheduled_action_operation_status:
azure.mgmt.compute.bulkaction.aio.operations.ScheduledActionOperationStatusOperations
:ivar occurrences: OccurrencesOperations operations
:vartype occurrences: azure.mgmt.compute.bulkaction.aio.operations.OccurrencesOperations
:ivar occurrence_extension: OccurrenceExtensionOperations operations
:vartype occurrence_extension:
azure.mgmt.compute.bulkaction.aio.operations.OccurrenceExtensionOperations
:param credential: Credential used to authenticate requests to the service. Required.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
Expand All @@ -48,10 +78,13 @@ class ComputeBulkActionsMgmtClient:
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-06-06"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are
"2026-07-06-preview" and None. Default value is None. If not set, the operation's default API
version will be used. Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
"""

def __init__(
Expand Down Expand Up @@ -107,6 +140,25 @@ def __init__(
self.virtual_machine_bulk_operations = VirtualMachineBulkOperationsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.launch_bulk_instances_operation = LaunchBulkInstancesOperationOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.bulk_create_custom = BulkCreateCustomOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_actions = ScheduledActionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_action_extension = ScheduledActionExtensionOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.scheduled_action_operation_status = ScheduledActionOperationStatusOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.occurrences = OccurrencesOperations(self._client, self._config, self._serialize, self._deserialize)
self.occurrence_extension = OccurrenceExtensionOperations(
self._client, self._config, self._serialize, self._deserialize
)

def send_request(
self, request: HttpRequest, *, stream: bool = False, **kwargs: Any
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,10 @@ class ComputeBulkActionsMgmtClientConfiguration: # pylint: disable=too-many-ins
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are "2026-06-06"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are
"2026-07-06-preview" and None. Default value is None. If not set, the operation's default API
version will be used. Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

Expand All @@ -47,7 +48,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-06-06")
api_version: str = kwargs.pop("api_version", "2026-07-06-preview")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@

from ._operations import Operations # type: ignore
from ._operations import VirtualMachineBulkOperationsOperations # type: ignore
from ._operations import LaunchBulkInstancesOperationOperations # type: ignore
from ._operations import BulkCreateCustomOperations # type: ignore
from ._operations import ScheduledActionsOperations # type: ignore
from ._operations import ScheduledActionExtensionOperations # type: ignore
from ._operations import ScheduledActionOperationStatusOperations # type: ignore
from ._operations import OccurrencesOperations # type: ignore
from ._operations import OccurrenceExtensionOperations # type: ignore

from ._patch import __all__ as _patch_all
from ._patch import *
Expand All @@ -22,6 +29,13 @@
__all__ = [
"Operations",
"VirtualMachineBulkOperationsOperations",
"LaunchBulkInstancesOperationOperations",
"BulkCreateCustomOperations",
"ScheduledActionsOperations",
"ScheduledActionExtensionOperations",
"ScheduledActionOperationStatusOperations",
"OccurrencesOperations",
"OccurrenceExtensionOperations",
]
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
Loading
Loading