diff --git a/sdk/computelimit/azure-mgmt-computelimit/CHANGELOG.md b/sdk/computelimit/azure-mgmt-computelimit/CHANGELOG.md index 6d8c7a64d0bd..7bbdacf77a9c 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/CHANGELOG.md +++ b/sdk/computelimit/azure-mgmt-computelimit/CHANGELOG.md @@ -1,5 +1,13 @@ # Release History +## 1.3.0 (2026-07-17) + +### Features Added + + - Client `ComputeLimitMgmtClient` added operation group `trusted_host_subscriptions` + - Added model `TrustedHostSubscription` + - Added operation group `TrustedHostSubscriptionsOperations` + ## 1.2.1 (2026-07-07) ### Other Changes diff --git a/sdk/computelimit/azure-mgmt-computelimit/_metadata.json b/sdk/computelimit/azure-mgmt-computelimit/_metadata.json index 094e2ddfbcf7..392d71f93ced 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/_metadata.json +++ b/sdk/computelimit/azure-mgmt-computelimit/_metadata.json @@ -1,11 +1,11 @@ { - "apiVersion": "2026-07-01", + "apiVersion": "2026-07-31", "apiVersions": { - "Microsoft.ComputeLimit": "2026-07-01" + "Microsoft.ComputeLimit": "2026-07-31" }, - "commit": "723a657f70e944d62515f29a59a914ab911dc32c", + "commit": "a2a5cf5a89a76c03890fec7ab64988d55c572b5c", "repository_url": "https://github.com/Azure/azure-rest-api-specs", "typespec_src": "specification/computelimit/resource-manager/Microsoft.ComputeLimit/ComputeLimit", - "emitterVersion": "0.63.2", - "httpClientPythonVersion": "^0.34.1" + "emitterVersion": "0.63.3", + "httpClientPythonVersion": "^0.34.2" } \ No newline at end of file diff --git a/sdk/computelimit/azure-mgmt-computelimit/api.md b/sdk/computelimit/azure-mgmt-computelimit/api.md index f047cb542628..ed372971ad0e 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/api.md +++ b/sdk/computelimit/azure-mgmt-computelimit/api.md @@ -8,6 +8,7 @@ namespace azure.mgmt.computelimit operations: Operations shared_limit_caps: SharedLimitCapsOperations shared_limits: SharedLimitsOperations + trusted_host_subscriptions: TrustedHostSubscriptionsOperations vm_families: VmFamiliesOperations def __init__( @@ -42,6 +43,7 @@ namespace azure.mgmt.computelimit.aio operations: Operations shared_limit_caps: SharedLimitCapsOperations shared_limits: SharedLimitsOperations + trusted_host_subscriptions: TrustedHostSubscriptionsOperations vm_families: VmFamiliesOperations def __init__( @@ -78,7 +80,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> None: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) async def begin_disable( self, location: str, @@ -120,7 +122,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> AsyncLROPoller[OperationStatusResult]: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) async def get( self, location: str, @@ -129,7 +131,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> Feature: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -247,7 +249,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> MemberCapOverride: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id']}, api_versions_list=['2026-07-01', '2026-07-31']) async def delete( self, location: str, @@ -257,7 +259,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> None: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) async def get( self, location: str, @@ -267,7 +269,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> MemberCapOverride: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def list_by_parent( self, location: str, @@ -330,7 +332,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> SharedLimitCap: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name']}, api_versions_list=['2026-07-01', '2026-07-31']) async def delete( self, location: str, @@ -339,7 +341,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> None: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) async def get( self, location: str, @@ -348,7 +350,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> SharedLimitCap: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -454,6 +456,74 @@ namespace azure.mgmt.computelimit.aio.operations ) -> AsyncItemPaged[SharedLimit]: ... + class azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @distributed_trace_async + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'host_subscription_id']}, api_versions_list=['2026-07-31']) + async def delete( + self, + location: str, + host_subscription_id: str, + **kwargs: Any + ) -> None: ... + + @distributed_trace_async + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'host_subscription_id', 'accept']}, api_versions_list=['2026-07-31']) + async def get( + self, + location: str, + host_subscription_id: str, + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-31']) + def list_by_subscription_location_resource( + self, + location: str, + **kwargs: Any + ) -> AsyncItemPaged[TrustedHostSubscription]: ... + + class azure.mgmt.computelimit.aio.operations.VmFamiliesOperations: def __init__( @@ -463,7 +533,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> None: ... @distributed_trace_async - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) async def get( self, location: str, @@ -472,7 +542,7 @@ namespace azure.mgmt.computelimit.aio.operations ) -> VmFamily: ... @distributed_trace - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'filter', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'filter', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -852,6 +922,13 @@ namespace azure.mgmt.computelimit.models def __init__(self, mapping: Mapping[str, Any]) -> None: ... + class azure.mgmt.computelimit.models.TrustedHostSubscription(ProxyResource): + id: str + name: str + system_data: SystemData + type: str + + class azure.mgmt.computelimit.models.VmFamily(ProxyResource): id: str name: str @@ -896,7 +973,7 @@ namespace azure.mgmt.computelimit.operations ) -> None: ... @distributed_trace - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def begin_disable( self, location: str, @@ -938,7 +1015,7 @@ namespace azure.mgmt.computelimit.operations ) -> LROPoller[OperationStatusResult]: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'feature_name', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def get( self, location: str, @@ -947,7 +1024,7 @@ namespace azure.mgmt.computelimit.operations ) -> Feature: ... @distributed_trace - @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-03-20', params_added_on={'2026-03-20': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-03-20', '2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -1065,7 +1142,7 @@ namespace azure.mgmt.computelimit.operations ) -> MemberCapOverride: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id']}, api_versions_list=['2026-07-01', '2026-07-31']) def delete( self, location: str, @@ -1075,7 +1152,7 @@ namespace azure.mgmt.computelimit.operations ) -> None: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'member_subscription_id', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def get( self, location: str, @@ -1085,7 +1162,7 @@ namespace azure.mgmt.computelimit.operations ) -> MemberCapOverride: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def list_by_parent( self, location: str, @@ -1148,7 +1225,7 @@ namespace azure.mgmt.computelimit.operations ) -> SharedLimitCap: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name']}, api_versions_list=['2026-07-01', '2026-07-31']) def delete( self, location: str, @@ -1157,7 +1234,7 @@ namespace azure.mgmt.computelimit.operations ) -> None: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def get( self, location: str, @@ -1166,7 +1243,7 @@ namespace azure.mgmt.computelimit.operations ) -> SharedLimitCap: ... @distributed_trace - @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-01']) + @api_version_validation(method_added_on='2026-07-01', params_added_on={'2026-07-01': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -1272,6 +1349,74 @@ namespace azure.mgmt.computelimit.operations ) -> ItemPaged[SharedLimit]: ... + class azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations: + + def __init__( + self, + *args, + **kwargs + ) -> None: ... + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'host_subscription_id']}, api_versions_list=['2026-07-31']) + def delete( + self, + location: str, + host_subscription_id: str, + **kwargs: Any + ) -> None: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'host_subscription_id', 'accept']}, api_versions_list=['2026-07-31']) + def get( + self, + location: str, + host_subscription_id: str, + **kwargs: Any + ) -> TrustedHostSubscription: ... + + @distributed_trace + @api_version_validation(method_added_on='2026-07-31', params_added_on={'2026-07-31': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-07-31']) + def list_by_subscription_location_resource( + self, + location: str, + **kwargs: Any + ) -> ItemPaged[TrustedHostSubscription]: ... + + class azure.mgmt.computelimit.operations.VmFamiliesOperations: def __init__( @@ -1281,7 +1426,7 @@ namespace azure.mgmt.computelimit.operations ) -> None: ... @distributed_trace - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'vm_family_name', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def get( self, location: str, @@ -1290,7 +1435,7 @@ namespace azure.mgmt.computelimit.operations ) -> VmFamily: ... @distributed_trace - @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'filter', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01']) + @api_version_validation(method_added_on='2026-04-30', params_added_on={'2026-04-30': ['api_version', 'subscription_id', 'location', 'filter', 'accept']}, api_versions_list=['2026-04-30', '2026-06-01', '2026-07-01', '2026-07-31']) def list_by_subscription_location_resource( self, location: str, @@ -1447,4 +1592,15 @@ namespace azure.mgmt.computelimit.types last_modified_by_type: Union[str, CreatedByType] + class azure.mgmt.computelimit.types.TrustedHostSubscription(ProxyResource): + key "id": str + key "name": str + key "systemData": ForwardRef('SystemData', module='types') + key "type": str + id: str + name: str + system_data: SystemData + type: str + + ``` \ No newline at end of file diff --git a/sdk/computelimit/azure-mgmt-computelimit/api.metadata.yml b/sdk/computelimit/azure-mgmt-computelimit/api.metadata.yml index 4106bc8990ac..26104f2d6e30 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/api.metadata.yml +++ b/sdk/computelimit/azure-mgmt-computelimit/api.metadata.yml @@ -1,3 +1,3 @@ -apiMdSha256: d1b3b06ccae9f908925c5895d676a4a1516d1634b6823252a256a503f434b370 +apiMdSha256: e87832dc6ca9b9209e7cfefa3014c8c9a3a14542eb46ce77d958a0960d411dae parserVersion: 0.3.28 pythonVersion: 3.13.14 diff --git a/sdk/computelimit/azure-mgmt-computelimit/apiview-properties.json b/sdk/computelimit/azure-mgmt-computelimit/apiview-properties.json index 47b6d9df9deb..d69a2366717e 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/apiview-properties.json +++ b/sdk/computelimit/azure-mgmt-computelimit/apiview-properties.json @@ -25,6 +25,7 @@ "azure.mgmt.computelimit.models.SharedLimitCapProperties": "Microsoft.ComputeLimit.SharedLimitCapProperties", "azure.mgmt.computelimit.models.SharedLimitProperties": "Microsoft.ComputeLimit.SharedLimitProperties", "azure.mgmt.computelimit.models.SystemData": "Azure.ResourceManager.CommonTypes.SystemData", + "azure.mgmt.computelimit.models.TrustedHostSubscription": "Microsoft.ComputeLimit.TrustedHostSubscription", "azure.mgmt.computelimit.models.VmFamily": "Microsoft.ComputeLimit.VmFamily", "azure.mgmt.computelimit.models.VmFamilyProperties": "Microsoft.ComputeLimit.VmFamilyProperties", "azure.mgmt.computelimit.models.Origin": "Azure.ResourceManager.CommonTypes.Origin", @@ -42,6 +43,14 @@ "azure.mgmt.computelimit.aio.operations.GuestSubscriptionsOperations.delete": "Microsoft.ComputeLimit.GuestSubscriptions.delete", "azure.mgmt.computelimit.operations.GuestSubscriptionsOperations.list_by_subscription_location_resource": "Microsoft.ComputeLimit.GuestSubscriptions.listBySubscriptionLocationResource", "azure.mgmt.computelimit.aio.operations.GuestSubscriptionsOperations.list_by_subscription_location_resource": "Microsoft.ComputeLimit.GuestSubscriptions.listBySubscriptionLocationResource", + "azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations.create": "Microsoft.ComputeLimit.TrustedHostSubscriptions.create", + "azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations.create": "Microsoft.ComputeLimit.TrustedHostSubscriptions.create", + "azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations.get": "Microsoft.ComputeLimit.TrustedHostSubscriptions.get", + "azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations.get": "Microsoft.ComputeLimit.TrustedHostSubscriptions.get", + "azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations.delete": "Microsoft.ComputeLimit.TrustedHostSubscriptions.delete", + "azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations.delete": "Microsoft.ComputeLimit.TrustedHostSubscriptions.delete", + "azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations.list_by_subscription_location_resource": "Microsoft.ComputeLimit.TrustedHostSubscriptions.listBySubscriptionLocationResource", + "azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations.list_by_subscription_location_resource": "Microsoft.ComputeLimit.TrustedHostSubscriptions.listBySubscriptionLocationResource", "azure.mgmt.computelimit.operations.SharedLimitsOperations.get": "Microsoft.ComputeLimit.SharedLimits.get", "azure.mgmt.computelimit.aio.operations.SharedLimitsOperations.get": "Microsoft.ComputeLimit.SharedLimits.get", "azure.mgmt.computelimit.operations.SharedLimitsOperations.create": "Microsoft.ComputeLimit.SharedLimits.create", @@ -81,5 +90,5 @@ "azure.mgmt.computelimit.operations.MemberCapOverridesOperations.list_by_parent": "Microsoft.ComputeLimit.MemberCapOverrides.listByParent", "azure.mgmt.computelimit.aio.operations.MemberCapOverridesOperations.list_by_parent": "Microsoft.ComputeLimit.MemberCapOverrides.listByParent" }, - "CrossLanguageVersion": "b7b6a993f3b0" + "CrossLanguageVersion": "62a2471f49fc" } \ No newline at end of file diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_client.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_client.py index 5e9568a738a4..f37a9d7460de 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_client.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_client.py @@ -26,6 +26,7 @@ Operations, SharedLimitCapsOperations, SharedLimitsOperations, + TrustedHostSubscriptionsOperations, VmFamiliesOperations, ) @@ -46,6 +47,9 @@ class ComputeLimitMgmtClient: # pylint: disable=too-many-instance-attributes :vartype operations: azure.mgmt.computelimit.operations.Operations :ivar guest_subscriptions: GuestSubscriptionsOperations operations :vartype guest_subscriptions: azure.mgmt.computelimit.operations.GuestSubscriptionsOperations + :ivar trusted_host_subscriptions: TrustedHostSubscriptionsOperations operations + :vartype trusted_host_subscriptions: + azure.mgmt.computelimit.operations.TrustedHostSubscriptionsOperations :ivar shared_limits: SharedLimitsOperations operations :vartype shared_limits: azure.mgmt.computelimit.operations.SharedLimitsOperations :ivar features: FeaturesOperations operations @@ -65,7 +69,7 @@ class ComputeLimitMgmtClient: # pylint: disable=too-many-instance-attributes :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-07-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-31" 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 @@ -124,6 +128,9 @@ def __init__( self.guest_subscriptions = GuestSubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.trusted_host_subscriptions = TrustedHostSubscriptionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.shared_limits = SharedLimitsOperations(self._client, self._config, self._serialize, self._deserialize) self.features = FeaturesOperations(self._client, self._config, self._serialize, self._deserialize) self.vm_families = VmFamiliesOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_configuration.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_configuration.py index cdc2cdad811c..3b867f880800 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_configuration.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_configuration.py @@ -33,7 +33,7 @@ class ComputeLimitMgmtClientConfiguration: # pylint: disable=too-many-instance- :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-07-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-31" 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 @@ -47,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-07-01") + api_version: str = kwargs.pop("api_version", "2026-07-31") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_utils/model_base.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_utils/model_base.py index b93f5120d517..0f2c5bdfe70f 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_utils/model_base.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_utils/model_base.py @@ -458,21 +458,21 @@ def __ne__(self, other: typing.Any) -> bool: def keys(self) -> typing.KeysView[str]: """ - :returns: a set-like object providing a view on D's keys + :returns: a set-like object providing a view on the mapping's keys :rtype: ~typing.KeysView """ return self._data.keys() def values(self) -> typing.ValuesView[typing.Any]: """ - :returns: an object providing a view on D's values + :returns: an object providing a view on the mapping's values :rtype: ~typing.ValuesView """ return self._data.values() def items(self) -> typing.ItemsView[str, typing.Any]: """ - :returns: set-like object providing a view on D's items + :returns: a set-like object providing a view on the mapping's items :rtype: ~typing.ItemsView """ return self._data.items() @@ -482,7 +482,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any: Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ try: @@ -517,19 +517,19 @@ def popitem(self) -> tuple[str, typing.Any]: Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple - :raises KeyError: if D is empty. + :raises KeyError: if the dictionary is empty. """ return self._data.popitem() def clear(self) -> None: """ - Remove all items from D. + Remove all items from the dictionary. """ self._data.clear() def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ """ - Updates D from mapping/iterable E and F. + Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs. """ self._data.update(*args, **kwargs) @@ -542,10 +542,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any: """ - Same as calling D.get(k, d), and setting D[k]=d if k not found + Return the value for key if key is in the dictionary; otherwise set the key to + default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary - :returns: D[k] if k in D, else d. + :returns: The value for key if key is in the dictionary, else default. :rtype: any """ if default is _UNSET: diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_version.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_version.py index 67abacd47f96..e616621bef1a 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_version.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.2.1" +VERSION = "1.3.0" diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_client.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_client.py index ab580e8ce22b..69f1a05b5974 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_client.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_client.py @@ -26,6 +26,7 @@ Operations, SharedLimitCapsOperations, SharedLimitsOperations, + TrustedHostSubscriptionsOperations, VmFamiliesOperations, ) @@ -47,6 +48,9 @@ class ComputeLimitMgmtClient: # pylint: disable=too-many-instance-attributes :ivar guest_subscriptions: GuestSubscriptionsOperations operations :vartype guest_subscriptions: azure.mgmt.computelimit.aio.operations.GuestSubscriptionsOperations + :ivar trusted_host_subscriptions: TrustedHostSubscriptionsOperations operations + :vartype trusted_host_subscriptions: + azure.mgmt.computelimit.aio.operations.TrustedHostSubscriptionsOperations :ivar shared_limits: SharedLimitsOperations operations :vartype shared_limits: azure.mgmt.computelimit.aio.operations.SharedLimitsOperations :ivar features: FeaturesOperations operations @@ -67,7 +71,7 @@ class ComputeLimitMgmtClient: # pylint: disable=too-many-instance-attributes :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-07-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-31" 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 @@ -128,6 +132,9 @@ def __init__( self.guest_subscriptions = GuestSubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize ) + self.trusted_host_subscriptions = TrustedHostSubscriptionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.shared_limits = SharedLimitsOperations(self._client, self._config, self._serialize, self._deserialize) self.features = FeaturesOperations(self._client, self._config, self._serialize, self._deserialize) self.vm_families = VmFamiliesOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_configuration.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_configuration.py index 85d59f917fef..a6d4d5ac9216 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_configuration.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/_configuration.py @@ -33,7 +33,7 @@ class ComputeLimitMgmtClientConfiguration: # pylint: disable=too-many-instance- :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-07-01" + :keyword api_version: The API version to use for this operation. Known values are "2026-07-31" 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 @@ -47,7 +47,7 @@ def __init__( cloud_setting: Optional["AzureClouds"] = None, **kwargs: Any ) -> None: - api_version: str = kwargs.pop("api_version", "2026-07-01") + api_version: str = kwargs.pop("api_version", "2026-07-31") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/__init__.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/__init__.py index 079b92b782dd..4df16d475962 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/__init__.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/__init__.py @@ -14,6 +14,7 @@ from ._operations import Operations # type: ignore from ._operations import GuestSubscriptionsOperations # type: ignore +from ._operations import TrustedHostSubscriptionsOperations # type: ignore from ._operations import SharedLimitsOperations # type: ignore from ._operations import FeaturesOperations # type: ignore from ._operations import VmFamiliesOperations # type: ignore @@ -27,6 +28,7 @@ __all__ = [ "Operations", "GuestSubscriptionsOperations", + "TrustedHostSubscriptionsOperations", "SharedLimitsOperations", "FeaturesOperations", "VmFamiliesOperations", diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/_operations.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/_operations.py index c8f30081b78b..f836e73261a3 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/_operations.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/aio/operations/_operations.py @@ -60,6 +60,10 @@ build_shared_limits_delete_request, build_shared_limits_get_request, build_shared_limits_list_by_subscription_location_resource_request, + build_trusted_host_subscriptions_create_request, + build_trusted_host_subscriptions_delete_request, + build_trusted_host_subscriptions_get_request, + build_trusted_host_subscriptions_list_by_subscription_location_resource_request, build_vm_families_get_request, build_vm_families_list_by_subscription_location_resource_request, ) @@ -590,6 +594,458 @@ async def get_next(next_link=None): return AsyncItemPaged(get_next, extract_data) +class TrustedHostSubscriptionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.computelimit.aio.ComputeLimitMgmtClient`'s + :attr:`trusted_host_subscriptions` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: AsyncPipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ComputeLimitMgmtClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: _models.TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: _types.TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.computelimit.types.TrustedHostSubscription + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + async def create( + self, + location: str, + host_subscription_id: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={ + "2026-07-31": [ + "api_version", + "subscription_id", + "location", + "host_subscription_id", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-07-31"], + ) + async def create( + self, + location: str, + host_subscription_id: str, + resource: Union[_models.TrustedHostSubscription, _types.TrustedHostSubscription, IO[bytes]], + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Is either a TrustedHostSubscription type or a + IO[bytes] type. Required. + :type resource: ~azure.mgmt.computelimit.models.TrustedHostSubscription or + ~azure.mgmt.computelimit.types.TrustedHostSubscription or IO[bytes] + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.TrustedHostSubscription] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_trusted_host_subscriptions_create_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.TrustedHostSubscription, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={ + "2026-07-31": ["api_version", "subscription_id", "location", "host_subscription_id", "accept"] + }, + api_versions_list=["2026-07-31"], + ) + async def get(self, location: str, host_subscription_id: str, **kwargs: Any) -> _models.TrustedHostSubscription: + """Gets a host subscription that the guest subscription trusts. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.TrustedHostSubscription] = kwargs.pop("cls", None) + + _request = build_trusted_host_subscriptions_get_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + await response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.TrustedHostSubscription, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace_async + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={"2026-07-31": ["api_version", "subscription_id", "location", "host_subscription_id"]}, + api_versions_list=["2026-07-31"], + ) + async def delete(self, location: str, host_subscription_id: str, **kwargs: Any) -> None: + """Removes a host subscription from the guest subscription's list of trusted hosts. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_trusted_host_subscriptions_delete_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={"2026-07-31": ["api_version", "subscription_id", "location", "accept"]}, + api_versions_list=["2026-07-31"], + ) + def list_by_subscription_location_resource( + self, location: str, **kwargs: Any + ) -> AsyncItemPaged["_models.TrustedHostSubscription"]: + """Lists all host subscriptions that the guest subscription trusts in a location. + + :param location: The name of the Azure region. Required. + :type location: str + :return: An iterator like instance of TrustedHostSubscription + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.computelimit.models.TrustedHostSubscription] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.TrustedHostSubscription]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_trusted_host_subscriptions_list_by_subscription_location_resource_request( + location=location, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + async def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.TrustedHostSubscription], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + class SharedLimitsOperations: """ .. warning:: @@ -1014,7 +1470,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-03-20", params_added_on={"2026-03-20": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) async def get(self, location: str, feature_name: str, **kwargs: Any) -> _models.Feature: """Gets the properties of a compute limit feature. @@ -1088,7 +1544,7 @@ async def get(self, location: str, feature_name: str, **kwargs: Any) -> _models. @api_version_validation( method_added_on="2026-03-20", params_added_on={"2026-03-20": ["api_version", "subscription_id", "location", "accept"]}, - api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource(self, location: str, **kwargs: Any) -> AsyncItemPaged["_models.Feature"]: """Lists all compute limit features for the subscription at the specified location. @@ -1190,7 +1646,7 @@ async def get_next(next_link=None): params_added_on={ "2026-06-01": ["api_version", "subscription_id", "location", "feature_name", "content_type", "accept"] }, - api_versions_list=["2026-06-01", "2026-07-01"], + api_versions_list=["2026-06-01", "2026-07-01", "2026-07-31"], ) async def _enable_initial( self, @@ -1364,7 +1820,7 @@ async def begin_enable( params_added_on={ "2026-06-01": ["api_version", "subscription_id", "location", "feature_name", "content_type", "accept"] }, - api_versions_list=["2026-06-01", "2026-07-01"], + api_versions_list=["2026-06-01", "2026-07-01", "2026-07-31"], ) async def begin_enable( self, @@ -1446,7 +1902,7 @@ def get_long_running_output(pipeline_response): @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) async def _disable_initial(self, location: str, feature_name: str, **kwargs: Any) -> AsyncIterator[bytes]: error_map: MutableMapping = { @@ -1511,7 +1967,7 @@ async def _disable_initial(self, location: str, feature_name: str, **kwargs: Any @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) async def begin_disable( self, location: str, feature_name: str, **kwargs: Any @@ -1600,7 +2056,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) async def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _models.VmFamily: """Gets the properties of a VM family. @@ -1674,7 +2130,7 @@ async def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _model @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "filter", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource( self, location: str, *, filter: Optional[str] = None, **kwargs: Any @@ -1800,7 +2256,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _models.SharedLimitCap: """Gets the shared limit cap configuration for a VM family, as visible to the caller's @@ -1955,7 +2411,7 @@ async def create_or_update( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "content_type", "accept"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def create_or_update( self, @@ -2049,7 +2505,7 @@ async def create_or_update( @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def delete(self, location: str, vm_family_name: str, **kwargs: Any) -> None: """Deletes the shared limit cap configuration for a VM family. The caller's subscription is @@ -2111,7 +2567,7 @@ async def delete(self, location: str, vm_family_name: str, **kwargs: Any) -> Non @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource( self, location: str, **kwargs: Any @@ -2303,7 +2759,7 @@ async def set_member_cap_overrides( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "content_type", "accept"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def set_member_cap_overrides( self, @@ -2427,7 +2883,7 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def get( self, location: str, vm_family_name: str, member_subscription_id: str, **kwargs: Any @@ -2603,7 +3059,7 @@ async def create_or_update( "accept", ] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def create_or_update( self, @@ -2703,7 +3159,7 @@ async def create_or_update( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "member_subscription_id"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) async def delete(self, location: str, vm_family_name: str, member_subscription_id: str, **kwargs: Any) -> None: """Removes the per-member cap override for a member subscription. @@ -2767,7 +3223,7 @@ async def delete(self, location: str, vm_family_name: str, member_subscription_i @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def list_by_parent( self, location: str, vm_family_name: str, **kwargs: Any diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/__init__.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/__init__.py index 53238938206f..8ed3ee3922bc 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/__init__.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/__init__.py @@ -38,6 +38,7 @@ SharedLimitCapProperties, SharedLimitProperties, SystemData, + TrustedHostSubscription, VmFamily, VmFamilyProperties, ) @@ -78,6 +79,7 @@ "SharedLimitCapProperties", "SharedLimitProperties", "SystemData", + "TrustedHostSubscription", "VmFamily", "VmFamilyProperties", "ActionType", diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/_models.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/_models.py index dbe9d4d65919..8a5825cb8b34 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/_models.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/models/_models.py @@ -1,4 +1,4 @@ -# pylint: disable=line-too-long,useless-suppression +# pylint: disable=line-too-long,useless-suppression,too-many-lines # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. @@ -920,6 +920,26 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) +class TrustedHostSubscription(ProxyResource): + """A host subscription that a guest subscription trusts for sharing compute limits. A guest + subscription can trust multiple host subscriptions; establishing trust does not by itself + associate the guest with a host. Guest-to-host association happens at check-in time, where a + subscription can be a guest of at most one host per region. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.computelimit.models.SystemData + """ + + class VmFamily(ProxyResource): """VM family resource representing a virtual machine family and its category. diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/__init__.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/__init__.py index 079b92b782dd..4df16d475962 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/__init__.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/__init__.py @@ -14,6 +14,7 @@ from ._operations import Operations # type: ignore from ._operations import GuestSubscriptionsOperations # type: ignore +from ._operations import TrustedHostSubscriptionsOperations # type: ignore from ._operations import SharedLimitsOperations # type: ignore from ._operations import FeaturesOperations # type: ignore from ._operations import VmFamiliesOperations # type: ignore @@ -27,6 +28,7 @@ __all__ = [ "Operations", "GuestSubscriptionsOperations", + "TrustedHostSubscriptionsOperations", "SharedLimitsOperations", "FeaturesOperations", "VmFamiliesOperations", diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/_operations.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/_operations.py index 319ffb6e932c..206ec1d76bb6 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/_operations.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/operations/_operations.py @@ -50,7 +50,7 @@ def build_operations_list_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -71,7 +71,7 @@ def build_guest_subscriptions_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -100,7 +100,7 @@ def build_guest_subscriptions_create_request( _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -129,7 +129,7 @@ def build_guest_subscriptions_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) # Construct URL _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/guestSubscriptions/{guestSubscriptionId}" path_format_arguments = { @@ -152,7 +152,7 @@ def build_guest_subscriptions_list_by_subscription_location_resource_request( # _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -173,11 +173,121 @@ def build_guest_subscriptions_list_by_subscription_location_resource_request( # return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) +def build_trusted_host_subscriptions_create_request( # pylint: disable=name-too-long + location: str, host_subscription_id: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/trustedHostSubscriptions/{hostSubscriptionId}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "location": _SERIALIZER.url("location", location, "str"), + "hostSubscriptionId": _SERIALIZER.url("host_subscription_id", host_subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + if content_type is not None: + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_trusted_host_subscriptions_get_request( # pylint: disable=name-too-long + location: str, host_subscription_id: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/trustedHostSubscriptions/{hostSubscriptionId}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "location": _SERIALIZER.url("location", location, "str"), + "hostSubscriptionId": _SERIALIZER.url("host_subscription_id", host_subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + +def build_trusted_host_subscriptions_delete_request( # pylint: disable=name-too-long + location: str, host_subscription_id: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) + # Construct URL + _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/trustedHostSubscriptions/{hostSubscriptionId}" + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "location": _SERIALIZER.url("location", location, "str"), + "hostSubscriptionId": _SERIALIZER.url("host_subscription_id", host_subscription_id, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + return HttpRequest(method="DELETE", url=_url, params=_params, **kwargs) + + +def build_trusted_host_subscriptions_list_by_subscription_location_resource_request( # pylint: disable=name-too-long + location: str, subscription_id: str, **kwargs: Any +) -> HttpRequest: + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = ( + "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/trustedHostSubscriptions" + ) + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), + "location": _SERIALIZER.url("location", location, "str"), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") + + # Construct headers + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) + + def build_shared_limits_get_request(location: str, name: str, subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -204,7 +314,7 @@ def build_shared_limits_create_request(location: str, name: str, subscription_id _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -231,7 +341,7 @@ def build_shared_limits_create_request(location: str, name: str, subscription_id def build_shared_limits_delete_request(location: str, name: str, subscription_id: str, **kwargs: Any) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) # Construct URL _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/sharedLimits/{name}" path_format_arguments = { @@ -254,7 +364,7 @@ def build_shared_limits_list_by_subscription_location_resource_request( # pylin _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -279,7 +389,7 @@ def build_features_get_request(location: str, feature_name: str, subscription_id _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -309,7 +419,7 @@ def build_features_list_by_subscription_location_resource_request( # pylint: di _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -335,7 +445,7 @@ def build_features_enable_request(location: str, feature_name: str, subscription _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -365,7 +475,7 @@ def build_features_disable_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -393,7 +503,7 @@ def build_vm_families_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -421,7 +531,7 @@ def build_vm_families_list_by_subscription_location_resource_request( # pylint: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -450,7 +560,7 @@ def build_shared_limit_caps_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -479,7 +589,7 @@ def build_shared_limit_caps_create_or_update_request( # pylint: disable=name-to _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -508,7 +618,7 @@ def build_shared_limit_caps_delete_request( ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) # Construct URL _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/sharedLimitCaps/{vmFamilyName}" path_format_arguments = { @@ -531,7 +641,7 @@ def build_shared_limit_caps_list_by_subscription_location_resource_request( # p _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -559,7 +669,7 @@ def build_shared_limit_caps_set_member_cap_overrides_request( # pylint: disable _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -589,7 +699,7 @@ def build_member_cap_overrides_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -619,7 +729,7 @@ def build_member_cap_overrides_create_or_update_request( # pylint: disable=name _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -649,7 +759,7 @@ def build_member_cap_overrides_delete_request( # pylint: disable=name-too-long ) -> HttpRequest: _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) # Construct URL _url = "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeLimit/locations/{location}/sharedLimitCaps/{vmFamilyName}/memberCapOverrides/{memberSubscriptionId}" path_format_arguments = { @@ -673,7 +783,7 @@ def build_member_cap_overrides_list_by_parent_request( # pylint: disable=name-t _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-07-31")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -1216,6 +1326,459 @@ def get_next(next_link=None): return ItemPaged(get_next, extract_data) +class TrustedHostSubscriptionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.computelimit.ComputeLimitMgmtClient`'s + :attr:`trusted_host_subscriptions` attribute. + """ + + def __init__(self, *args, **kwargs) -> None: + input_args = list(args) + self._client: PipelineClient = input_args.pop(0) if input_args else kwargs.pop("client") + self._config: ComputeLimitMgmtClientConfiguration = input_args.pop(0) if input_args else kwargs.pop("config") + self._serialize: Serializer = input_args.pop(0) if input_args else kwargs.pop("serializer") + self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: _models.TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: _types.TrustedHostSubscription, + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: ~azure.mgmt.computelimit.types.TrustedHostSubscription + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @overload + def create( + self, + location: str, + host_subscription_id: str, + resource: IO[bytes], + *, + content_type: str = "application/json", + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Required. + :type resource: IO[bytes] + :keyword content_type: Body Parameter content-type. Content type parameter for binary body. + Default value is "application/json". + :paramtype content_type: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + + @distributed_trace + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={ + "2026-07-31": [ + "api_version", + "subscription_id", + "location", + "host_subscription_id", + "content_type", + "accept", + ] + }, + api_versions_list=["2026-07-31"], + ) + def create( + self, + location: str, + host_subscription_id: str, + resource: Union[_models.TrustedHostSubscription, _types.TrustedHostSubscription, IO[bytes]], + **kwargs: Any + ) -> _models.TrustedHostSubscription: + """Adds a host subscription to the guest subscription's list of trusted hosts. A guest + subscription can trust multiple host subscriptions; this only establishes trust and does not + check the guest in to the host. Guest-to-host association is determined at check-in time, where + a subscription can be a guest of at most one host per region. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :param resource: Resource create parameters. Is either a TrustedHostSubscription type or a + IO[bytes] type. Required. + :type resource: ~azure.mgmt.computelimit.models.TrustedHostSubscription or + ~azure.mgmt.computelimit.types.TrustedHostSubscription or IO[bytes] + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) + _params = kwargs.pop("params", {}) or {} + + content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) + cls: ClsType[_models.TrustedHostSubscription] = kwargs.pop("cls", None) + + content_type = content_type or "application/json" + _content = None + if isinstance(resource, (IOBase, bytes)): + _content = resource + else: + _content = json.dumps(resource, cls=SdkJSONEncoder, exclude_readonly=True) # type: ignore + + _request = build_trusted_host_subscriptions_create_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + content_type=content_type, + api_version=self._config.api_version, + content=_content, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.TrustedHostSubscription, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={ + "2026-07-31": ["api_version", "subscription_id", "location", "host_subscription_id", "accept"] + }, + api_versions_list=["2026-07-31"], + ) + def get(self, location: str, host_subscription_id: str, **kwargs: Any) -> _models.TrustedHostSubscription: + """Gets a host subscription that the guest subscription trusts. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :return: TrustedHostSubscription. The TrustedHostSubscription is compatible with MutableMapping + :rtype: ~azure.mgmt.computelimit.models.TrustedHostSubscription + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[_models.TrustedHostSubscription] = kwargs.pop("cls", None) + + _request = build_trusted_host_subscriptions_get_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _decompress = kwargs.pop("decompress", True) + _stream = kwargs.pop("stream", False) + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200]: + if _stream: + try: + response.read() # Load the body in memory and close the socket + except (StreamConsumedError, StreamClosedError): + pass + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if _stream: + deserialized = response.iter_bytes() if _decompress else response.iter_raw() + else: + deserialized = _deserialize(_models.TrustedHostSubscription, response.json()) + + if cls: + return cls(pipeline_response, deserialized, {}) # type: ignore + + return deserialized # type: ignore + + @distributed_trace + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={"2026-07-31": ["api_version", "subscription_id", "location", "host_subscription_id"]}, + api_versions_list=["2026-07-31"], + ) + def delete( # pylint: disable=inconsistent-return-statements + self, location: str, host_subscription_id: str, **kwargs: Any + ) -> None: + """Removes a host subscription from the guest subscription's list of trusted hosts. + + :param location: The name of the Azure region. Required. + :type location: str + :param host_subscription_id: The name of the TrustedHostSubscription. Required. + :type host_subscription_id: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[None] = kwargs.pop("cls", None) + + _request = build_trusted_host_subscriptions_delete_request( + location=location, + host_subscription_id=host_subscription_id, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url("self._config.base_url", self._config.base_url, "str", skip_quote=True), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) # type: ignore + + @distributed_trace + @api_version_validation( + method_added_on="2026-07-31", + params_added_on={"2026-07-31": ["api_version", "subscription_id", "location", "accept"]}, + api_versions_list=["2026-07-31"], + ) + def list_by_subscription_location_resource( + self, location: str, **kwargs: Any + ) -> ItemPaged["_models.TrustedHostSubscription"]: + """Lists all host subscriptions that the guest subscription trusts in a location. + + :param location: The name of the Azure region. Required. + :type location: str + :return: An iterator like instance of TrustedHostSubscription + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.computelimit.models.TrustedHostSubscription] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = kwargs.pop("params", {}) or {} + + cls: ClsType[List[_models.TrustedHostSubscription]] = kwargs.pop("cls", None) + + error_map: MutableMapping = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 304: ResourceNotModifiedError, + } + error_map.update(kwargs.pop("error_map", {}) or {}) + + def prepare_request(next_link=None): + if not next_link: + + _request = build_trusted_host_subscriptions_list_by_subscription_location_resource_request( + location=location, + subscription_id=self._config.subscription_id, + api_version=self._config.api_version, + headers=_headers, + params=_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + else: + # make call to next link with the client's api-version + _parsed_next_link = urllib.parse.urlparse(next_link) + _next_request_params = case_insensitive_dict( + { + key: [urllib.parse.quote(v) for v in value] + for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items() + } + ) + _next_request_params["api-version"] = self._config.api_version + _request = HttpRequest( + "GET", + urllib.parse.urljoin(next_link, _parsed_next_link.path), + headers=_headers, + params=_next_request_params, + ) + path_format_arguments = { + "endpoint": self._serialize.url( + "self._config.base_url", self._config.base_url, "str", skip_quote=True + ), + } + _request.url = self._client.format_url(_request.url, **path_format_arguments) + + return _request + + def extract_data(pipeline_response): + deserialized = pipeline_response.http_response.json() + list_of_elem = _deserialize( + List[_models.TrustedHostSubscription], + deserialized.get("value", []), + ) + if cls: + list_of_elem = cls(list_of_elem) # type: ignore + return deserialized.get("nextLink") or None, iter(list_of_elem) + + def get_next(next_link=None): + _request = prepare_request(next_link) + + _stream = False + pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access + _request, stream=_stream, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = _failsafe_deserialize( + _models.ErrorResponse, + response, + ) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + class SharedLimitsOperations: """ .. warning:: @@ -1638,7 +2201,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-03-20", params_added_on={"2026-03-20": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def get(self, location: str, feature_name: str, **kwargs: Any) -> _models.Feature: """Gets the properties of a compute limit feature. @@ -1712,7 +2275,7 @@ def get(self, location: str, feature_name: str, **kwargs: Any) -> _models.Featur @api_version_validation( method_added_on="2026-03-20", params_added_on={"2026-03-20": ["api_version", "subscription_id", "location", "accept"]}, - api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-03-20", "2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource(self, location: str, **kwargs: Any) -> ItemPaged["_models.Feature"]: """Lists all compute limit features for the subscription at the specified location. @@ -1814,7 +2377,7 @@ def get_next(next_link=None): params_added_on={ "2026-06-01": ["api_version", "subscription_id", "location", "feature_name", "content_type", "accept"] }, - api_versions_list=["2026-06-01", "2026-07-01"], + api_versions_list=["2026-06-01", "2026-07-01", "2026-07-31"], ) def _enable_initial( self, @@ -1985,7 +2548,7 @@ def begin_enable( params_added_on={ "2026-06-01": ["api_version", "subscription_id", "location", "feature_name", "content_type", "accept"] }, - api_versions_list=["2026-06-01", "2026-07-01"], + api_versions_list=["2026-06-01", "2026-07-01", "2026-07-31"], ) def begin_enable( self, @@ -2066,7 +2629,7 @@ def get_long_running_output(pipeline_response): @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def _disable_initial(self, location: str, feature_name: str, **kwargs: Any) -> Iterator[bytes]: error_map: MutableMapping = { @@ -2131,7 +2694,7 @@ def _disable_initial(self, location: str, feature_name: str, **kwargs: Any) -> I @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "feature_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def begin_disable( self, location: str, feature_name: str, **kwargs: Any @@ -2219,7 +2782,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _models.VmFamily: """Gets the properties of a VM family. @@ -2293,7 +2856,7 @@ def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _models.VmFa @api_version_validation( method_added_on="2026-04-30", params_added_on={"2026-04-30": ["api_version", "subscription_id", "location", "filter", "accept"]}, - api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01"], + api_versions_list=["2026-04-30", "2026-06-01", "2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource( self, location: str, *, filter: Optional[str] = None, **kwargs: Any @@ -2419,7 +2982,7 @@ def __init__(self, *args, **kwargs) -> None: @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def get(self, location: str, vm_family_name: str, **kwargs: Any) -> _models.SharedLimitCap: """Gets the shared limit cap configuration for a VM family, as visible to the caller's @@ -2574,7 +3137,7 @@ def create_or_update( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "content_type", "accept"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def create_or_update( self, @@ -2668,7 +3231,7 @@ def create_or_update( @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def delete( # pylint: disable=inconsistent-return-statements self, location: str, vm_family_name: str, **kwargs: Any @@ -2732,7 +3295,7 @@ def delete( # pylint: disable=inconsistent-return-statements @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def list_by_subscription_location_resource( self, location: str, **kwargs: Any @@ -2924,7 +3487,7 @@ def set_member_cap_overrides( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "content_type", "accept"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def set_member_cap_overrides( self, @@ -3048,7 +3611,7 @@ def __init__(self, *args, **kwargs) -> None: "accept", ] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def get( self, location: str, vm_family_name: str, member_subscription_id: str, **kwargs: Any @@ -3224,7 +3787,7 @@ def create_or_update( "accept", ] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def create_or_update( self, @@ -3324,7 +3887,7 @@ def create_or_update( params_added_on={ "2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "member_subscription_id"] }, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def delete( # pylint: disable=inconsistent-return-statements self, location: str, vm_family_name: str, member_subscription_id: str, **kwargs: Any @@ -3390,7 +3953,7 @@ def delete( # pylint: disable=inconsistent-return-statements @api_version_validation( method_added_on="2026-07-01", params_added_on={"2026-07-01": ["api_version", "subscription_id", "location", "vm_family_name", "accept"]}, - api_versions_list=["2026-07-01"], + api_versions_list=["2026-07-01", "2026-07-31"], ) def list_by_parent( self, location: str, vm_family_name: str, **kwargs: Any diff --git a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/types.py b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/types.py index ed954bc2ade5..9bc332dbe222 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/types.py +++ b/sdk/computelimit/azure-mgmt-computelimit/azure/mgmt/computelimit/types.py @@ -341,3 +341,23 @@ class SystemData(TypedDict, total=False): \"Application\", \"ManagedIdentity\", and \"Key\".""" lastModifiedAt: str """The timestamp of resource last modification (UTC).""" + + +class TrustedHostSubscription(ProxyResource): + """A host subscription that a guest subscription trusts for sharing compute limits. A guest + subscription can trust multiple host subscriptions; establishing trust does not by itself + associate the guest with a host. Guest-to-host association happens at check-in time, where a + subscription can be a guest of at most one host per region. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: "SystemData" + """ diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_disable.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_disable.py index 84fa0dcba3af..4a691d2819a6 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_disable.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_disable.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/Features_Disable.json +# x-ms-original-file: 2026-07-31/Features_Disable.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_enable.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_enable.py index 2db43378fc65..7851fb3ec16f 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_enable.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_enable.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/Features_Enable.json +# x-ms-original-file: 2026-07-31/Features_Enable.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get.py index 324d383ba54f..a22022e97b2b 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/Features_Get.json +# x-ms-original-file: 2026-07-31/Features_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get_shared_limit.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get_shared_limit.py index 267e7e4f2795..1edf66ee614e 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get_shared_limit.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_get_shared_limit.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/Features_Get_SharedLimit.json +# x-ms-original-file: 2026-07-31/Features_Get_SharedLimit.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_list.py index 2dce40ea8bc6..6d4848e739fd 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/features_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/Features_List.json +# x-ms-original-file: 2026-07-31/Features_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_create.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_create.py index 23b18937ed98..19935c7633b5 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_create.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_create.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/GuestSubscriptions_Create.json +# x-ms-original-file: 2026-07-31/GuestSubscriptions_Create.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_delete.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_delete.py index 05c530276754..4d6ee5342e26 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_delete.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_delete.py @@ -36,6 +36,6 @@ def main(): ) -# x-ms-original-file: 2026-07-01/GuestSubscriptions_Delete.json +# x-ms-original-file: 2026-07-31/GuestSubscriptions_Delete.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_get.py index 33131f0fc871..1927e78ef55d 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/GuestSubscriptions_Get.json +# x-ms-original-file: 2026-07-31/GuestSubscriptions_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_list.py index 201108b5ddcf..69527ab8fc0b 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/guest_subscriptions_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/GuestSubscriptions_List.json +# x-ms-original-file: 2026-07-31/GuestSubscriptions_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_create_or_update.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_create_or_update.py index f10701694cb5..7cbffd20de6c 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_create_or_update.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_create_or_update.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/MemberCapOverrides_CreateOrUpdate.json +# x-ms-original-file: 2026-07-31/MemberCapOverrides_CreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_delete.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_delete.py index a3bdc60cdcd0..8d74cdab27ce 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_delete.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_delete.py @@ -37,6 +37,6 @@ def main(): ) -# x-ms-original-file: 2026-07-01/MemberCapOverrides_Delete.json +# x-ms-original-file: 2026-07-31/MemberCapOverrides_Delete.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_get.py index 18d3f4e8c393..1c5fe24fc640 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/MemberCapOverrides_Get.json +# x-ms-original-file: 2026-07-31/MemberCapOverrides_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_list_by_parent.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_list_by_parent.py index 2210b85fd6b2..c220e8cf3aaa 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_list_by_parent.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/member_cap_overrides_list_by_parent.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/MemberCapOverrides_ListByParent.json +# x-ms-original-file: 2026-07-31/MemberCapOverrides_ListByParent.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/operations_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/operations_list.py index ad0f0dfafba1..676408830c16 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/operations_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/operations_list.py @@ -35,6 +35,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/Operations_List.json +# x-ms-original-file: 2026-07-31/Operations_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_create_or_update.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_create_or_update.py index fe9552234839..17de306c19d2 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_create_or_update.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_create_or_update.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_CreateOrUpdate.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_CreateOrUpdate.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_delete.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_delete.py index 8fc77affb400..2a75c4ea7eee 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_delete.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_delete.py @@ -36,6 +36,6 @@ def main(): ) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_Delete.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_Delete.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_get.py index 0a0eb29e14d7..f52b34d68805 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_Get.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_list.py index 27056543ff8e..6522d40abf18 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_List.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides.py index e38815a20833..365c86a712bf 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides.py @@ -43,6 +43,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_SetMemberCapOverrides.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_SetMemberCapOverrides.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides_clear_all.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides_clear_all.py index 1af927de18b3..3e325fd157de 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides_clear_all.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limit_caps_set_member_cap_overrides_clear_all.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimitCaps_SetMemberCapOverrides_ClearAll.json +# x-ms-original-file: 2026-07-31/SharedLimitCaps_SetMemberCapOverrides_ClearAll.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_create.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_create.py index 6695eba4d2e6..564b979c370c 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_create.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_create.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimits_Create.json +# x-ms-original-file: 2026-07-31/SharedLimits_Create.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_delete.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_delete.py index 2484770d9bd3..28d721543136 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_delete.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_delete.py @@ -36,6 +36,6 @@ def main(): ) -# x-ms-original-file: 2026-07-01/SharedLimits_Delete.json +# x-ms-original-file: 2026-07-31/SharedLimits_Delete.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_get.py index 9e7993e1e079..3fe888e5a611 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/SharedLimits_Get.json +# x-ms-original-file: 2026-07-31/SharedLimits_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_list.py index 0576aec30f0a..a0eacd527b35 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/shared_limits_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/SharedLimits_List.json +# x-ms-original-file: 2026-07-31/SharedLimits_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_create.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_create.py new file mode 100644 index 000000000000..234a6d25a10a --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_create.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.computelimit import ComputeLimitMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-computelimit +# USAGE + python trusted_host_subscriptions_create.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ComputeLimitMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.trusted_host_subscriptions.create( + location="eastus", + host_subscription_id="22222222-2222-2222-2222-222222222222", + resource={ + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + ) + print(response) + + +# x-ms-original-file: 2026-07-31/TrustedHostSubscriptions_Create.json +if __name__ == "__main__": + main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_delete.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_delete.py new file mode 100644 index 000000000000..781df0f54b6a --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_delete.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.computelimit import ComputeLimitMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-computelimit +# USAGE + python trusted_host_subscriptions_delete.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ComputeLimitMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + client.trusted_host_subscriptions.delete( + location="eastus", + host_subscription_id="22222222-2222-2222-2222-222222222222", + ) + + +# x-ms-original-file: 2026-07-31/TrustedHostSubscriptions_Delete.json +if __name__ == "__main__": + main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_get.py new file mode 100644 index 000000000000..7ff6a6cc8e6d --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_get.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.computelimit import ComputeLimitMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-computelimit +# USAGE + python trusted_host_subscriptions_get.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ComputeLimitMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.trusted_host_subscriptions.get( + location="eastus", + host_subscription_id="22222222-2222-2222-2222-222222222222", + ) + print(response) + + +# x-ms-original-file: 2026-07-31/TrustedHostSubscriptions_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_list.py new file mode 100644 index 000000000000..0c6299b29aea --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/trusted_host_subscriptions_list.py @@ -0,0 +1,42 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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. +# -------------------------------------------------------------------------- + +from azure.identity import DefaultAzureCredential + +from azure.mgmt.computelimit import ComputeLimitMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-computelimit +# USAGE + python trusted_host_subscriptions_list.py + + Before run the sample, please set the values of the client ID, tenant ID and client secret + of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, + AZURE_CLIENT_SECRET. For more info about how to get the value, please see: + https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal +""" + + +def main(): + client = ComputeLimitMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="SUBSCRIPTION_ID", + ) + + response = client.trusted_host_subscriptions.list_by_subscription_location_resource( + location="eastus", + ) + for item in response: + print(item) + + +# x-ms-original-file: 2026-07-31/TrustedHostSubscriptions_List.json +if __name__ == "__main__": + main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_get.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_get.py index 0fcdf1236375..0ccf58e4bcbc 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_get.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: 2026-07-01/VmFamilies_Get.json +# x-ms-original-file: 2026-07-31/VmFamilies_Get.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_list.py b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_list.py index 1654cc7bede0..f8c859799438 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_list.py +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_samples/vm_families_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: 2026-07-01/VmFamilies_List.json +# x-ms-original-file: 2026-07-31/VmFamilies_List.json if __name__ == "__main__": main() diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations.py b/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations.py new file mode 100644 index 000000000000..0964d9e39fbb --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations.py @@ -0,0 +1,75 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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 pytest +from azure.mgmt.computelimit import ComputeLimitMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer, recorded_by_proxy + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestComputeLimitMgmtTrustedHostSubscriptionsOperations(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(ComputeLimitMgmtClient) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_trusted_host_subscriptions_create(self, resource_group): + response = self.client.trusted_host_subscriptions.create( + location="str", + host_subscription_id="str", + resource={ + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_trusted_host_subscriptions_get(self, resource_group): + response = self.client.trusted_host_subscriptions.get( + location="str", + host_subscription_id="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_trusted_host_subscriptions_delete(self, resource_group): + response = self.client.trusted_host_subscriptions.delete( + location="str", + host_subscription_id="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy + def test_trusted_host_subscriptions_list_by_subscription_location_resource(self, resource_group): + response = self.client.trusted_host_subscriptions.list_by_subscription_location_resource( + location="str", + ) + result = [r for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations_async.py b/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations_async.py new file mode 100644 index 000000000000..9e2d348d6d5c --- /dev/null +++ b/sdk/computelimit/azure-mgmt-computelimit/generated_tests/test_compute_limit_mgmt_trusted_host_subscriptions_operations_async.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# 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 pytest +from azure.mgmt.computelimit.aio import ComputeLimitMgmtClient + +from devtools_testutils import AzureMgmtRecordedTestCase, RandomNameResourceGroupPreparer +from devtools_testutils.aio import recorded_by_proxy_async + +AZURE_LOCATION = "eastus" + + +@pytest.mark.skip("you may need to update the auto-generated test case before run it") +class TestComputeLimitMgmtTrustedHostSubscriptionsOperationsAsync(AzureMgmtRecordedTestCase): + def setup_method(self, method): + self.client = self.create_mgmt_client(ComputeLimitMgmtClient, is_async=True) + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_trusted_host_subscriptions_create(self, resource_group): + response = await self.client.trusted_host_subscriptions.create( + location="str", + host_subscription_id="str", + resource={ + "id": "str", + "name": "str", + "systemData": { + "createdAt": "2020-02-20 00:00:00", + "createdBy": "str", + "createdByType": "str", + "lastModifiedAt": "2020-02-20 00:00:00", + "lastModifiedBy": "str", + "lastModifiedByType": "str", + }, + "type": "str", + }, + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_trusted_host_subscriptions_get(self, resource_group): + response = await self.client.trusted_host_subscriptions.get( + location="str", + host_subscription_id="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_trusted_host_subscriptions_delete(self, resource_group): + response = await self.client.trusted_host_subscriptions.delete( + location="str", + host_subscription_id="str", + ) + + # please add some check logic here by yourself + # ... + + @RandomNameResourceGroupPreparer(location=AZURE_LOCATION) + @recorded_by_proxy_async + async def test_trusted_host_subscriptions_list_by_subscription_location_resource(self, resource_group): + response = self.client.trusted_host_subscriptions.list_by_subscription_location_resource( + location="str", + ) + result = [r async for r in response] + # please add some check logic here by yourself + # ... diff --git a/sdk/computelimit/azure-mgmt-computelimit/tsp-location.yaml b/sdk/computelimit/azure-mgmt-computelimit/tsp-location.yaml index 4f9025121d0a..76f0d4c8d50a 100644 --- a/sdk/computelimit/azure-mgmt-computelimit/tsp-location.yaml +++ b/sdk/computelimit/azure-mgmt-computelimit/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/computelimit/resource-manager/Microsoft.ComputeLimit/ComputeLimit -commit: 723a657f70e944d62515f29a59a914ab911dc32c +commit: a2a5cf5a89a76c03890fec7ab64988d55c572b5c repo: Azure/azure-rest-api-specs additionalDirectories: