зеркало из
1
0
Форкнуть 0

[AutoRelease] t2-scvmm-2024-06-19-12172(can only be merged by SDK owner) (#36156)

* code and test

* update-testcase

---------

Co-authored-by: azure-sdk <PythonSdkPipelines>
Co-authored-by: ChenxiJiang333 <v-chenjiang@microsoft.com>
This commit is contained in:
Azure SDK Bot 2024-06-26 00:23:48 -04:00 коммит произвёл GitHub
Родитель b82bf258dc
Коммит 8ad50741f5
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
146 изменённых файлов: 16214 добавлений и 13310 удалений

Просмотреть файл

@ -1,5 +1,120 @@
# Release History # Release History
## 1.0.0 (2024-06-20)
### Features Added
- Added operation group GuestAgentsOperations
- Added operation group VirtualMachineInstancesOperations
- Added operation group VmInstanceHybridIdentityMetadatasOperations
- Model AvailabilitySet has a new parameter properties
- Model Cloud has a new parameter properties
- Model InventoryItem has a new parameter properties
- Model ProxyResource has a new parameter system_data
- Model Resource has a new parameter system_data
- Model VirtualDisk has a new parameter storage_qos_policy
- Model VirtualDiskUpdate has a new parameter storage_qos_policy
- Model VirtualMachineInventoryItem has a new parameter bios_guid
- Model VirtualMachineInventoryItem has a new parameter managed_machine_resource_id
- Model VirtualMachineInventoryItem has a new parameter os_version
- Model VirtualMachineTemplate has a new parameter properties
- Model VirtualNetwork has a new parameter properties
### Breaking Changes
- Client name is changed from `SCVMM` to `ScVmmMgmtClient`
- Model AvailabilitySet no longer has parameter availability_set_name
- Model AvailabilitySet no longer has parameter provisioning_state
- Model AvailabilitySet no longer has parameter vmm_server_id
- Model Cloud no longer has parameter cloud_capacity
- Model Cloud no longer has parameter cloud_name
- Model Cloud no longer has parameter inventory_item_id
- Model Cloud no longer has parameter provisioning_state
- Model Cloud no longer has parameter storage_qo_s_policies
- Model Cloud no longer has parameter uuid
- Model Cloud no longer has parameter vmm_server_id
- Model InventoryItem no longer has parameter inventory_item_name
- Model InventoryItem no longer has parameter inventory_type
- Model InventoryItem no longer has parameter managed_resource_id
- Model InventoryItem no longer has parameter provisioning_state
- Model InventoryItem no longer has parameter uuid
- Model VirtualDisk no longer has parameter storage_qo_s_policy
- Model VirtualDiskUpdate no longer has parameter storage_qo_s_policy
- Model VirtualMachineTemplate no longer has parameter computer_name
- Model VirtualMachineTemplate no longer has parameter cpu_count
- Model VirtualMachineTemplate no longer has parameter disks
- Model VirtualMachineTemplate no longer has parameter dynamic_memory_enabled
- Model VirtualMachineTemplate no longer has parameter dynamic_memory_max_mb
- Model VirtualMachineTemplate no longer has parameter dynamic_memory_min_mb
- Model VirtualMachineTemplate no longer has parameter generation
- Model VirtualMachineTemplate no longer has parameter inventory_item_id
- Model VirtualMachineTemplate no longer has parameter is_customizable
- Model VirtualMachineTemplate no longer has parameter is_highly_available
- Model VirtualMachineTemplate no longer has parameter limit_cpu_for_migration
- Model VirtualMachineTemplate no longer has parameter memory_mb
- Model VirtualMachineTemplate no longer has parameter network_interfaces
- Model VirtualMachineTemplate no longer has parameter os_name
- Model VirtualMachineTemplate no longer has parameter os_type
- Model VirtualMachineTemplate no longer has parameter provisioning_state
- Model VirtualMachineTemplate no longer has parameter uuid
- Model VirtualMachineTemplate no longer has parameter vmm_server_id
- Model VirtualNetwork no longer has parameter inventory_item_id
- Model VirtualNetwork no longer has parameter network_name
- Model VirtualNetwork no longer has parameter provisioning_state
- Model VirtualNetwork no longer has parameter uuid
- Model VirtualNetwork no longer has parameter vmm_server_id
- Operation AvailabilitySetsOperations.begin_create_or_update has a new required parameter availability_set_resource_name
- Operation AvailabilitySetsOperations.begin_create_or_update has a new required parameter resource
- Operation AvailabilitySetsOperations.begin_create_or_update no longer has parameter availability_set_name
- Operation AvailabilitySetsOperations.begin_create_or_update no longer has parameter body
- Operation AvailabilitySetsOperations.begin_delete has a new required parameter availability_set_resource_name
- Operation AvailabilitySetsOperations.begin_delete no longer has parameter availability_set_name
- Operation AvailabilitySetsOperations.begin_update has a new required parameter availability_set_resource_name
- Operation AvailabilitySetsOperations.begin_update has a new required parameter properties
- Operation AvailabilitySetsOperations.begin_update no longer has parameter availability_set_name
- Operation AvailabilitySetsOperations.begin_update no longer has parameter body
- Operation AvailabilitySetsOperations.get has a new required parameter availability_set_resource_name
- Operation AvailabilitySetsOperations.get no longer has parameter availability_set_name
- Operation CloudsOperations.begin_create_or_update has a new required parameter cloud_resource_name
- Operation CloudsOperations.begin_create_or_update has a new required parameter resource
- Operation CloudsOperations.begin_create_or_update no longer has parameter body
- Operation CloudsOperations.begin_create_or_update no longer has parameter cloud_name
- Operation CloudsOperations.begin_delete has a new required parameter cloud_resource_name
- Operation CloudsOperations.begin_delete no longer has parameter cloud_name
- Operation CloudsOperations.begin_update has a new required parameter cloud_resource_name
- Operation CloudsOperations.begin_update has a new required parameter properties
- Operation CloudsOperations.begin_update no longer has parameter body
- Operation CloudsOperations.begin_update no longer has parameter cloud_name
- Operation CloudsOperations.get has a new required parameter cloud_resource_name
- Operation CloudsOperations.get no longer has parameter cloud_name
- Operation InventoryItemsOperations.create has a new required parameter inventory_item_resource_name
- Operation InventoryItemsOperations.create has a new required parameter resource
- Operation InventoryItemsOperations.create no longer has parameter body
- Operation InventoryItemsOperations.create no longer has parameter inventory_item_name
- Operation InventoryItemsOperations.delete has a new required parameter inventory_item_resource_name
- Operation InventoryItemsOperations.delete no longer has parameter inventory_item_name
- Operation InventoryItemsOperations.get has a new required parameter inventory_item_resource_name
- Operation InventoryItemsOperations.get no longer has parameter inventory_item_name
- Operation VirtualMachineTemplatesOperations.begin_create_or_update has a new required parameter resource
- Operation VirtualMachineTemplatesOperations.begin_create_or_update no longer has parameter body
- Operation VirtualMachineTemplatesOperations.begin_update has a new required parameter properties
- Operation VirtualMachineTemplatesOperations.begin_update no longer has parameter body
- Operation VirtualNetworksOperations.begin_create_or_update has a new required parameter resource
- Operation VirtualNetworksOperations.begin_create_or_update no longer has parameter body
- Operation VirtualNetworksOperations.begin_update has a new required parameter properties
- Operation VirtualNetworksOperations.begin_update no longer has parameter body
- Operation VmmServersOperations.begin_create_or_update has a new required parameter resource
- Operation VmmServersOperations.begin_create_or_update no longer has parameter body
- Operation VmmServersOperations.begin_update has a new required parameter properties
- Operation VmmServersOperations.begin_update no longer has parameter body
- Parameter extended_location of model AvailabilitySet is now required
- Parameter location of model AvailabilitySet is now required
- Parameter value of model AvailabilitySetListResult is now required
- Parameter value of model CloudListResult is now required
- Parameter value of model VirtualMachineTemplateListResult is now required
- Parameter value of model VirtualNetworkListResult is now required
- Removed operation group VirtualMachinesOperations
## 1.0.0b2 (2022-11-23) ## 1.0.0b2 (2022-11-23)
### Other Changes ### Other Changes

Просмотреть файл

@ -1,28 +1,61 @@
# Microsoft Azure SDK for Python # Microsoft Azure SDK for Python
This is the Microsoft Azure Scvmm Management Client Library. This is the Microsoft Azure Scvmm Management Client Library.
This package has been tested with Python 3.7+. This package has been tested with Python 3.8+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all). For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
## _Disclaimer_ ## _Disclaimer_
_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691_
# Usage ## Getting started
### Prerequisites
- Python 3.8+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)
### Install the package
```bash
pip install azure-mgmt-scvmm
pip install azure-identity
```
### Authentication
By default, [Azure Active Directory](https://aka.ms/awps/aad) token authentication depends on correct configure of following environment variables.
- `AZURE_CLIENT_ID` for Azure client ID.
- `AZURE_TENANT_ID` for Azure tenant ID.
- `AZURE_CLIENT_SECRET` for Azure client secret.
In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
With above configuration, client can be authenticated by following code:
```python
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = SCVMM(credential=DefaultAzureCredential(), subscription_id=sub_id)
```
## Examples
Code samples for this package can be found at:
- [Search Scvmm Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com
- [Azure Python Mgmt SDK Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
To learn how to use this package, see the [quickstart guide](https://aka.ms/azsdk/python/mgmt) ## Troubleshooting
For docs and references, see [Python SDK References](https://docs.microsoft.com/python/api/overview/azure/) ## Next steps
Code samples for this package can be found at [Scvmm Management](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.
Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
## Provide Feedback
# Provide Feedback
If you encounter any bugs or have suggestions, please file an issue in the If you encounter any bugs or have suggestions, please file an issue in the
[Issues](https://github.com/Azure/azure-sdk-for-python/issues) [Issues](https://github.com/Azure/azure-sdk-for-python/issues)
section of the project. section of the project.
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fazure-mgmt-scvmm%2FREADME.png)

Просмотреть файл

@ -1,11 +1,11 @@
{ {
"commit": "7a54c1a83d14da431c0ae48c4315cba143084bce", "commit": "061505b89d5d0bbcc9f980e2276f79ff354ce286",
"repository_url": "https://github.com/Azure/azure-rest-api-specs", "repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.9.2", "autorest": "3.10.2",
"use": [ "use": [
"@autorest/python@6.2.7", "@autorest/python@6.13.19",
"@autorest/modelerfour@4.24.3" "@autorest/modelerfour@4.27.0"
], ],
"autorest_command": "autorest specification/scvmm/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.2.7 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", "autorest_command": "autorest specification/scvmm/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.13.19 --use=@autorest/modelerfour@4.27.0 --version=3.10.2 --version-tolerant=False",
"readme": "specification/scvmm/resource-manager/readme.md" "readme": "specification/scvmm/resource-manager/readme.md"
} }

Просмотреть файл

@ -0,0 +1,6 @@
{
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "python",
"TagPrefix": "python/scvmm/azure-mgmt-scvmm",
"Tag": "python/scvmm/azure-mgmt-scvmm_3e1282e8af"
}

Просмотреть файл

@ -6,7 +6,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from ._scvmm import SCVMM from ._sc_vmm_mgmt_client import ScVmmMgmtClient
from ._version import VERSION from ._version import VERSION
__version__ = VERSION __version__ = VERSION
@ -19,7 +19,7 @@ except ImportError:
from ._patch import patch_sdk as _patch_sdk from ._patch import patch_sdk as _patch_sdk
__all__ = [ __all__ = [
"SCVMM", "ScVmmMgmtClient",
] ]
__all__.extend([p for p in _patch_all if p not in __all__]) __all__.extend([p for p in _patch_all if p not in __all__])

Просмотреть файл

@ -6,44 +6,35 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
import sys
from typing import Any, TYPE_CHECKING from typing import Any, TYPE_CHECKING
from azure.core.configuration import Configuration
from azure.core.pipeline import policies from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
from ._version import VERSION from ._version import VERSION
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
if TYPE_CHECKING: if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials import TokenCredential from azure.core.credentials import TokenCredential
class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-attributes class ScVmmMgmtClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for SCVMM. """Configuration for ScVmmMgmtClient.
Note that all parameters used to create this instance are saved as instance Note that all parameters used to create this instance are saved as instance
attributes. attributes.
:param credential: Credential needed for the client to connect to Azure. Required. :param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.TokenCredential :type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
00000000-0000-0000-0000-000000000000). Required.
:type subscription_id: str :type subscription_id: str
:keyword api_version: Api Version. Default value is "2020-06-05-preview". Note that overriding :keyword api_version: Api Version. Default value is "2023-10-07". Note that overriding this
this default value may result in unsupported behavior. default value may result in unsupported behavior.
:paramtype api_version: str :paramtype api_version: str
""" """
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None: def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(SCVMMConfiguration, self).__init__(**kwargs) api_version: str = kwargs.pop("api_version", "2023-10-07")
api_version: Literal["2020-06-05-preview"] = kwargs.pop("api_version", "2020-06-05-preview")
if credential is None: if credential is None:
raise ValueError("Parameter 'credential' must not be None.") raise ValueError("Parameter 'credential' must not be None.")
@ -55,6 +46,7 @@ class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-at
self.api_version = api_version self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-scvmm/{}".format(VERSION)) kwargs.setdefault("sdk_moniker", "mgmt-scvmm/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs) self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None: def _configure(self, **kwargs: Any) -> None:
@ -63,9 +55,9 @@ class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-at
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy") self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy: if self.credential and not self.authentication_policy:
self.authentication_policy = ARMChallengeAuthenticationPolicy( self.authentication_policy = ARMChallengeAuthenticationPolicy(

Просмотреть файл

@ -25,6 +25,7 @@
# #
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# This file is used for handwritten extensions to the generated code. Example: # This file is used for handwritten extensions to the generated code. Example:
# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
def patch_sdk(): def patch_sdk():

Просмотреть файл

@ -9,20 +9,24 @@
from copy import deepcopy from copy import deepcopy
from typing import Any, TYPE_CHECKING from typing import Any, TYPE_CHECKING
from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient from azure.mgmt.core import ARMPipelineClient
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
from . import models as _models from . import models as _models
from ._configuration import SCVMMConfiguration from ._configuration import ScVmmMgmtClientConfiguration
from ._serialization import Deserializer, Serializer from ._serialization import Deserializer, Serializer
from .operations import ( from .operations import (
AvailabilitySetsOperations, AvailabilitySetsOperations,
CloudsOperations, CloudsOperations,
GuestAgentsOperations,
InventoryItemsOperations, InventoryItemsOperations,
Operations, Operations,
VirtualMachineInstancesOperations,
VirtualMachineTemplatesOperations, VirtualMachineTemplatesOperations,
VirtualMachinesOperations,
VirtualNetworksOperations, VirtualNetworksOperations,
VmInstanceHybridIdentityMetadatasOperations,
VmmServersOperations, VmmServersOperations,
) )
@ -31,35 +35,41 @@ if TYPE_CHECKING:
from azure.core.credentials import TokenCredential from azure.core.credentials import TokenCredential
class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes class ScVmmMgmtClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
"""The Microsoft.ScVmm Rest API spec. """The Microsoft.ScVmm Rest API spec.
:ivar vmm_servers: VmmServersOperations operations :ivar virtual_machine_instances: VirtualMachineInstancesOperations operations
:vartype vmm_servers: azure.mgmt.scvmm.operations.VmmServersOperations :vartype virtual_machine_instances:
azure.mgmt.scvmm.operations.VirtualMachineInstancesOperations
:ivar guest_agents: GuestAgentsOperations operations
:vartype guest_agents: azure.mgmt.scvmm.operations.GuestAgentsOperations
:ivar vm_instance_hybrid_identity_metadatas: VmInstanceHybridIdentityMetadatasOperations
operations
:vartype vm_instance_hybrid_identity_metadatas:
azure.mgmt.scvmm.operations.VmInstanceHybridIdentityMetadatasOperations
:ivar operations: Operations operations :ivar operations: Operations operations
:vartype operations: azure.mgmt.scvmm.operations.Operations :vartype operations: azure.mgmt.scvmm.operations.Operations
:ivar availability_sets: AvailabilitySetsOperations operations
:vartype availability_sets: azure.mgmt.scvmm.operations.AvailabilitySetsOperations
:ivar clouds: CloudsOperations operations :ivar clouds: CloudsOperations operations
:vartype clouds: azure.mgmt.scvmm.operations.CloudsOperations :vartype clouds: azure.mgmt.scvmm.operations.CloudsOperations
:ivar virtual_networks: VirtualNetworksOperations operations
:vartype virtual_networks: azure.mgmt.scvmm.operations.VirtualNetworksOperations
:ivar virtual_machines: VirtualMachinesOperations operations
:vartype virtual_machines: azure.mgmt.scvmm.operations.VirtualMachinesOperations
:ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations
:vartype virtual_machine_templates: :vartype virtual_machine_templates:
azure.mgmt.scvmm.operations.VirtualMachineTemplatesOperations azure.mgmt.scvmm.operations.VirtualMachineTemplatesOperations
:ivar availability_sets: AvailabilitySetsOperations operations :ivar virtual_networks: VirtualNetworksOperations operations
:vartype availability_sets: azure.mgmt.scvmm.operations.AvailabilitySetsOperations :vartype virtual_networks: azure.mgmt.scvmm.operations.VirtualNetworksOperations
:ivar vmm_servers: VmmServersOperations operations
:vartype vmm_servers: azure.mgmt.scvmm.operations.VmmServersOperations
:ivar inventory_items: InventoryItemsOperations operations :ivar inventory_items: InventoryItemsOperations operations
:vartype inventory_items: azure.mgmt.scvmm.operations.InventoryItemsOperations :vartype inventory_items: azure.mgmt.scvmm.operations.InventoryItemsOperations
:param credential: Credential needed for the client to connect to Azure. Required. :param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.TokenCredential :type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
00000000-0000-0000-0000-000000000000). Required.
:type subscription_id: str :type subscription_id: str
:param base_url: Service URL. Default value is "https://management.azure.com". :param base_url: Service URL. Default value is "https://management.azure.com".
:type base_url: str :type base_url: str
:keyword api_version: Api Version. Default value is "2020-06-05-preview". Note that overriding :keyword api_version: Api Version. Default value is "2023-10-07". Note that overriding this
this default value may result in unsupported behavior. default value may result in unsupported behavior.
:paramtype api_version: str :paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present. Retry-After header is present.
@ -72,31 +82,53 @@ class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-inst
base_url: str = "https://management.azure.com", base_url: str = "https://management.azure.com",
**kwargs: Any **kwargs: Any
) -> None: ) -> None:
self._config = SCVMMConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._config = ScVmmMgmtClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) _policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
policies.RequestIdPolicy(**kwargs),
self._config.headers_policy,
self._config.user_agent_policy,
self._config.proxy_policy,
policies.ContentDecodePolicy(**kwargs),
ARMAutoResourceProviderRegistrationPolicy(),
self._config.redirect_policy,
self._config.retry_policy,
self._config.authentication_policy,
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: ARMPipelineClient = ARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models) self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models) self._deserialize = Deserializer(client_models)
self._serialize.client_side_validation = False self._serialize.client_side_validation = False
self.vmm_servers = VmmServersOperations(self._client, self._config, self._serialize, self._deserialize) self.virtual_machine_instances = VirtualMachineInstancesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.guest_agents = GuestAgentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.vm_instance_hybrid_identity_metadatas = VmInstanceHybridIdentityMetadatasOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.clouds = CloudsOperations(self._client, self._config, self._serialize, self._deserialize)
self.virtual_networks = VirtualNetworksOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_machines = VirtualMachinesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_machine_templates = VirtualMachineTemplatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.availability_sets = AvailabilitySetsOperations( self.availability_sets = AvailabilitySetsOperations(
self._client, self._config, self._serialize, self._deserialize self._client, self._config, self._serialize, self._deserialize
) )
self.clouds = CloudsOperations(self._client, self._config, self._serialize, self._deserialize)
self.virtual_machine_templates = VirtualMachineTemplatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_networks = VirtualNetworksOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.vmm_servers = VmmServersOperations(self._client, self._config, self._serialize, self._deserialize)
self.inventory_items = InventoryItemsOperations(self._client, self._config, self._serialize, self._deserialize) self.inventory_items = InventoryItemsOperations(self._client, self._config, self._serialize, self._deserialize)
def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
"""Runs the network request through the client's chained policies. """Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest >>> from azure.core.rest import HttpRequest
@ -116,14 +148,14 @@ class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-inst
request_copy = deepcopy(request) request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url) request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs) return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
def close(self) -> None: def close(self) -> None:
self._client.close() self._client.close()
def __enter__(self) -> "SCVMM": def __enter__(self) -> "ScVmmMgmtClient":
self._client.__enter__() self._client.__enter__()
return self return self
def __exit__(self, *exc_details) -> None: def __exit__(self, *exc_details: Any) -> None:
self._client.__exit__(*exc_details) self._client.__exit__(*exc_details)

Просмотреть файл

@ -38,7 +38,22 @@ import logging
import re import re
import sys import sys
import codecs import codecs
from typing import Optional, Union, AnyStr, IO, Mapping from typing import (
Dict,
Any,
cast,
Optional,
Union,
AnyStr,
IO,
Mapping,
Callable,
TypeVar,
MutableMapping,
Type,
List,
Mapping,
)
try: try:
from urllib import quote # type: ignore from urllib import quote # type: ignore
@ -48,12 +63,14 @@ import xml.etree.ElementTree as ET
import isodate # type: ignore import isodate # type: ignore
from typing import Dict, Any, cast from azure.core.exceptions import DeserializationError, SerializationError
from azure.core.serialization import NULL as CoreNull
from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback
_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") _BOM = codecs.BOM_UTF8.decode(encoding="utf-8")
ModelType = TypeVar("ModelType", bound="Model")
JSON = MutableMapping[str, Any]
class RawDeserializer: class RawDeserializer:
@ -107,7 +124,7 @@ class RawDeserializer:
pass pass
return ET.fromstring(data_as_str) # nosec return ET.fromstring(data_as_str) # nosec
except ET.ParseError: except ET.ParseError as err:
# It might be because the server has an issue, and returned JSON with # It might be because the server has an issue, and returned JSON with
# content-type XML.... # content-type XML....
# So let's try a JSON load, and if it's still broken # So let's try a JSON load, and if it's still broken
@ -126,7 +143,7 @@ class RawDeserializer:
# The function hack is because Py2.7 messes up with exception # The function hack is because Py2.7 messes up with exception
# context otherwise. # context otherwise.
_LOGGER.critical("Wasn't XML not JSON, failing") _LOGGER.critical("Wasn't XML not JSON, failing")
raise_with_traceback(DeserializationError, "XML is invalid") raise DeserializationError("XML is invalid") from err
raise DeserializationError("Cannot deserialize content-type: {}".format(content_type)) raise DeserializationError("Cannot deserialize content-type: {}".format(content_type))
@classmethod @classmethod
@ -153,13 +170,6 @@ class RawDeserializer:
return None return None
try:
basestring # type: ignore
unicode_str = unicode # type: ignore
except NameError:
basestring = str
unicode_str = str
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
try: try:
@ -277,8 +287,8 @@ class Model(object):
_attribute_map: Dict[str, Dict[str, Any]] = {} _attribute_map: Dict[str, Dict[str, Any]] = {}
_validation: Dict[str, Dict[str, Any]] = {} _validation: Dict[str, Dict[str, Any]] = {}
def __init__(self, **kwargs): def __init__(self, **kwargs: Any) -> None:
self.additional_properties = {} self.additional_properties: Optional[Dict[str, Any]] = {}
for k in kwargs: for k in kwargs:
if k not in self._attribute_map: if k not in self._attribute_map:
_LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__) _LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__)
@ -287,25 +297,25 @@ class Model(object):
else: else:
setattr(self, k, kwargs[k]) setattr(self, k, kwargs[k])
def __eq__(self, other): def __eq__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes.""" """Compare objects by comparing all attributes."""
if isinstance(other, self.__class__): if isinstance(other, self.__class__):
return self.__dict__ == other.__dict__ return self.__dict__ == other.__dict__
return False return False
def __ne__(self, other): def __ne__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes.""" """Compare objects by comparing all attributes."""
return not self.__eq__(other) return not self.__eq__(other)
def __str__(self): def __str__(self) -> str:
return str(self.__dict__) return str(self.__dict__)
@classmethod @classmethod
def enable_additional_properties_sending(cls): def enable_additional_properties_sending(cls) -> None:
cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"} cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"}
@classmethod @classmethod
def is_xml_model(cls): def is_xml_model(cls) -> bool:
try: try:
cls._xml_map # type: ignore cls._xml_map # type: ignore
except AttributeError: except AttributeError:
@ -322,8 +332,8 @@ class Model(object):
return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None)) return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None))
def serialize(self, keep_readonly=False, **kwargs): def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON:
"""Return the JSON that would be sent to azure from this model. """Return the JSON that would be sent to server from this model.
This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`. This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`.
@ -334,10 +344,15 @@ class Model(object):
:rtype: dict :rtype: dict
""" """
serializer = Serializer(self._infer_class_models()) serializer = Serializer(self._infer_class_models())
return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs) # type: ignore
def as_dict(self, keep_readonly=True, key_transformer=attribute_transformer, **kwargs): def as_dict(
"""Return a dict that can be JSONify using json.dump. self,
keep_readonly: bool = True,
key_transformer: Callable[[str, Dict[str, Any], Any], Any] = attribute_transformer,
**kwargs: Any
) -> JSON:
"""Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter: Advanced usage might optionally use a callback as parameter:
@ -368,7 +383,7 @@ class Model(object):
:rtype: dict :rtype: dict
""" """
serializer = Serializer(self._infer_class_models()) serializer = Serializer(self._infer_class_models())
return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) return serializer._serialize(self, key_transformer=key_transformer, keep_readonly=keep_readonly, **kwargs) # type: ignore
@classmethod @classmethod
def _infer_class_models(cls): def _infer_class_models(cls):
@ -384,7 +399,7 @@ class Model(object):
return client_models return client_models
@classmethod @classmethod
def deserialize(cls, data, content_type=None): def deserialize(cls: Type[ModelType], data: Any, content_type: Optional[str] = None) -> ModelType:
"""Parse a str using the RestAPI syntax and return a model. """Parse a str using the RestAPI syntax and return a model.
:param str data: A str using RestAPI structure. JSON by default. :param str data: A str using RestAPI structure. JSON by default.
@ -393,10 +408,15 @@ class Model(object):
:raises: DeserializationError if something went wrong :raises: DeserializationError if something went wrong
""" """
deserializer = Deserializer(cls._infer_class_models()) deserializer = Deserializer(cls._infer_class_models())
return deserializer(cls.__name__, data, content_type=content_type) return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod @classmethod
def from_dict(cls, data, key_extractors=None, content_type=None): def from_dict(
cls: Type[ModelType],
data: Any,
key_extractors: Optional[Callable[[str, Dict[str, Any], Any], Any]] = None,
content_type: Optional[str] = None,
) -> ModelType:
"""Parse a dict using given key extractor return a model. """Parse a dict using given key extractor return a model.
By default consider key By default consider key
@ -409,8 +429,8 @@ class Model(object):
:raises: DeserializationError if something went wrong :raises: DeserializationError if something went wrong
""" """
deserializer = Deserializer(cls._infer_class_models()) deserializer = Deserializer(cls._infer_class_models())
deserializer.key_extractors = ( deserializer.key_extractors = ( # type: ignore
[ [ # type: ignore
attribute_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor,
rest_key_case_insensitive_extractor, rest_key_case_insensitive_extractor,
last_rest_key_case_insensitive_extractor, last_rest_key_case_insensitive_extractor,
@ -418,7 +438,7 @@ class Model(object):
if key_extractors is None if key_extractors is None
else key_extractors else key_extractors
) )
return deserializer(cls.__name__, data, content_type=content_type) return deserializer(cls.__name__, data, content_type=content_type) # type: ignore
@classmethod @classmethod
def _flatten_subtype(cls, key, objects): def _flatten_subtype(cls, key, objects):
@ -518,7 +538,7 @@ class Serializer(object):
"multiple": lambda x, y: x % y != 0, "multiple": lambda x, y: x % y != 0,
} }
def __init__(self, classes=None): def __init__(self, classes: Optional[Mapping[str, type]] = None):
self.serialize_type = { self.serialize_type = {
"iso-8601": Serializer.serialize_iso, "iso-8601": Serializer.serialize_iso,
"rfc-1123": Serializer.serialize_rfc, "rfc-1123": Serializer.serialize_rfc,
@ -534,7 +554,7 @@ class Serializer(object):
"[]": self.serialize_iter, "[]": self.serialize_iter,
"{}": self.serialize_dict, "{}": self.serialize_dict,
} }
self.dependencies = dict(classes) if classes else {} self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_transformer = full_restapi_key_transformer self.key_transformer = full_restapi_key_transformer
self.client_side_validation = True self.client_side_validation = True
@ -602,7 +622,7 @@ class Serializer(object):
if xml_desc.get("attr", False): if xml_desc.get("attr", False):
if xml_ns: if xml_ns:
ET.register_namespace(xml_prefix, xml_ns) ET.register_namespace(xml_prefix, xml_ns)
xml_name = "{}{}".format(xml_ns, xml_name) xml_name = "{{{}}}{}".format(xml_ns, xml_name)
serialized.set(xml_name, new_attr) # type: ignore serialized.set(xml_name, new_attr) # type: ignore
continue continue
if xml_desc.get("text", False): if xml_desc.get("text", False):
@ -622,12 +642,11 @@ class Serializer(object):
else: # That's a basic type else: # That's a basic type
# Integrate namespace if necessary # Integrate namespace if necessary
local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node = _create_xml_node(xml_name, xml_prefix, xml_ns)
local_node.text = unicode_str(new_attr) local_node.text = str(new_attr)
serialized.append(local_node) # type: ignore serialized.append(local_node) # type: ignore
else: # JSON else: # JSON
for k in reversed(keys): # type: ignore for k in reversed(keys): # type: ignore
unflattened = {k: new_attr} new_attr = {k: new_attr}
new_attr = unflattened
_new_attr = new_attr _new_attr = new_attr
_serialized = serialized _serialized = serialized
@ -636,12 +655,13 @@ class Serializer(object):
_serialized.update(_new_attr) # type: ignore _serialized.update(_new_attr) # type: ignore
_new_attr = _new_attr[k] # type: ignore _new_attr = _new_attr[k] # type: ignore
_serialized = _serialized[k] _serialized = _serialized[k]
except ValueError: except ValueError as err:
continue if isinstance(err, SerializationError):
raise
except (AttributeError, KeyError, TypeError) as err: except (AttributeError, KeyError, TypeError) as err:
msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj))
raise_with_traceback(SerializationError, msg, err) raise SerializationError(msg) from err
else: else:
return serialized return serialized
@ -656,8 +676,8 @@ class Serializer(object):
""" """
# Just in case this is a dict # Just in case this is a dict
internal_data_type = data_type.strip("[]{}") internal_data_type_str = data_type.strip("[]{}")
internal_data_type = self.dependencies.get(internal_data_type, None) internal_data_type = self.dependencies.get(internal_data_type_str, None)
try: try:
is_xml_model_serialization = kwargs["is_xml"] is_xml_model_serialization = kwargs["is_xml"]
except KeyError: except KeyError:
@ -683,7 +703,7 @@ class Serializer(object):
] ]
data = deserializer._deserialize(data_type, data) data = deserializer._deserialize(data_type, data)
except DeserializationError as err: except DeserializationError as err:
raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) raise SerializationError("Unable to build a model: " + str(err)) from err
return self._serialize(data, data_type, **kwargs) return self._serialize(data, data_type, **kwargs)
@ -703,6 +723,7 @@ class Serializer(object):
if kwargs.get("skip_quote") is True: if kwargs.get("skip_quote") is True:
output = str(output) output = str(output)
output = output.replace("{", quote("{")).replace("}", quote("}"))
else: else:
output = quote(str(output), safe="") output = quote(str(output), safe="")
except SerializationError: except SerializationError:
@ -715,7 +736,9 @@ class Serializer(object):
:param data: The data to be serialized. :param data: The data to be serialized.
:param str data_type: The type to be serialized from. :param str data_type: The type to be serialized from.
:rtype: str :keyword bool skip_quote: Whether to skip quote the serialized result.
Defaults to False.
:rtype: str, list
:raises: TypeError if serialization fails. :raises: TypeError if serialization fails.
:raises: ValueError if data is None :raises: ValueError if data is None
""" """
@ -723,10 +746,8 @@ class Serializer(object):
# Treat the list aside, since we don't want to encode the div separator # Treat the list aside, since we don't want to encode the div separator
if data_type.startswith("["): if data_type.startswith("["):
internal_data_type = data_type[1:-1] internal_data_type = data_type[1:-1]
data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] do_quote = not kwargs.get("skip_quote", False)
if not kwargs.get("skip_quote", False): return self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)
data = [quote(str(d), safe="") for d in data]
return str(self.serialize_iter(data, internal_data_type, **kwargs))
# Not a list, regular serialization # Not a list, regular serialization
output = self.serialize_data(data, data_type, **kwargs) output = self.serialize_data(data, data_type, **kwargs)
@ -777,6 +798,8 @@ class Serializer(object):
raise ValueError("No value for given attribute") raise ValueError("No value for given attribute")
try: try:
if data is CoreNull:
return None
if data_type in self.basic_types.values(): if data_type in self.basic_types.values():
return self.serialize_basic(data, data_type, **kwargs) return self.serialize_basic(data, data_type, **kwargs)
@ -795,7 +818,7 @@ class Serializer(object):
except (ValueError, TypeError) as err: except (ValueError, TypeError) as err:
msg = "Unable to serialize value: {!r} as type: {!r}." msg = "Unable to serialize value: {!r} as type: {!r}."
raise_with_traceback(SerializationError, msg.format(data, data_type), err) raise SerializationError(msg.format(data, data_type)) from err
else: else:
return self._serialize(data, **kwargs) return self._serialize(data, **kwargs)
@ -863,6 +886,8 @@ class Serializer(object):
not be None or empty. not be None or empty.
:param str div: If set, this str will be used to combine the elements :param str div: If set, this str will be used to combine the elements
in the iterable into a combined string. Default is 'None'. in the iterable into a combined string. Default is 'None'.
:keyword bool do_quote: Whether to quote the serialized result of each iterable element.
Defaults to False.
:rtype: list, str :rtype: list, str
""" """
if isinstance(data, str): if isinstance(data, str):
@ -875,9 +900,14 @@ class Serializer(object):
for d in data: for d in data:
try: try:
serialized.append(self.serialize_data(d, iter_type, **kwargs)) serialized.append(self.serialize_data(d, iter_type, **kwargs))
except ValueError: except ValueError as err:
if isinstance(err, SerializationError):
raise
serialized.append(None) serialized.append(None)
if kwargs.get("do_quote", False):
serialized = ["" if s is None else quote(str(s), safe="") for s in serialized]
if div: if div:
serialized = ["" if s is None else str(s) for s in serialized] serialized = ["" if s is None else str(s) for s in serialized]
serialized = div.join(serialized) serialized = div.join(serialized)
@ -922,7 +952,9 @@ class Serializer(object):
for key, value in attr.items(): for key, value in attr.items():
try: try:
serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs)
except ValueError: except ValueError as err:
if isinstance(err, SerializationError):
raise
serialized[self.serialize_unicode(key)] = None serialized[self.serialize_unicode(key)] = None
if "xml" in serialization_ctxt: if "xml" in serialization_ctxt:
@ -955,7 +987,7 @@ class Serializer(object):
return self.serialize_basic(attr, self.basic_types[obj_type], **kwargs) return self.serialize_basic(attr, self.basic_types[obj_type], **kwargs)
if obj_type is _long_type: if obj_type is _long_type:
return self.serialize_long(attr) return self.serialize_long(attr)
if obj_type is unicode_str: if obj_type is str:
return self.serialize_unicode(attr) return self.serialize_unicode(attr)
if obj_type is datetime.datetime: if obj_type is datetime.datetime:
return self.serialize_iso(attr) return self.serialize_iso(attr)
@ -1132,10 +1164,10 @@ class Serializer(object):
return date + microseconds + "Z" return date + microseconds + "Z"
except (ValueError, OverflowError) as err: except (ValueError, OverflowError) as err:
msg = "Unable to serialize datetime object." msg = "Unable to serialize datetime object."
raise_with_traceback(SerializationError, msg, err) raise SerializationError(msg) from err
except AttributeError as err: except AttributeError as err:
msg = "ISO-8601 object must be valid Datetime object." msg = "ISO-8601 object must be valid Datetime object."
raise_with_traceback(TypeError, msg, err) raise TypeError(msg) from err
@staticmethod @staticmethod
def serialize_unix(attr, **kwargs): def serialize_unix(attr, **kwargs):
@ -1161,7 +1193,8 @@ def rest_key_extractor(attr, attr_desc, data):
working_data = data working_data = data
while "." in key: while "." in key:
dict_keys = _FLATTEN.split(key) # Need the cast, as for some reasons "split" is typed as list[str | Any]
dict_keys = cast(List[str], _FLATTEN.split(key))
if len(dict_keys) == 1: if len(dict_keys) == 1:
key = _decode_attribute_map_key(dict_keys[0]) key = _decode_attribute_map_key(dict_keys[0])
break break
@ -1170,7 +1203,6 @@ def rest_key_extractor(attr, attr_desc, data):
if working_data is None: if working_data is None:
# If at any point while following flatten JSON path see None, it means # If at any point while following flatten JSON path see None, it means
# that all properties under are None as well # that all properties under are None as well
# https://github.com/Azure/msrest-for-python/issues/197
return None return None
key = ".".join(dict_keys[1:]) key = ".".join(dict_keys[1:])
@ -1191,7 +1223,6 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data):
if working_data is None: if working_data is None:
# If at any point while following flatten JSON path see None, it means # If at any point while following flatten JSON path see None, it means
# that all properties under are None as well # that all properties under are None as well
# https://github.com/Azure/msrest-for-python/issues/197
return None return None
key = ".".join(dict_keys[1:]) key = ".".join(dict_keys[1:])
@ -1242,7 +1273,7 @@ def _extract_name_from_internal_type(internal_type):
xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_name = internal_type_xml_map.get("name", internal_type.__name__)
xml_ns = internal_type_xml_map.get("ns", None) xml_ns = internal_type_xml_map.get("ns", None)
if xml_ns: if xml_ns:
xml_name = "{}{}".format(xml_ns, xml_name) xml_name = "{{{}}}{}".format(xml_ns, xml_name)
return xml_name return xml_name
@ -1266,7 +1297,7 @@ def xml_key_extractor(attr, attr_desc, data):
# Integrate namespace if necessary # Integrate namespace if necessary
xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None))
if xml_ns: if xml_ns:
xml_name = "{}{}".format(xml_ns, xml_name) xml_name = "{{{}}}{}".format(xml_ns, xml_name)
# If it's an attribute, that's simple # If it's an attribute, that's simple
if xml_desc.get("attr", False): if xml_desc.get("attr", False):
@ -1332,7 +1363,7 @@ class Deserializer(object):
valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
def __init__(self, classes=None): def __init__(self, classes: Optional[Mapping[str, type]] = None):
self.deserialize_type = { self.deserialize_type = {
"iso-8601": Deserializer.deserialize_iso, "iso-8601": Deserializer.deserialize_iso,
"rfc-1123": Deserializer.deserialize_rfc, "rfc-1123": Deserializer.deserialize_rfc,
@ -1352,7 +1383,7 @@ class Deserializer(object):
"duration": (isodate.Duration, datetime.timedelta), "duration": (isodate.Duration, datetime.timedelta),
"iso-8601": (datetime.datetime), "iso-8601": (datetime.datetime),
} }
self.dependencies = dict(classes) if classes else {} self.dependencies: Dict[str, type] = dict(classes) if classes else {}
self.key_extractors = [rest_key_extractor, xml_key_extractor] self.key_extractors = [rest_key_extractor, xml_key_extractor]
# Additional properties only works if the "rest_key_extractor" is used to # Additional properties only works if the "rest_key_extractor" is used to
# extract the keys. Making it to work whatever the key extractor is too much # extract the keys. Making it to work whatever the key extractor is too much
@ -1405,12 +1436,12 @@ class Deserializer(object):
response, class_name = self._classify_target(target_obj, data) response, class_name = self._classify_target(target_obj, data)
if isinstance(response, basestring): if isinstance(response, str):
return self.deserialize_data(data, response) return self.deserialize_data(data, response)
elif isinstance(response, type) and issubclass(response, Enum): elif isinstance(response, type) and issubclass(response, Enum):
return self.deserialize_enum(data, response) return self.deserialize_enum(data, response)
if data is None: if data is None or data is CoreNull:
return data return data
try: try:
attributes = response._attribute_map # type: ignore attributes = response._attribute_map # type: ignore
@ -1442,7 +1473,7 @@ class Deserializer(object):
d_attrs[attr] = value d_attrs[attr] = value
except (AttributeError, TypeError, KeyError) as err: except (AttributeError, TypeError, KeyError) as err:
msg = "Unable to deserialize to object: " + class_name # type: ignore msg = "Unable to deserialize to object: " + class_name # type: ignore
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
additional_properties = self._build_additional_properties(attributes, data) additional_properties = self._build_additional_properties(attributes, data)
return self._instantiate_model(response, d_attrs, additional_properties) return self._instantiate_model(response, d_attrs, additional_properties)
@ -1471,22 +1502,22 @@ class Deserializer(object):
Once classification has been determined, initialize object. Once classification has been determined, initialize object.
:param str target: The target object type to deserialize to. :param str target: The target object type to deserialize to.
:param str/dict data: The response data to deseralize. :param str/dict data: The response data to deserialize.
""" """
if target is None: if target is None:
return None, None return None, None
if isinstance(target, basestring): if isinstance(target, str):
try: try:
target = self.dependencies[target] target = self.dependencies[target]
except KeyError: except KeyError:
return target, target return target, target
try: try:
target = target._classify(data, self.dependencies) target = target._classify(data, self.dependencies) # type: ignore
except AttributeError: except AttributeError:
pass # Target is not a Model, no classify pass # Target is not a Model, no classify
return target, target.__class__.__name__ return target, target.__class__.__name__ # type: ignore
def failsafe_deserialize(self, target_obj, data, content_type=None): def failsafe_deserialize(self, target_obj, data, content_type=None):
"""Ignores any errors encountered in deserialization, """Ignores any errors encountered in deserialization,
@ -1496,7 +1527,7 @@ class Deserializer(object):
a deserialization error. a deserialization error.
:param str target_obj: The target object type to deserialize to. :param str target_obj: The target object type to deserialize to.
:param str/dict data: The response data to deseralize. :param str/dict data: The response data to deserialize.
:param str content_type: Swagger "produces" if available. :param str content_type: Swagger "produces" if available.
""" """
try: try:
@ -1539,7 +1570,7 @@ class Deserializer(object):
if hasattr(raw_data, "_content_consumed"): if hasattr(raw_data, "_content_consumed"):
return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers)
if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): if isinstance(raw_data, (str, bytes)) or hasattr(raw_data, "read"):
return RawDeserializer.deserialize_from_text(raw_data, content_type) # type: ignore return RawDeserializer.deserialize_from_text(raw_data, content_type) # type: ignore
return raw_data return raw_data
@ -1613,7 +1644,7 @@ class Deserializer(object):
except (ValueError, TypeError, AttributeError) as err: except (ValueError, TypeError, AttributeError) as err:
msg = "Unable to deserialize response data." msg = "Unable to deserialize response data."
msg += " Data: {}, {}".format(data, data_type) msg += " Data: {}, {}".format(data, data_type)
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
return self._deserialize(obj_type, data) return self._deserialize(obj_type, data)
@ -1661,7 +1692,7 @@ class Deserializer(object):
if isinstance(attr, ET.Element): if isinstance(attr, ET.Element):
# Do no recurse on XML, just return the tree as-is # Do no recurse on XML, just return the tree as-is
return attr return attr
if isinstance(attr, basestring): if isinstance(attr, str):
return self.deserialize_basic(attr, "str") return self.deserialize_basic(attr, "str")
obj_type = type(attr) obj_type = type(attr)
if obj_type in self.basic_types: if obj_type in self.basic_types:
@ -1718,7 +1749,7 @@ class Deserializer(object):
if data_type == "bool": if data_type == "bool":
if attr in [True, False, 1, 0]: if attr in [True, False, 1, 0]:
return bool(attr) return bool(attr)
elif isinstance(attr, basestring): elif isinstance(attr, str):
if attr.lower() in ["true", "1"]: if attr.lower() in ["true", "1"]:
return True return True
elif attr.lower() in ["false", "0"]: elif attr.lower() in ["false", "0"]:
@ -1769,7 +1800,6 @@ class Deserializer(object):
data = data.value data = data.value
if isinstance(data, int): if isinstance(data, int):
# Workaround. We might consider remove it in the future. # Workaround. We might consider remove it in the future.
# https://github.com/Azure/azure-rest-api-specs/issues/141
try: try:
return list(enum_obj.__members__.values())[data] return list(enum_obj.__members__.values())[data]
except IndexError: except IndexError:
@ -1823,10 +1853,10 @@ class Deserializer(object):
if isinstance(attr, ET.Element): if isinstance(attr, ET.Element):
attr = attr.text attr = attr.text
try: try:
return decimal.Decimal(attr) # type: ignore return decimal.Decimal(str(attr)) # type: ignore
except decimal.DecimalException as err: except decimal.DecimalException as err:
msg = "Invalid decimal {}".format(attr) msg = "Invalid decimal {}".format(attr)
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
@staticmethod @staticmethod
def deserialize_long(attr): def deserialize_long(attr):
@ -1854,7 +1884,7 @@ class Deserializer(object):
duration = isodate.parse_duration(attr) duration = isodate.parse_duration(attr)
except (ValueError, OverflowError, AttributeError) as err: except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize duration object." msg = "Cannot deserialize duration object."
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
return duration return duration
@ -1871,7 +1901,7 @@ class Deserializer(object):
if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore if re.search(r"[^\W\d_]", attr, re.I + re.U): # type: ignore
raise DeserializationError("Date must have only digits and -. Received: %s" % attr) raise DeserializationError("Date must have only digits and -. Received: %s" % attr)
# This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception. # This must NOT use defaultmonth/defaultday. Using None ensure this raises an exception.
return isodate.parse_date(attr, defaultmonth=None, defaultday=None) return isodate.parse_date(attr, defaultmonth=0, defaultday=0)
@staticmethod @staticmethod
def deserialize_time(attr): def deserialize_time(attr):
@ -1906,7 +1936,7 @@ class Deserializer(object):
date_obj = date_obj.astimezone(tz=TZ_UTC) date_obj = date_obj.astimezone(tz=TZ_UTC)
except ValueError as err: except ValueError as err:
msg = "Cannot deserialize to rfc datetime object." msg = "Cannot deserialize to rfc datetime object."
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
return date_obj return date_obj
@ -1943,7 +1973,7 @@ class Deserializer(object):
raise OverflowError("Hit max or min date") raise OverflowError("Hit max or min date")
except (ValueError, OverflowError, AttributeError) as err: except (ValueError, OverflowError, AttributeError) as err:
msg = "Cannot deserialize datetime object." msg = "Cannot deserialize datetime object."
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
return date_obj return date_obj
@ -1959,9 +1989,10 @@ class Deserializer(object):
if isinstance(attr, ET.Element): if isinstance(attr, ET.Element):
attr = int(attr.text) # type: ignore attr = int(attr.text) # type: ignore
try: try:
attr = int(attr)
date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC) date_obj = datetime.datetime.fromtimestamp(attr, TZ_UTC)
except ValueError as err: except ValueError as err:
msg = "Cannot deserialize to unix datetime object." msg = "Cannot deserialize to unix datetime object."
raise_with_traceback(DeserializationError, msg, err) raise DeserializationError(msg) from err
else: else:
return date_obj return date_obj

Просмотреть файл

@ -14,14 +14,3 @@ def _convert_request(request, files=None):
if files: if files:
request.set_formdata_body(files) request.set_formdata_body(files)
return request return request
def _format_url_section(template, **kwargs):
components = template.split("/")
while components:
try:
return template.format(**kwargs)
except KeyError as key:
formatted_components = template.split("/")
components = [c for c in formatted_components if "{}".format(key.args[0]) not in c]
template = "/".join(components)

Просмотреть файл

@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
VERSION = "1.0.0b2" VERSION = "1.0.0"

Просмотреть файл

@ -6,7 +6,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from ._scvmm import SCVMM from ._sc_vmm_mgmt_client import ScVmmMgmtClient
try: try:
from ._patch import __all__ as _patch_all from ._patch import __all__ as _patch_all
@ -16,7 +16,7 @@ except ImportError:
from ._patch import patch_sdk as _patch_sdk from ._patch import patch_sdk as _patch_sdk
__all__ = [ __all__ = [
"SCVMM", "ScVmmMgmtClient",
] ]
__all__.extend([p for p in _patch_all if p not in __all__]) __all__.extend([p for p in _patch_all if p not in __all__])

Просмотреть файл

@ -6,44 +6,35 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
import sys
from typing import Any, TYPE_CHECKING from typing import Any, TYPE_CHECKING
from azure.core.configuration import Configuration
from azure.core.pipeline import policies from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy
from .._version import VERSION from .._version import VERSION
if sys.version_info >= (3, 8):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
if TYPE_CHECKING: if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports # pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential from azure.core.credentials_async import AsyncTokenCredential
class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-attributes class ScVmmMgmtClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long
"""Configuration for SCVMM. """Configuration for ScVmmMgmtClient.
Note that all parameters used to create this instance are saved as instance Note that all parameters used to create this instance are saved as instance
attributes. attributes.
:param credential: Credential needed for the client to connect to Azure. Required. :param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential :type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
00000000-0000-0000-0000-000000000000). Required.
:type subscription_id: str :type subscription_id: str
:keyword api_version: Api Version. Default value is "2020-06-05-preview". Note that overriding :keyword api_version: Api Version. Default value is "2023-10-07". Note that overriding this
this default value may result in unsupported behavior. default value may result in unsupported behavior.
:paramtype api_version: str :paramtype api_version: str
""" """
def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None: def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(SCVMMConfiguration, self).__init__(**kwargs) api_version: str = kwargs.pop("api_version", "2023-10-07")
api_version: Literal["2020-06-05-preview"] = kwargs.pop("api_version", "2020-06-05-preview")
if credential is None: if credential is None:
raise ValueError("Parameter 'credential' must not be None.") raise ValueError("Parameter 'credential' must not be None.")
@ -55,6 +46,7 @@ class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-at
self.api_version = api_version self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-scvmm/{}".format(VERSION)) kwargs.setdefault("sdk_moniker", "mgmt-scvmm/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs) self._configure(**kwargs)
def _configure(self, **kwargs: Any) -> None: def _configure(self, **kwargs: Any) -> None:
@ -63,9 +55,9 @@ class SCVMMConfiguration(Configuration): # pylint: disable=too-many-instance-at
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy") self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy: if self.credential and not self.authentication_policy:
self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(

Просмотреть файл

@ -25,6 +25,7 @@
# #
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# This file is used for handwritten extensions to the generated code. Example: # This file is used for handwritten extensions to the generated code. Example:
# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md # https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
def patch_sdk(): def patch_sdk():

Просмотреть файл

@ -9,20 +9,24 @@
from copy import deepcopy from copy import deepcopy
from typing import Any, Awaitable, TYPE_CHECKING from typing import Any, Awaitable, TYPE_CHECKING
from azure.core.pipeline import policies
from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.mgmt.core import AsyncARMPipelineClient from azure.mgmt.core import AsyncARMPipelineClient
from azure.mgmt.core.policies import AsyncARMAutoResourceProviderRegistrationPolicy
from .. import models as _models from .. import models as _models
from .._serialization import Deserializer, Serializer from .._serialization import Deserializer, Serializer
from ._configuration import SCVMMConfiguration from ._configuration import ScVmmMgmtClientConfiguration
from .operations import ( from .operations import (
AvailabilitySetsOperations, AvailabilitySetsOperations,
CloudsOperations, CloudsOperations,
GuestAgentsOperations,
InventoryItemsOperations, InventoryItemsOperations,
Operations, Operations,
VirtualMachineInstancesOperations,
VirtualMachineTemplatesOperations, VirtualMachineTemplatesOperations,
VirtualMachinesOperations,
VirtualNetworksOperations, VirtualNetworksOperations,
VmInstanceHybridIdentityMetadatasOperations,
VmmServersOperations, VmmServersOperations,
) )
@ -31,35 +35,41 @@ if TYPE_CHECKING:
from azure.core.credentials_async import AsyncTokenCredential from azure.core.credentials_async import AsyncTokenCredential
class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes class ScVmmMgmtClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
"""The Microsoft.ScVmm Rest API spec. """The Microsoft.ScVmm Rest API spec.
:ivar vmm_servers: VmmServersOperations operations :ivar virtual_machine_instances: VirtualMachineInstancesOperations operations
:vartype vmm_servers: azure.mgmt.scvmm.aio.operations.VmmServersOperations :vartype virtual_machine_instances:
azure.mgmt.scvmm.aio.operations.VirtualMachineInstancesOperations
:ivar guest_agents: GuestAgentsOperations operations
:vartype guest_agents: azure.mgmt.scvmm.aio.operations.GuestAgentsOperations
:ivar vm_instance_hybrid_identity_metadatas: VmInstanceHybridIdentityMetadatasOperations
operations
:vartype vm_instance_hybrid_identity_metadatas:
azure.mgmt.scvmm.aio.operations.VmInstanceHybridIdentityMetadatasOperations
:ivar operations: Operations operations :ivar operations: Operations operations
:vartype operations: azure.mgmt.scvmm.aio.operations.Operations :vartype operations: azure.mgmt.scvmm.aio.operations.Operations
:ivar availability_sets: AvailabilitySetsOperations operations
:vartype availability_sets: azure.mgmt.scvmm.aio.operations.AvailabilitySetsOperations
:ivar clouds: CloudsOperations operations :ivar clouds: CloudsOperations operations
:vartype clouds: azure.mgmt.scvmm.aio.operations.CloudsOperations :vartype clouds: azure.mgmt.scvmm.aio.operations.CloudsOperations
:ivar virtual_networks: VirtualNetworksOperations operations
:vartype virtual_networks: azure.mgmt.scvmm.aio.operations.VirtualNetworksOperations
:ivar virtual_machines: VirtualMachinesOperations operations
:vartype virtual_machines: azure.mgmt.scvmm.aio.operations.VirtualMachinesOperations
:ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations
:vartype virtual_machine_templates: :vartype virtual_machine_templates:
azure.mgmt.scvmm.aio.operations.VirtualMachineTemplatesOperations azure.mgmt.scvmm.aio.operations.VirtualMachineTemplatesOperations
:ivar availability_sets: AvailabilitySetsOperations operations :ivar virtual_networks: VirtualNetworksOperations operations
:vartype availability_sets: azure.mgmt.scvmm.aio.operations.AvailabilitySetsOperations :vartype virtual_networks: azure.mgmt.scvmm.aio.operations.VirtualNetworksOperations
:ivar vmm_servers: VmmServersOperations operations
:vartype vmm_servers: azure.mgmt.scvmm.aio.operations.VmmServersOperations
:ivar inventory_items: InventoryItemsOperations operations :ivar inventory_items: InventoryItemsOperations operations
:vartype inventory_items: azure.mgmt.scvmm.aio.operations.InventoryItemsOperations :vartype inventory_items: azure.mgmt.scvmm.aio.operations.InventoryItemsOperations
:param credential: Credential needed for the client to connect to Azure. Required. :param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials_async.AsyncTokenCredential :type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. :param subscription_id: The ID of the target subscription. The value must be an UUID. Required.
00000000-0000-0000-0000-000000000000). Required.
:type subscription_id: str :type subscription_id: str
:param base_url: Service URL. Default value is "https://management.azure.com". :param base_url: Service URL. Default value is "https://management.azure.com".
:type base_url: str :type base_url: str
:keyword api_version: Api Version. Default value is "2020-06-05-preview". Note that overriding :keyword api_version: Api Version. Default value is "2023-10-07". Note that overriding this
this default value may result in unsupported behavior. default value may result in unsupported behavior.
:paramtype api_version: str :paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present. Retry-After header is present.
@ -72,31 +82,55 @@ class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-inst
base_url: str = "https://management.azure.com", base_url: str = "https://management.azure.com",
**kwargs: Any **kwargs: Any
) -> None: ) -> None:
self._config = SCVMMConfiguration(credential=credential, subscription_id=subscription_id, **kwargs) self._config = ScVmmMgmtClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) _policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
policies.RequestIdPolicy(**kwargs),
self._config.headers_policy,
self._config.user_agent_policy,
self._config.proxy_policy,
policies.ContentDecodePolicy(**kwargs),
AsyncARMAutoResourceProviderRegistrationPolicy(),
self._config.redirect_policy,
self._config.retry_policy,
self._config.authentication_policy,
self._config.custom_hook_policy,
self._config.logging_policy,
policies.DistributedTracingPolicy(**kwargs),
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
self._config.http_logging_policy,
]
self._client: AsyncARMPipelineClient = AsyncARMPipelineClient(base_url=base_url, policies=_policies, **kwargs)
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)} client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models) self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models) self._deserialize = Deserializer(client_models)
self._serialize.client_side_validation = False self._serialize.client_side_validation = False
self.vmm_servers = VmmServersOperations(self._client, self._config, self._serialize, self._deserialize) self.virtual_machine_instances = VirtualMachineInstancesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.guest_agents = GuestAgentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.vm_instance_hybrid_identity_metadatas = VmInstanceHybridIdentityMetadatasOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.clouds = CloudsOperations(self._client, self._config, self._serialize, self._deserialize)
self.virtual_networks = VirtualNetworksOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_machines = VirtualMachinesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_machine_templates = VirtualMachineTemplatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.availability_sets = AvailabilitySetsOperations( self.availability_sets = AvailabilitySetsOperations(
self._client, self._config, self._serialize, self._deserialize self._client, self._config, self._serialize, self._deserialize
) )
self.clouds = CloudsOperations(self._client, self._config, self._serialize, self._deserialize)
self.virtual_machine_templates = VirtualMachineTemplatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.virtual_networks = VirtualNetworksOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.vmm_servers = VmmServersOperations(self._client, self._config, self._serialize, self._deserialize)
self.inventory_items = InventoryItemsOperations(self._client, self._config, self._serialize, self._deserialize) self.inventory_items = InventoryItemsOperations(self._client, self._config, self._serialize, self._deserialize)
def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: def _send_request(
self, request: HttpRequest, *, stream: bool = False, **kwargs: Any
) -> Awaitable[AsyncHttpResponse]:
"""Runs the network request through the client's chained policies. """Runs the network request through the client's chained policies.
>>> from azure.core.rest import HttpRequest >>> from azure.core.rest import HttpRequest
@ -116,14 +150,14 @@ class SCVMM: # pylint: disable=client-accepts-api-version-keyword,too-many-inst
request_copy = deepcopy(request) request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url) request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs) return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
async def close(self) -> None: async def close(self) -> None:
await self._client.close() await self._client.close()
async def __aenter__(self) -> "SCVMM": async def __aenter__(self) -> "ScVmmMgmtClient":
await self._client.__aenter__() await self._client.__aenter__()
return self return self
async def __aexit__(self, *exc_details) -> None: async def __aexit__(self, *exc_details: Any) -> None:
await self._client.__aexit__(*exc_details) await self._client.__aexit__(*exc_details)

Просмотреть файл

@ -6,13 +6,15 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from ._vmm_servers_operations import VmmServersOperations from ._virtual_machine_instances_operations import VirtualMachineInstancesOperations
from ._guest_agents_operations import GuestAgentsOperations
from ._vm_instance_hybrid_identity_metadatas_operations import VmInstanceHybridIdentityMetadatasOperations
from ._operations import Operations from ._operations import Operations
from ._clouds_operations import CloudsOperations
from ._virtual_networks_operations import VirtualNetworksOperations
from ._virtual_machines_operations import VirtualMachinesOperations
from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations
from ._availability_sets_operations import AvailabilitySetsOperations from ._availability_sets_operations import AvailabilitySetsOperations
from ._clouds_operations import CloudsOperations
from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations
from ._virtual_networks_operations import VirtualNetworksOperations
from ._vmm_servers_operations import VmmServersOperations
from ._inventory_items_operations import InventoryItemsOperations from ._inventory_items_operations import InventoryItemsOperations
from ._patch import __all__ as _patch_all from ._patch import __all__ as _patch_all
@ -20,13 +22,15 @@ from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk from ._patch import patch_sdk as _patch_sdk
__all__ = [ __all__ = [
"VmmServersOperations", "VirtualMachineInstancesOperations",
"GuestAgentsOperations",
"VmInstanceHybridIdentityMetadatasOperations",
"Operations", "Operations",
"CloudsOperations",
"VirtualNetworksOperations",
"VirtualMachinesOperations",
"VirtualMachineTemplatesOperations",
"AvailabilitySetsOperations", "AvailabilitySetsOperations",
"CloudsOperations",
"VirtualMachineTemplatesOperations",
"VirtualNetworksOperations",
"VmmServersOperations",
"InventoryItemsOperations", "InventoryItemsOperations",
] ]
__all__.extend([p for p in _patch_all if p not in __all__]) __all__.extend([p for p in _patch_all if p not in __all__])

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,430 @@
# pylint: disable=too-many-lines,too-many-statements
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from io import IOBase
import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
from azure.core.rest import HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
from ... import models as _models
from ..._vendor import _convert_request
from ...operations._guest_agents_operations import (
build_create_request,
build_delete_request,
build_get_request,
build_list_by_virtual_machine_instance_request,
)
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
class GuestAgentsOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.aio.ScVmmMgmtClient`'s
:attr:`guest_agents` attribute.
"""
models = _models
def __init__(self, *args, **kwargs) -> None:
input_args = list(args)
self._client = input_args.pop(0) if input_args else kwargs.pop("client")
self._config = input_args.pop(0) if input_args else kwargs.pop("config")
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
def list_by_virtual_machine_instance(self, resource_uri: str, **kwargs: Any) -> AsyncIterable["_models.GuestAgent"]:
"""Implements GET GuestAgent in a vm.
Returns the list of GuestAgent of the given vm.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: An iterator like instance of either GuestAgent or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.GuestAgentListResult] = kwargs.pop("cls", None)
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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_list_by_virtual_machine_instance_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
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), params=_next_request_params
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("GuestAgentListResult", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link 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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
@distributed_trace_async
async def get(self, resource_uri: str, **kwargs: Any) -> _models.GuestAgent:
"""Gets GuestAgent.
Implements GuestAgent GET method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: GuestAgent or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.GuestAgent
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
_request = build_get_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
async def _create_initial(
self, resource_uri: str, resource: Union[_models.GuestAgent, IO[bytes]], **kwargs: Any
) -> _models.GuestAgent:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(resource, (IOBase, bytes)):
_content = resource
else:
_json = self._serialize.body(resource, "GuestAgent")
_request = build_create_request(
resource_uri=resource_uri,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
response_headers = {}
if response.status_code == 200:
deserialized = self._deserialize("GuestAgent", pipeline_response)
if response.status_code == 201:
response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After"))
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, response_headers) # type: ignore
return deserialized # type: ignore
@overload
async def begin_create(
self, resource_uri: str, resource: _models.GuestAgent, *, content_type: str = "application/json", **kwargs: Any
) -> AsyncLROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:param resource: Resource create parameters. Required.
:type resource: ~azure.mgmt.scvmm.models.GuestAgent
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:return: An instance of AsyncLROPoller that returns either GuestAgent or the result of
cls(response)
:rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
async def begin_create(
self, resource_uri: str, resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any
) -> AsyncLROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: 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: An instance of AsyncLROPoller that returns either GuestAgent or the result of
cls(response)
:rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
async def begin_create(
self, resource_uri: str, resource: Union[_models.GuestAgent, IO[bytes]], **kwargs: Any
) -> AsyncLROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:param resource: Resource create parameters. Is either a GuestAgent type or a IO[bytes] type.
Required.
:type resource: ~azure.mgmt.scvmm.models.GuestAgent or IO[bytes]
:return: An instance of AsyncLROPoller that returns either GuestAgent or the result of
cls(response)
:rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_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", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = await self._create_initial(
resource_uri=resource_uri,
resource=resource,
api_version=api_version,
content_type=content_type,
cls=lambda x, y, z: x,
headers=_headers,
params=_params,
**kwargs
)
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method: AsyncPollingMethod = cast(
AsyncPollingMethod,
AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
)
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
polling_method = polling
if cont_token:
return AsyncLROPoller[_models.GuestAgent].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return AsyncLROPoller[_models.GuestAgent](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace_async
async def delete(self, resource_uri: str, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements
"""Deletes a GuestAgent resource.
Implements GuestAgent DELETE method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
_request = build_delete_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {}) # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines # pylint: disable=too-many-lines,too-many-statements
# coding=utf-8 # coding=utf-8
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved. # Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator. # Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from io import IOBase
import sys import sys
from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, Type, TypeVar, Union, overload
import urllib.parse import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -36,10 +37,10 @@ from ...operations._inventory_items_operations import (
build_list_by_vmm_server_request, build_list_by_vmm_server_request,
) )
if sys.version_info >= (3, 8): if sys.version_info >= (3, 9):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports from collections.abc import MutableMapping
else: else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T") T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -50,7 +51,7 @@ class InventoryItemsOperations:
**DO NOT** instantiate this class directly. **DO NOT** instantiate this class directly.
Instead, you should access the following operations through Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.aio.SCVMM`'s :class:`~azure.mgmt.scvmm.aio.ScVmmMgmtClient`'s
:attr:`inventory_items` attribute. :attr:`inventory_items` attribute.
""" """
@ -63,314 +64,19 @@ class InventoryItemsOperations:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@overload
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[_models.InventoryItem] = None,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Default value is None.
:type body: ~azure.mgmt.scvmm.models.InventoryItem
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[IO] = None,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Default value is None.
:type body: IO
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[Union[_models.InventoryItem, IO]] = None,
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Is either a model type or a IO type. Default value is None.
:type body: ~azure.mgmt.scvmm.models.InventoryItem or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(body, (IO, bytes)):
_content = body
else:
if body is not None:
_json = self._serialize.body(body, "InventoryItem")
else:
_json = None
request = build_create_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {})
return deserialized
create.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace_async
async def get(
self, resource_group_name: str, vmm_server_name: str, inventory_item_name: str, **kwargs: Any
) -> _models.InventoryItem:
"""Implements GET InventoryItem method.
Shows an inventory item.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
request = build_get_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {})
return deserialized
get.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace_async
async def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, vmm_server_name: str, inventory_item_name: str, **kwargs: Any
) -> None:
"""Implements inventoryItem DELETE method.
Deletes an inventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
request = build_delete_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
delete.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace @distributed_trace
def list_by_vmm_server( def list_by_vmm_server(
self, resource_group_name: str, vmm_server_name: str, **kwargs: Any self, resource_group_name: str, vmm_server_name: str, **kwargs: Any
) -> AsyncIterable["_models.InventoryItem"]: ) -> AsyncIterable["_models.InventoryItem"]:
"""Implements GET for the list of Inventory Items in the VMMServer. """Implements GET for the list of Inventory Items in the VMMServer.
Returns the list of inventoryItems in the given VMMServer. Returns the list of inventoryItems in the given VmmServer.
:param resource_group_name: The name of the resource group. Required. :param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str :type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required. :param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str :type vmm_server_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either InventoryItem or the result of cls(response) :return: An iterator like instance of either InventoryItem or the result of cls(response)
:rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.InventoryItem] :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.InventoryItem]
:raises ~azure.core.exceptions.HttpResponseError: :raises ~azure.core.exceptions.HttpResponseError:
@ -378,12 +84,10 @@ class InventoryItemsOperations:
_headers = kwargs.pop("headers", {}) or {} _headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
"api_version", _params.pop("api-version", self._config.api_version) cls: ClsType[_models.InventoryItemListResult] = kwargs.pop("cls", None)
)
cls: ClsType[_models.InventoryItemsList] = kwargs.pop("cls", None)
error_map = { error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError, 401: ClientAuthenticationError,
404: ResourceNotFoundError, 404: ResourceNotFoundError,
409: ResourceExistsError, 409: ResourceExistsError,
@ -394,17 +98,16 @@ class InventoryItemsOperations:
def prepare_request(next_link=None): def prepare_request(next_link=None):
if not next_link: if not next_link:
request = build_list_by_vmm_server_request( _request = build_list_by_vmm_server_request(
resource_group_name=resource_group_name, resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name, vmm_server_name=vmm_server_name,
subscription_id=self._config.subscription_id, subscription_id=self._config.subscription_id,
api_version=api_version, api_version=api_version,
template_url=self.list_by_vmm_server.metadata["url"],
headers=_headers, headers=_headers,
params=_params, params=_params,
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
else: else:
# make call to next link with the client's api-version # make call to next link with the client's api-version
@ -416,26 +119,27 @@ class InventoryItemsOperations:
} }
) )
_next_request_params["api-version"] = self._config.api_version _next_request_params["api-version"] = self._config.api_version
request = HttpRequest( _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
request.method = "GET" _request.method = "GET"
return request return _request
async def extract_data(pipeline_response): async def extract_data(pipeline_response):
deserialized = self._deserialize("InventoryItemsList", pipeline_response) deserialized = self._deserialize("InventoryItemListResult", pipeline_response)
list_of_elem = deserialized.value list_of_elem = deserialized.value
if cls: if cls:
list_of_elem = cls(list_of_elem) # type: ignore list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link or None, AsyncList(list_of_elem) return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None): async def get_next(next_link=None):
request = prepare_request(next_link) _request = prepare_request(next_link)
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **kwargs _request, stream=_stream, **kwargs
) )
response = pipeline_response.http_response response = pipeline_response.http_response
@ -448,6 +152,278 @@ class InventoryItemsOperations:
return AsyncItemPaged(get_next, extract_data) return AsyncItemPaged(get_next, extract_data)
list_by_vmm_server.metadata = { @distributed_trace_async
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems" async def get(
} self, resource_group_name: str, vmm_server_name: str, inventory_item_resource_name: str, **kwargs: Any
) -> _models.InventoryItem:
"""Implements GET InventoryItem method.
Shows an inventory item.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
_request = build_get_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@overload
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: _models.InventoryItem,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:param resource: Resource create parameters. Required.
:type resource: ~azure.mgmt.scvmm.models.InventoryItem
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: 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: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace_async
async def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: Union[_models.InventoryItem, IO[bytes]],
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:param resource: Resource create parameters. Is either a InventoryItem type or a IO[bytes]
type. Required.
:type resource: ~azure.mgmt.scvmm.models.InventoryItem or IO[bytes]
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(resource, (IOBase, bytes)):
_content = resource
else:
_json = self._serialize.body(resource, "InventoryItem")
_request = build_create_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("InventoryItem", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@distributed_trace_async
async def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, vmm_server_name: str, inventory_item_resource_name: str, **kwargs: Any
) -> None:
"""Implements inventoryItem DELETE method.
Deletes an inventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
_request = build_delete_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {}) # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines # pylint: disable=too-many-lines,too-many-statements
# coding=utf-8 # coding=utf-8
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved. # Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
import sys import sys
from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from typing import Any, AsyncIterable, Callable, Dict, Optional, Type, TypeVar
import urllib.parse import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList from azure.core.async_paging import AsyncItemPaged, AsyncList
@ -30,10 +30,10 @@ from ... import models as _models
from ..._vendor import _convert_request from ..._vendor import _convert_request
from ...operations._operations import build_list_request from ...operations._operations import build_list_request
if sys.version_info >= (3, 8): if sys.version_info >= (3, 9):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports from collections.abc import MutableMapping
else: else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T") T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
@ -44,7 +44,7 @@ class Operations:
**DO NOT** instantiate this class directly. **DO NOT** instantiate this class directly.
Instead, you should access the following operations through Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.aio.SCVMM`'s :class:`~azure.mgmt.scvmm.aio.ScVmmMgmtClient`'s
:attr:`operations` attribute. :attr:`operations` attribute.
""" """
@ -58,25 +58,20 @@ class Operations:
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace @distributed_trace
def list(self, **kwargs: Any) -> AsyncIterable["_models.ResourceProviderOperation"]: def list(self, **kwargs: Any) -> AsyncIterable["_models.Operation"]:
"""Returns list of all operations. """List the operations for the provider.
:keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Operation or the result of cls(response)
:return: An iterator like instance of either ResourceProviderOperation or the result of :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.Operation]
cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.ResourceProviderOperation]
:raises ~azure.core.exceptions.HttpResponseError: :raises ~azure.core.exceptions.HttpResponseError:
""" """
_headers = kwargs.pop("headers", {}) or {} _headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
"api_version", _params.pop("api-version", self._config.api_version) cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None)
)
cls: ClsType[_models.ResourceProviderOperationList] = kwargs.pop("cls", None)
error_map = { error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError, 401: ClientAuthenticationError,
404: ResourceNotFoundError, 404: ResourceNotFoundError,
409: ResourceExistsError, 409: ResourceExistsError,
@ -87,14 +82,13 @@ class Operations:
def prepare_request(next_link=None): def prepare_request(next_link=None):
if not next_link: if not next_link:
request = build_list_request( _request = build_list_request(
api_version=api_version, api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers, headers=_headers,
params=_params, params=_params,
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
else: else:
# make call to next link with the client's api-version # make call to next link with the client's api-version
@ -106,26 +100,27 @@ class Operations:
} }
) )
_next_request_params["api-version"] = self._config.api_version _next_request_params["api-version"] = self._config.api_version
request = HttpRequest( _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
request.method = "GET" _request.method = "GET"
return request return _request
async def extract_data(pipeline_response): async def extract_data(pipeline_response):
deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) deserialized = self._deserialize("OperationListResult", pipeline_response)
list_of_elem = deserialized.value list_of_elem = deserialized.value
if cls: if cls:
list_of_elem = cls(list_of_elem) # type: ignore list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link or None, AsyncList(list_of_elem) return deserialized.next_link or None, AsyncList(list_of_elem)
async def get_next(next_link=None): async def get_next(next_link=None):
request = prepare_request(next_link) _request = prepare_request(next_link)
_stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **kwargs _request, stream=_stream, **kwargs
) )
response = pipeline_response.http_response response = pipeline_response.http_response
@ -137,5 +132,3 @@ class Operations:
return pipeline_response return pipeline_response
return AsyncItemPaged(get_next, extract_data) return AsyncItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.ScVmm/operations"}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,203 @@
# pylint: disable=too-many-lines,too-many-statements
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, AsyncIterable, Callable, Dict, Optional, Type, TypeVar
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
map_error,
)
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import AsyncHttpResponse
from azure.core.rest import HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.tracing.decorator_async import distributed_trace_async
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from ... import models as _models
from ..._vendor import _convert_request
from ...operations._vm_instance_hybrid_identity_metadatas_operations import (
build_get_request,
build_list_by_virtual_machine_instance_request,
)
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
class VmInstanceHybridIdentityMetadatasOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.aio.ScVmmMgmtClient`'s
:attr:`vm_instance_hybrid_identity_metadatas` attribute.
"""
models = _models
def __init__(self, *args, **kwargs) -> None:
input_args = list(args)
self._client = input_args.pop(0) if input_args else kwargs.pop("client")
self._config = input_args.pop(0) if input_args else kwargs.pop("config")
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
def list_by_virtual_machine_instance(
self, resource_uri: str, **kwargs: Any
) -> AsyncIterable["_models.VmInstanceHybridIdentityMetadata"]:
"""Implements GET HybridIdentityMetadata in a vm.
Returns the list of HybridIdentityMetadata of the given VM.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: An iterator like instance of either VmInstanceHybridIdentityMetadata or the result of
cls(response)
:rtype:
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.scvmm.models.VmInstanceHybridIdentityMetadata]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.VmInstanceHybridIdentityMetadataListResult] = kwargs.pop("cls", None)
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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_list_by_virtual_machine_instance_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
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), params=_next_request_params
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
async def extract_data(pipeline_response):
deserialized = self._deserialize("VmInstanceHybridIdentityMetadataListResult", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link 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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return AsyncItemPaged(get_next, extract_data)
@distributed_trace_async
async def get(self, resource_uri: str, **kwargs: Any) -> _models.VmInstanceHybridIdentityMetadata:
"""Gets HybridIdentityMetadata.
Implements HybridIdentityMetadata GET method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: VmInstanceHybridIdentityMetadata or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.VmInstanceHybridIdentityMetadata
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.VmInstanceHybridIdentityMetadata] = kwargs.pop("cls", None)
_request = build_get_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("VmInstanceHybridIdentityMetadata", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -9,65 +9,95 @@
from ._models_py3 import AvailabilitySet from ._models_py3 import AvailabilitySet
from ._models_py3 import AvailabilitySetListItem from ._models_py3 import AvailabilitySetListItem
from ._models_py3 import AvailabilitySetListResult from ._models_py3 import AvailabilitySetListResult
from ._models_py3 import AvailabilitySetProperties
from ._models_py3 import AvailabilitySetTagsUpdate
from ._models_py3 import Checkpoint from ._models_py3 import Checkpoint
from ._models_py3 import Cloud from ._models_py3 import Cloud
from ._models_py3 import CloudCapacity from ._models_py3 import CloudCapacity
from ._models_py3 import CloudInventoryItem from ._models_py3 import CloudInventoryItem
from ._models_py3 import CloudListResult from ._models_py3 import CloudListResult
from ._models_py3 import ErrorDefinition from ._models_py3 import CloudProperties
from ._models_py3 import CloudTagsUpdate
from ._models_py3 import ErrorAdditionalInfo
from ._models_py3 import ErrorDetail
from ._models_py3 import ErrorResponse from ._models_py3 import ErrorResponse
from ._models_py3 import ExtendedLocation from ._models_py3 import ExtendedLocation
from ._models_py3 import GuestAgent
from ._models_py3 import GuestAgentListResult
from ._models_py3 import GuestAgentProperties
from ._models_py3 import GuestCredential
from ._models_py3 import HardwareProfile from ._models_py3 import HardwareProfile
from ._models_py3 import HardwareProfileUpdate from ._models_py3 import HardwareProfileUpdate
from ._models_py3 import HttpProxyConfiguration
from ._models_py3 import InfrastructureProfile
from ._models_py3 import InfrastructureProfileUpdate
from ._models_py3 import InventoryItem from ._models_py3 import InventoryItem
from ._models_py3 import InventoryItemDetails from ._models_py3 import InventoryItemDetails
from ._models_py3 import InventoryItemListResult
from ._models_py3 import InventoryItemProperties from ._models_py3 import InventoryItemProperties
from ._models_py3 import InventoryItemsList from ._models_py3 import NetworkInterface
from ._models_py3 import NetworkInterfaces from ._models_py3 import NetworkInterfaceUpdate
from ._models_py3 import NetworkInterfacesUpdate
from ._models_py3 import NetworkProfile from ._models_py3 import NetworkProfile
from ._models_py3 import NetworkProfileUpdate from ._models_py3 import NetworkProfileUpdate
from ._models_py3 import OsProfile from ._models_py3 import Operation
from ._models_py3 import OperationDisplay
from ._models_py3 import OperationListResult
from ._models_py3 import OsProfileForVmInstance
from ._models_py3 import ProxyResource from ._models_py3 import ProxyResource
from ._models_py3 import Resource from ._models_py3 import Resource
from ._models_py3 import ResourcePatch
from ._models_py3 import ResourceProviderOperation
from ._models_py3 import ResourceProviderOperationDisplay
from ._models_py3 import ResourceProviderOperationList
from ._models_py3 import StopVirtualMachineOptions from ._models_py3 import StopVirtualMachineOptions
from ._models_py3 import StorageProfile from ._models_py3 import StorageProfile
from ._models_py3 import StorageProfileUpdate from ._models_py3 import StorageProfileUpdate
from ._models_py3 import StorageQoSPolicy from ._models_py3 import StorageQosPolicy
from ._models_py3 import StorageQoSPolicyDetails from ._models_py3 import StorageQosPolicyDetails
from ._models_py3 import SystemData from ._models_py3 import SystemData
from ._models_py3 import VMMServer from ._models_py3 import TrackedResource
from ._models_py3 import VMMServerListResult
from ._models_py3 import VMMServerPropertiesCredentials
from ._models_py3 import VirtualDisk from ._models_py3 import VirtualDisk
from ._models_py3 import VirtualDiskUpdate from ._models_py3 import VirtualDiskUpdate
from ._models_py3 import VirtualMachine
from ._models_py3 import VirtualMachineCreateCheckpoint from ._models_py3 import VirtualMachineCreateCheckpoint
from ._models_py3 import VirtualMachineDeleteCheckpoint from ._models_py3 import VirtualMachineDeleteCheckpoint
from ._models_py3 import VirtualMachineInstance
from ._models_py3 import VirtualMachineInstanceListResult
from ._models_py3 import VirtualMachineInstanceProperties
from ._models_py3 import VirtualMachineInstanceUpdate
from ._models_py3 import VirtualMachineInstanceUpdateProperties
from ._models_py3 import VirtualMachineInventoryItem from ._models_py3 import VirtualMachineInventoryItem
from ._models_py3 import VirtualMachineListResult
from ._models_py3 import VirtualMachineRestoreCheckpoint from ._models_py3 import VirtualMachineRestoreCheckpoint
from ._models_py3 import VirtualMachineTemplate from ._models_py3 import VirtualMachineTemplate
from ._models_py3 import VirtualMachineTemplateInventoryItem from ._models_py3 import VirtualMachineTemplateInventoryItem
from ._models_py3 import VirtualMachineTemplateListResult from ._models_py3 import VirtualMachineTemplateListResult
from ._models_py3 import VirtualMachineUpdate from ._models_py3 import VirtualMachineTemplateProperties
from ._models_py3 import VirtualMachineUpdateProperties from ._models_py3 import VirtualMachineTemplateTagsUpdate
from ._models_py3 import VirtualNetwork from ._models_py3 import VirtualNetwork
from ._models_py3 import VirtualNetworkInventoryItem from ._models_py3 import VirtualNetworkInventoryItem
from ._models_py3 import VirtualNetworkListResult from ._models_py3 import VirtualNetworkListResult
from ._models_py3 import VirtualNetworkProperties
from ._models_py3 import VirtualNetworkTagsUpdate
from ._models_py3 import VmInstanceHybridIdentityMetadata
from ._models_py3 import VmInstanceHybridIdentityMetadataListResult
from ._models_py3 import VmInstanceHybridIdentityMetadataProperties
from ._models_py3 import VmmCredential
from ._models_py3 import VmmServer
from ._models_py3 import VmmServerListResult
from ._models_py3 import VmmServerProperties
from ._models_py3 import VmmServerTagsUpdate
from ._scvmm_enums import AllocationMethod from ._sc_vmm_mgmt_client_enums import ActionType
from ._scvmm_enums import CreateDiffDisk from ._sc_vmm_mgmt_client_enums import AllocationMethod
from ._scvmm_enums import CreatedByType from ._sc_vmm_mgmt_client_enums import CreateDiffDisk
from ._scvmm_enums import DynamicMemoryEnabled from ._sc_vmm_mgmt_client_enums import CreatedByType
from ._scvmm_enums import InventoryType from ._sc_vmm_mgmt_client_enums import DeleteFromHost
from ._scvmm_enums import IsCustomizable from ._sc_vmm_mgmt_client_enums import DynamicMemoryEnabled
from ._scvmm_enums import LimitCpuForMigration from ._sc_vmm_mgmt_client_enums import ForceDelete
from ._scvmm_enums import OsType from ._sc_vmm_mgmt_client_enums import InventoryType
from ._sc_vmm_mgmt_client_enums import IsCustomizable
from ._sc_vmm_mgmt_client_enums import IsHighlyAvailable
from ._sc_vmm_mgmt_client_enums import LimitCpuForMigration
from ._sc_vmm_mgmt_client_enums import Origin
from ._sc_vmm_mgmt_client_enums import OsType
from ._sc_vmm_mgmt_client_enums import ProvisioningAction
from ._sc_vmm_mgmt_client_enums import ProvisioningState
from ._sc_vmm_mgmt_client_enums import SkipShutdown
from ._patch import __all__ as _patch_all from ._patch import __all__ as _patch_all
from ._patch import * # pylint: disable=unused-wildcard-import from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk from ._patch import patch_sdk as _patch_sdk
@ -76,64 +106,94 @@ __all__ = [
"AvailabilitySet", "AvailabilitySet",
"AvailabilitySetListItem", "AvailabilitySetListItem",
"AvailabilitySetListResult", "AvailabilitySetListResult",
"AvailabilitySetProperties",
"AvailabilitySetTagsUpdate",
"Checkpoint", "Checkpoint",
"Cloud", "Cloud",
"CloudCapacity", "CloudCapacity",
"CloudInventoryItem", "CloudInventoryItem",
"CloudListResult", "CloudListResult",
"ErrorDefinition", "CloudProperties",
"CloudTagsUpdate",
"ErrorAdditionalInfo",
"ErrorDetail",
"ErrorResponse", "ErrorResponse",
"ExtendedLocation", "ExtendedLocation",
"GuestAgent",
"GuestAgentListResult",
"GuestAgentProperties",
"GuestCredential",
"HardwareProfile", "HardwareProfile",
"HardwareProfileUpdate", "HardwareProfileUpdate",
"HttpProxyConfiguration",
"InfrastructureProfile",
"InfrastructureProfileUpdate",
"InventoryItem", "InventoryItem",
"InventoryItemDetails", "InventoryItemDetails",
"InventoryItemListResult",
"InventoryItemProperties", "InventoryItemProperties",
"InventoryItemsList", "NetworkInterface",
"NetworkInterfaces", "NetworkInterfaceUpdate",
"NetworkInterfacesUpdate",
"NetworkProfile", "NetworkProfile",
"NetworkProfileUpdate", "NetworkProfileUpdate",
"OsProfile", "Operation",
"OperationDisplay",
"OperationListResult",
"OsProfileForVmInstance",
"ProxyResource", "ProxyResource",
"Resource", "Resource",
"ResourcePatch",
"ResourceProviderOperation",
"ResourceProviderOperationDisplay",
"ResourceProviderOperationList",
"StopVirtualMachineOptions", "StopVirtualMachineOptions",
"StorageProfile", "StorageProfile",
"StorageProfileUpdate", "StorageProfileUpdate",
"StorageQoSPolicy", "StorageQosPolicy",
"StorageQoSPolicyDetails", "StorageQosPolicyDetails",
"SystemData", "SystemData",
"VMMServer", "TrackedResource",
"VMMServerListResult",
"VMMServerPropertiesCredentials",
"VirtualDisk", "VirtualDisk",
"VirtualDiskUpdate", "VirtualDiskUpdate",
"VirtualMachine",
"VirtualMachineCreateCheckpoint", "VirtualMachineCreateCheckpoint",
"VirtualMachineDeleteCheckpoint", "VirtualMachineDeleteCheckpoint",
"VirtualMachineInstance",
"VirtualMachineInstanceListResult",
"VirtualMachineInstanceProperties",
"VirtualMachineInstanceUpdate",
"VirtualMachineInstanceUpdateProperties",
"VirtualMachineInventoryItem", "VirtualMachineInventoryItem",
"VirtualMachineListResult",
"VirtualMachineRestoreCheckpoint", "VirtualMachineRestoreCheckpoint",
"VirtualMachineTemplate", "VirtualMachineTemplate",
"VirtualMachineTemplateInventoryItem", "VirtualMachineTemplateInventoryItem",
"VirtualMachineTemplateListResult", "VirtualMachineTemplateListResult",
"VirtualMachineUpdate", "VirtualMachineTemplateProperties",
"VirtualMachineUpdateProperties", "VirtualMachineTemplateTagsUpdate",
"VirtualNetwork", "VirtualNetwork",
"VirtualNetworkInventoryItem", "VirtualNetworkInventoryItem",
"VirtualNetworkListResult", "VirtualNetworkListResult",
"VirtualNetworkProperties",
"VirtualNetworkTagsUpdate",
"VmInstanceHybridIdentityMetadata",
"VmInstanceHybridIdentityMetadataListResult",
"VmInstanceHybridIdentityMetadataProperties",
"VmmCredential",
"VmmServer",
"VmmServerListResult",
"VmmServerProperties",
"VmmServerTagsUpdate",
"ActionType",
"AllocationMethod", "AllocationMethod",
"CreateDiffDisk", "CreateDiffDisk",
"CreatedByType", "CreatedByType",
"DeleteFromHost",
"DynamicMemoryEnabled", "DynamicMemoryEnabled",
"ForceDelete",
"InventoryType", "InventoryType",
"IsCustomizable", "IsCustomizable",
"IsHighlyAvailable",
"LimitCpuForMigration", "LimitCpuForMigration",
"Origin",
"OsType", "OsType",
"ProvisioningAction",
"ProvisioningState",
"SkipShutdown",
] ]
__all__.extend([p for p in _patch_all if p not in __all__]) __all__.extend([p for p in _patch_all if p not in __all__])
_patch_sdk() _patch_sdk()

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,174 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from enum import Enum
from azure.core import CaseInsensitiveEnumMeta
class ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs."""
INTERNAL = "Internal"
class AllocationMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Network address allocation method."""
DYNAMIC = "Dynamic"
"""Dynamically allocated address."""
STATIC = "Static"
"""Statically allocated address."""
class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of identity that created the resource."""
USER = "User"
APPLICATION = "Application"
MANAGED_IDENTITY = "ManagedIdentity"
KEY = "Key"
class CreateDiffDisk(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Create diff disk."""
TRUE = "true"
"""Enable create diff disk."""
FALSE = "false"
"""Disable create diff disk."""
class DeleteFromHost(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""DeleteFromHost."""
TRUE = "true"
"""Enable delete from host."""
FALSE = "false"
"""Disable delete from host."""
class DynamicMemoryEnabled(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Dynamic memory enabled."""
TRUE = "true"
"""Enable dynamic memory."""
FALSE = "false"
"""Disable dynamic memory."""
class ForceDelete(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""ForceDelete."""
TRUE = "true"
"""Enable force delete."""
FALSE = "false"
"""Disable force delete."""
class InventoryType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The inventory type."""
CLOUD = "Cloud"
"""Cloud inventory type"""
VIRTUAL_NETWORK = "VirtualNetwork"
"""VirtualNetwork inventory type"""
VIRTUAL_MACHINE = "VirtualMachine"
"""VirtualMachine inventory type"""
VIRTUAL_MACHINE_TEMPLATE = "VirtualMachineTemplate"
"""VirtualMachineTemplate inventory type"""
class IsCustomizable(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Customizable."""
TRUE = "true"
"""Enable customizable."""
FALSE = "false"
"""Disable customizable."""
class IsHighlyAvailable(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Highly available."""
TRUE = "true"
"""Enable highly available."""
FALSE = "false"
"""Disable highly available."""
class LimitCpuForMigration(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Limit CPU for migration."""
TRUE = "true"
"""Enable limit CPU for migration."""
FALSE = "false"
"""Disable limit CPU for migration."""
class Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit
logs UX. Default value is "user,system".
"""
USER = "user"
SYSTEM = "system"
USER_SYSTEM = "user,system"
class OsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Virtual machine operating system type."""
WINDOWS = "Windows"
"""Windows operating system."""
LINUX = "Linux"
"""Linux operating system."""
OTHER = "Other"
"""Other operating system."""
class ProvisioningAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Guest agent provisioning action."""
INSTALL = "install"
"""Install guest agent."""
UNINSTALL = "uninstall"
"""Uninstall guest agent."""
REPAIR = "repair"
"""Repair guest agent."""
class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The provisioning state of the resource."""
SUCCEEDED = "Succeeded"
"""Resource has been created."""
FAILED = "Failed"
"""Resource creation failed."""
CANCELED = "Canceled"
"""Resource creation was canceled."""
PROVISIONING = "Provisioning"
"""The resource is provisioning."""
UPDATING = "Updating"
"""The resource is updating."""
DELETING = "Deleting"
"""The resource is being deleted."""
ACCEPTED = "Accepted"
"""The resource has been accepted."""
CREATED = "Created"
"""The resource was created."""
class SkipShutdown(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Gets or sets a value indicating whether to request non-graceful VM shutdown. True value for
this flag indicates non-graceful shutdown whereas false indicates otherwise. Defaults to false.
"""
TRUE = "true"
"""Enable skip shutdown."""
FALSE = "false"
"""Disable skip shutdown."""

Просмотреть файл

@ -1,73 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from enum import Enum
from azure.core import CaseInsensitiveEnumMeta
class AllocationMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Allocation method."""
DYNAMIC = "Dynamic"
STATIC = "Static"
class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The type of identity that created the resource."""
USER = "User"
APPLICATION = "Application"
MANAGED_IDENTITY = "ManagedIdentity"
KEY = "Key"
class CreateDiffDisk(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Gets or sets a value indicating diff disk."""
FALSE = "false"
TRUE = "true"
class DynamicMemoryEnabled(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Gets or sets a value indicating whether to enable dynamic memory or not."""
FALSE = "false"
TRUE = "true"
class InventoryType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The inventory type."""
CLOUD = "Cloud"
VIRTUAL_NETWORK = "VirtualNetwork"
VIRTUAL_MACHINE_TEMPLATE = "VirtualMachineTemplate"
VIRTUAL_MACHINE = "VirtualMachine"
class IsCustomizable(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Gets or sets a value indicating whether the vm template is customizable or not."""
FALSE = "false"
TRUE = "true"
class LimitCpuForMigration(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Gets or sets a value indicating whether to enable processor compatibility mode for live
migration of VMs.
"""
FALSE = "false"
TRUE = "true"
class OsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Defines the different types of VM guest operating systems."""
WINDOWS = "Windows"
LINUX = "Linux"
OTHER = "Other"

Просмотреть файл

@ -6,13 +6,15 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from ._vmm_servers_operations import VmmServersOperations from ._virtual_machine_instances_operations import VirtualMachineInstancesOperations
from ._guest_agents_operations import GuestAgentsOperations
from ._vm_instance_hybrid_identity_metadatas_operations import VmInstanceHybridIdentityMetadatasOperations
from ._operations import Operations from ._operations import Operations
from ._clouds_operations import CloudsOperations
from ._virtual_networks_operations import VirtualNetworksOperations
from ._virtual_machines_operations import VirtualMachinesOperations
from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations
from ._availability_sets_operations import AvailabilitySetsOperations from ._availability_sets_operations import AvailabilitySetsOperations
from ._clouds_operations import CloudsOperations
from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations
from ._virtual_networks_operations import VirtualNetworksOperations
from ._vmm_servers_operations import VmmServersOperations
from ._inventory_items_operations import InventoryItemsOperations from ._inventory_items_operations import InventoryItemsOperations
from ._patch import __all__ as _patch_all from ._patch import __all__ as _patch_all
@ -20,13 +22,15 @@ from ._patch import * # pylint: disable=unused-wildcard-import
from ._patch import patch_sdk as _patch_sdk from ._patch import patch_sdk as _patch_sdk
__all__ = [ __all__ = [
"VmmServersOperations", "VirtualMachineInstancesOperations",
"GuestAgentsOperations",
"VmInstanceHybridIdentityMetadatasOperations",
"Operations", "Operations",
"CloudsOperations",
"VirtualNetworksOperations",
"VirtualMachinesOperations",
"VirtualMachineTemplatesOperations",
"AvailabilitySetsOperations", "AvailabilitySetsOperations",
"CloudsOperations",
"VirtualMachineTemplatesOperations",
"VirtualNetworksOperations",
"VmmServersOperations",
"InventoryItemsOperations", "InventoryItemsOperations",
] ]
__all__.extend([p for p in _patch_all if p not in __all__]) __all__.extend([p for p in _patch_all if p not in __all__])

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,532 @@
# pylint: disable=too-many-lines,too-many-statements
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from io import IOBase
import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, Type, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.polling import LROPoller, NoPolling, PollingMethod
from azure.core.rest import HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
from .._vendor import _convert_request
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
_SERIALIZER = Serializer()
_SERIALIZER.client_side_validation = False
def build_list_by_virtual_machine_instance_request( # pylint: disable=name-too-long
resource_uri: 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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url", "/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/guestAgents"
)
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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_get_request(resource_uri: 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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url", "/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/guestAgents/default"
) # pylint: disable=line-too-long
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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_create_request(resource_uri: 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", "2023-10-07"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url", "/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/guestAgents/default"
) # pylint: disable=line-too-long
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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_delete_request(resource_uri: 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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url", "/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/guestAgents/default"
) # pylint: disable=line-too-long
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
class GuestAgentsOperations:
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.ScVmmMgmtClient`'s
:attr:`guest_agents` attribute.
"""
models = _models
def __init__(self, *args, **kwargs):
input_args = list(args)
self._client = input_args.pop(0) if input_args else kwargs.pop("client")
self._config = input_args.pop(0) if input_args else kwargs.pop("config")
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
def list_by_virtual_machine_instance(self, resource_uri: str, **kwargs: Any) -> Iterable["_models.GuestAgent"]:
"""Implements GET GuestAgent in a vm.
Returns the list of GuestAgent of the given vm.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: An iterator like instance of either GuestAgent or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.GuestAgentListResult] = kwargs.pop("cls", None)
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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_list_by_virtual_machine_instance_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
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), params=_next_request_params
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("GuestAgentListResult", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link 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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return ItemPaged(get_next, extract_data)
@distributed_trace
def get(self, resource_uri: str, **kwargs: Any) -> _models.GuestAgent:
"""Gets GuestAgent.
Implements GuestAgent GET method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: GuestAgent or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.GuestAgent
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
_request = build_get_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
def _create_initial(
self, resource_uri: str, resource: Union[_models.GuestAgent, IO[bytes]], **kwargs: Any
) -> _models.GuestAgent:
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(resource, (IOBase, bytes)):
_content = resource
else:
_json = self._serialize.body(resource, "GuestAgent")
_request = build_create_request(
resource_uri=resource_uri,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
response_headers = {}
if response.status_code == 200:
deserialized = self._deserialize("GuestAgent", pipeline_response)
if response.status_code == 201:
response_headers["Retry-After"] = self._deserialize("int", response.headers.get("Retry-After"))
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, response_headers) # type: ignore
return deserialized # type: ignore
@overload
def begin_create(
self, resource_uri: str, resource: _models.GuestAgent, *, content_type: str = "application/json", **kwargs: Any
) -> LROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:param resource: Resource create parameters. Required.
:type resource: ~azure.mgmt.scvmm.models.GuestAgent
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:return: An instance of LROPoller that returns either GuestAgent or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
def begin_create(
self, resource_uri: str, resource: IO[bytes], *, content_type: str = "application/json", **kwargs: Any
) -> LROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: 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: An instance of LROPoller that returns either GuestAgent or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
def begin_create(
self, resource_uri: str, resource: Union[_models.GuestAgent, IO[bytes]], **kwargs: Any
) -> LROPoller[_models.GuestAgent]:
"""Implements GuestAgent PUT method.
Create Or Update GuestAgent.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:param resource: Resource create parameters. Is either a GuestAgent type or a IO[bytes] type.
Required.
:type resource: ~azure.mgmt.scvmm.models.GuestAgent or IO[bytes]
:return: An instance of LROPoller that returns either GuestAgent or the result of cls(response)
:rtype: ~azure.core.polling.LROPoller[~azure.mgmt.scvmm.models.GuestAgent]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_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", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.GuestAgent] = kwargs.pop("cls", None)
polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
cont_token: Optional[str] = kwargs.pop("continuation_token", None)
if cont_token is None:
raw_result = self._create_initial(
resource_uri=resource_uri,
resource=resource,
api_version=api_version,
content_type=content_type,
cls=lambda x, y, z: x,
headers=_headers,
params=_params,
**kwargs
)
kwargs.pop("error_map", None)
def get_long_running_output(pipeline_response):
deserialized = self._deserialize("GuestAgent", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized
if polling is True:
polling_method: PollingMethod = cast(
PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
)
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
polling_method = polling
if cont_token:
return LROPoller[_models.GuestAgent].from_continuation_token(
polling_method=polling_method,
continuation_token=cont_token,
client=self._client,
deserialization_callback=get_long_running_output,
)
return LROPoller[_models.GuestAgent](
self._client, raw_result, get_long_running_output, polling_method # type: ignore
)
@distributed_trace
def delete(self, resource_uri: str, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements
"""Deletes a GuestAgent resource.
Implements GuestAgent DELETE method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
_request = build_delete_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {}) # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines # pylint: disable=too-many-lines,too-many-statements
# coding=utf-8 # coding=utf-8
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved. # Copyright (c) Microsoft Corporation. All rights reserved.
@ -6,8 +6,9 @@
# Code generated by Microsoft (R) AutoRest Code Generator. # Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from io import IOBase
import sys import sys
from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload from typing import Any, Callable, Dict, IO, Iterable, Optional, Type, TypeVar, Union, overload
import urllib.parse import urllib.parse
from azure.core.exceptions import ( from azure.core.exceptions import (
@ -28,12 +29,12 @@ from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models from .. import models as _models
from .._serialization import Serializer from .._serialization import Serializer
from .._vendor import _convert_request, _format_url_section from .._vendor import _convert_request
if sys.version_info >= (3, 8): if sys.version_info >= (3, 9):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports from collections.abc import MutableMapping
else: else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T") T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -41,31 +42,122 @@ _SERIALIZER = Serializer()
_SERIALIZER.client_side_validation = False _SERIALIZER.client_side_validation = False
def build_create_request( def build_list_by_vmm_server_request(
resource_group_name: str, vmm_server_name: str, inventory_item_name: str, subscription_id: str, **kwargs: Any resource_group_name: str, vmm_server_name: str, subscription_id: str, **kwargs: Any
) -> HttpRequest: ) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-10-07"))
"api_version", _params.pop("api-version", "2020-06-05-preview") accept = _headers.pop("Accept", "application/json")
)
# Construct URL
_url = kwargs.pop(
"template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems",
) # pylint: disable=line-too-long
path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
"vmmServerName": _SERIALIZER.url(
"vmm_server_name", vmm_server_name, "str", max_length=54, min_length=1, pattern=r"[a-zA-Z0-9-_\.]"
),
}
_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_get_request(
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemResourceName}",
) # pylint: disable=line-too-long
path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
"vmmServerName": _SERIALIZER.url(
"vmm_server_name", vmm_server_name, "str", max_length=54, min_length=1, pattern=r"[a-zA-Z0-9-_\.]"
),
"inventoryItemResourceName": _SERIALIZER.url(
"inventory_item_resource_name",
inventory_item_resource_name,
"str",
pattern=r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
),
}
_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_create_request(
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_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", "2023-10-07"))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json") accept = _headers.pop("Accept", "application/json")
# Construct URL # Construct URL
_url = kwargs.pop( _url = kwargs.pop(
"template_url", "template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemResourceName}",
) # pylint: disable=line-too-long ) # pylint: disable=line-too-long
path_format_arguments = { path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceGroupName": _SERIALIZER.url(
"vmmServerName": _SERIALIZER.url("vmm_server_name", vmm_server_name, "str"), "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
"inventoryItemName": _SERIALIZER.url("inventory_item_name", inventory_item_name, "str"), ),
"vmmServerName": _SERIALIZER.url(
"vmm_server_name", vmm_server_name, "str", max_length=54, min_length=1, pattern=r"[a-zA-Z0-9-_\.]"
),
"inventoryItemResourceName": _SERIALIZER.url(
"inventory_item_resource_name",
inventory_item_resource_name,
"str",
pattern=r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
),
} }
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters # Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -78,64 +170,41 @@ def build_create_request(
return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
def build_get_request(
resource_group_name: str, vmm_server_name: str, inventory_item_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: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", "2020-06-05-preview")
)
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}",
) # pylint: disable=line-too-long
path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"),
"vmmServerName": _SERIALIZER.url("vmm_server_name", vmm_server_name, "str"),
"inventoryItemName": _SERIALIZER.url("inventory_item_name", inventory_item_name, "str"),
}
_url: str = _format_url_section(_url, **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_delete_request( def build_delete_request(
resource_group_name: str, vmm_server_name: str, inventory_item_name: str, subscription_id: str, **kwargs: Any resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
subscription_id: str,
**kwargs: Any
) -> HttpRequest: ) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-10-07"))
"api_version", _params.pop("api-version", "2020-06-05-preview")
)
accept = _headers.pop("Accept", "application/json") accept = _headers.pop("Accept", "application/json")
# Construct URL # Construct URL
_url = kwargs.pop( _url = kwargs.pop(
"template_url", "template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemResourceName}",
) # pylint: disable=line-too-long ) # pylint: disable=line-too-long
path_format_arguments = { path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"), "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"), "resourceGroupName": _SERIALIZER.url(
"vmmServerName": _SERIALIZER.url("vmm_server_name", vmm_server_name, "str"), "resource_group_name", resource_group_name, "str", max_length=90, min_length=1
"inventoryItemName": _SERIALIZER.url("inventory_item_name", inventory_item_name, "str"), ),
"vmmServerName": _SERIALIZER.url(
"vmm_server_name", vmm_server_name, "str", max_length=54, min_length=1, pattern=r"[a-zA-Z0-9-_\.]"
),
"inventoryItemResourceName": _SERIALIZER.url(
"inventory_item_resource_name",
inventory_item_resource_name,
"str",
pattern=r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
),
} }
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore _url: str = _url.format(**path_format_arguments) # type: ignore
# Construct parameters # Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
@ -146,46 +215,13 @@ def build_delete_request(
return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
def build_list_by_vmm_server_request(
resource_group_name: str, vmm_server_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: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", "2020-06-05-preview")
)
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems",
) # pylint: disable=line-too-long
path_format_arguments = {
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str"),
"resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, "str"),
"vmmServerName": _SERIALIZER.url("vmm_server_name", vmm_server_name, "str"),
}
_url: str = _format_url_section(_url, **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)
class InventoryItemsOperations: class InventoryItemsOperations:
""" """
.. warning:: .. warning::
**DO NOT** instantiate this class directly. **DO NOT** instantiate this class directly.
Instead, you should access the following operations through Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.SCVMM`'s :class:`~azure.mgmt.scvmm.ScVmmMgmtClient`'s
:attr:`inventory_items` attribute. :attr:`inventory_items` attribute.
""" """
@ -198,314 +234,19 @@ class InventoryItemsOperations:
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@overload
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[_models.InventoryItem] = None,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Default value is None.
:type body: ~azure.mgmt.scvmm.models.InventoryItem
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[IO] = None,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Default value is None.
:type body: IO
:keyword content_type: Body Parameter content-type. Content type parameter for binary body.
Default value is "application/json".
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_name: str,
body: Optional[Union[_models.InventoryItem, IO]] = None,
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:param body: Request payload. Is either a model type or a IO type. Default value is None.
:type body: ~azure.mgmt.scvmm.models.InventoryItem or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
:paramtype content_type: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(body, (IO, bytes)):
_content = body
else:
if body is not None:
_json = self._serialize.body(body, "InventoryItem")
else:
_json = None
request = build_create_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
template_url=self.create.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {})
return deserialized
create.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace
def get(
self, resource_group_name: str, vmm_server_name: str, inventory_item_name: str, **kwargs: Any
) -> _models.InventoryItem:
"""Implements GET InventoryItem method.
Shows an inventory item.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
request = build_get_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.get.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {})
return deserialized
get.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, vmm_server_name: str, inventory_item_name: str, **kwargs: Any
) -> None:
"""Implements inventoryItem DELETE method.
Deletes an inventoryItem.
:param resource_group_name: The name of the resource group. Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required.
:type vmm_server_name: str
:param inventory_item_name: Name of the inventoryItem. Required.
:type inventory_item_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
request = build_delete_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_name=inventory_item_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
template_url=self.delete.metadata["url"],
headers=_headers,
params=_params,
)
request = _convert_request(request)
request.url = self._client.format_url(request.url)
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {})
delete.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems/{inventoryItemName}"
}
@distributed_trace @distributed_trace
def list_by_vmm_server( def list_by_vmm_server(
self, resource_group_name: str, vmm_server_name: str, **kwargs: Any self, resource_group_name: str, vmm_server_name: str, **kwargs: Any
) -> Iterable["_models.InventoryItem"]: ) -> Iterable["_models.InventoryItem"]:
"""Implements GET for the list of Inventory Items in the VMMServer. """Implements GET for the list of Inventory Items in the VMMServer.
Returns the list of inventoryItems in the given VMMServer. Returns the list of inventoryItems in the given VmmServer.
:param resource_group_name: The name of the resource group. Required. :param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str :type resource_group_name: str
:param vmm_server_name: Name of the VMMServer. Required. :param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str :type vmm_server_name: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either InventoryItem or the result of cls(response) :return: An iterator like instance of either InventoryItem or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.InventoryItem] :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.InventoryItem]
:raises ~azure.core.exceptions.HttpResponseError: :raises ~azure.core.exceptions.HttpResponseError:
@ -513,12 +254,10 @@ class InventoryItemsOperations:
_headers = kwargs.pop("headers", {}) or {} _headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
"api_version", _params.pop("api-version", self._config.api_version) cls: ClsType[_models.InventoryItemListResult] = kwargs.pop("cls", None)
)
cls: ClsType[_models.InventoryItemsList] = kwargs.pop("cls", None)
error_map = { error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError, 401: ClientAuthenticationError,
404: ResourceNotFoundError, 404: ResourceNotFoundError,
409: ResourceExistsError, 409: ResourceExistsError,
@ -529,17 +268,16 @@ class InventoryItemsOperations:
def prepare_request(next_link=None): def prepare_request(next_link=None):
if not next_link: if not next_link:
request = build_list_by_vmm_server_request( _request = build_list_by_vmm_server_request(
resource_group_name=resource_group_name, resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name, vmm_server_name=vmm_server_name,
subscription_id=self._config.subscription_id, subscription_id=self._config.subscription_id,
api_version=api_version, api_version=api_version,
template_url=self.list_by_vmm_server.metadata["url"],
headers=_headers, headers=_headers,
params=_params, params=_params,
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
else: else:
# make call to next link with the client's api-version # make call to next link with the client's api-version
@ -551,26 +289,27 @@ class InventoryItemsOperations:
} }
) )
_next_request_params["api-version"] = self._config.api_version _next_request_params["api-version"] = self._config.api_version
request = HttpRequest( _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
request.method = "GET" _request.method = "GET"
return request return _request
def extract_data(pipeline_response): def extract_data(pipeline_response):
deserialized = self._deserialize("InventoryItemsList", pipeline_response) deserialized = self._deserialize("InventoryItemListResult", pipeline_response)
list_of_elem = deserialized.value list_of_elem = deserialized.value
if cls: if cls:
list_of_elem = cls(list_of_elem) # type: ignore list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link or None, iter(list_of_elem) return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None): def get_next(next_link=None):
request = prepare_request(next_link) _request = prepare_request(next_link)
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **kwargs _request, stream=_stream, **kwargs
) )
response = pipeline_response.http_response response = pipeline_response.http_response
@ -583,6 +322,278 @@ class InventoryItemsOperations:
return ItemPaged(get_next, extract_data) return ItemPaged(get_next, extract_data)
list_by_vmm_server.metadata = { @distributed_trace
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ScVmm/vmmServers/{vmmServerName}/inventoryItems" def get(
} self, resource_group_name: str, vmm_server_name: str, inventory_item_resource_name: str, **kwargs: Any
) -> _models.InventoryItem:
"""Implements GET InventoryItem method.
Shows an inventory item.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
_request = build_get_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@overload
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: _models.InventoryItem,
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:param resource: Resource create parameters. Required.
:type resource: ~azure.mgmt.scvmm.models.InventoryItem
:keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
Default value is "application/json".
:paramtype content_type: str
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@overload
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: IO[bytes],
*,
content_type: str = "application/json",
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: 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: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
@distributed_trace
def create(
self,
resource_group_name: str,
vmm_server_name: str,
inventory_item_resource_name: str,
resource: Union[_models.InventoryItem, IO[bytes]],
**kwargs: Any
) -> _models.InventoryItem:
"""Implements InventoryItem PUT method.
Create Or Update InventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:param resource: Resource create parameters. Is either a InventoryItem type or a IO[bytes]
type. Required.
:type resource: ~azure.mgmt.scvmm.models.InventoryItem or IO[bytes]
:return: InventoryItem or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.InventoryItem
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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 = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
cls: ClsType[_models.InventoryItem] = kwargs.pop("cls", None)
content_type = content_type or "application/json"
_json = None
_content = None
if isinstance(resource, (IOBase, bytes)):
_content = resource
else:
_json = self._serialize.body(resource, "InventoryItem")
_request = build_create_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
content_type=content_type,
json=_json,
content=_content,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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]:
map_error(status_code=response.status_code, response=response, error_map=error_map)
error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if response.status_code == 200:
deserialized = self._deserialize("InventoryItem", pipeline_response)
if response.status_code == 201:
deserialized = self._deserialize("InventoryItem", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore
@distributed_trace
def delete( # pylint: disable=inconsistent-return-statements
self, resource_group_name: str, vmm_server_name: str, inventory_item_resource_name: str, **kwargs: Any
) -> None:
"""Implements inventoryItem DELETE method.
Deletes an inventoryItem.
:param resource_group_name: The name of the resource group. The name is case insensitive.
Required.
:type resource_group_name: str
:param vmm_server_name: Name of the VmmServer. Required.
:type vmm_server_name: str
:param inventory_item_resource_name: Name of the inventoryItem. Required.
:type inventory_item_resource_name: str
:return: None or the result of cls(response)
:rtype: None
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[None] = kwargs.pop("cls", None)
_request = build_delete_request(
resource_group_name=resource_group_name,
vmm_server_name=vmm_server_name,
inventory_item_resource_name=inventory_item_resource_name,
subscription_id=self._config.subscription_id,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
if cls:
return cls(pipeline_response, None, {}) # type: ignore

Просмотреть файл

@ -1,4 +1,4 @@
# pylint: disable=too-many-lines # pylint: disable=too-many-lines,too-many-statements
# coding=utf-8 # coding=utf-8
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved. # Copyright (c) Microsoft Corporation. All rights reserved.
@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
import sys import sys
from typing import Any, Callable, Dict, Iterable, Optional, TypeVar from typing import Any, Callable, Dict, Iterable, Optional, Type, TypeVar
import urllib.parse import urllib.parse
from azure.core.exceptions import ( from azure.core.exceptions import (
@ -30,10 +30,10 @@ from .. import models as _models
from .._serialization import Serializer from .._serialization import Serializer
from .._vendor import _convert_request from .._vendor import _convert_request
if sys.version_info >= (3, 8): if sys.version_info >= (3, 9):
from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports from collections.abc import MutableMapping
else: else:
from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T") T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
@ -45,9 +45,7 @@ def build_list_request(**kwargs: Any) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-10-07"))
"api_version", _params.pop("api-version", "2020-06-05-preview")
)
accept = _headers.pop("Accept", "application/json") accept = _headers.pop("Accept", "application/json")
# Construct URL # Construct URL
@ -68,7 +66,7 @@ class Operations:
**DO NOT** instantiate this class directly. **DO NOT** instantiate this class directly.
Instead, you should access the following operations through Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.SCVMM`'s :class:`~azure.mgmt.scvmm.ScVmmMgmtClient`'s
:attr:`operations` attribute. :attr:`operations` attribute.
""" """
@ -82,24 +80,20 @@ class Operations:
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace @distributed_trace
def list(self, **kwargs: Any) -> Iterable["_models.ResourceProviderOperation"]: def list(self, **kwargs: Any) -> Iterable["_models.Operation"]:
"""Returns list of all operations. """List the operations for the provider.
:keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either Operation or the result of cls(response)
:return: An iterator like instance of either ResourceProviderOperation or the result of :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.Operation]
cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.ResourceProviderOperation]
:raises ~azure.core.exceptions.HttpResponseError: :raises ~azure.core.exceptions.HttpResponseError:
""" """
_headers = kwargs.pop("headers", {}) or {} _headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: Literal["2020-06-05-preview"] = kwargs.pop( api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
"api_version", _params.pop("api-version", self._config.api_version) cls: ClsType[_models.OperationListResult] = kwargs.pop("cls", None)
)
cls: ClsType[_models.ResourceProviderOperationList] = kwargs.pop("cls", None)
error_map = { error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError, 401: ClientAuthenticationError,
404: ResourceNotFoundError, 404: ResourceNotFoundError,
409: ResourceExistsError, 409: ResourceExistsError,
@ -110,14 +104,13 @@ class Operations:
def prepare_request(next_link=None): def prepare_request(next_link=None):
if not next_link: if not next_link:
request = build_list_request( _request = build_list_request(
api_version=api_version, api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers, headers=_headers,
params=_params, params=_params,
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
else: else:
# make call to next link with the client's api-version # make call to next link with the client's api-version
@ -129,26 +122,27 @@ class Operations:
} }
) )
_next_request_params["api-version"] = self._config.api_version _next_request_params["api-version"] = self._config.api_version
request = HttpRequest( _request = HttpRequest(
"GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
) )
request = _convert_request(request) _request = _convert_request(_request)
request.url = self._client.format_url(request.url) _request.url = self._client.format_url(_request.url)
request.method = "GET" _request.method = "GET"
return request return _request
def extract_data(pipeline_response): def extract_data(pipeline_response):
deserialized = self._deserialize("ResourceProviderOperationList", pipeline_response) deserialized = self._deserialize("OperationListResult", pipeline_response)
list_of_elem = deserialized.value list_of_elem = deserialized.value
if cls: if cls:
list_of_elem = cls(list_of_elem) # type: ignore list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link or None, iter(list_of_elem) return deserialized.next_link or None, iter(list_of_elem)
def get_next(next_link=None): def get_next(next_link=None):
request = prepare_request(next_link) _request = prepare_request(next_link)
_stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
request, stream=False, **kwargs _request, stream=_stream, **kwargs
) )
response = pipeline_response.http_response response = pipeline_response.http_response
@ -160,5 +154,3 @@ class Operations:
return pipeline_response return pipeline_response
return ItemPaged(get_next, extract_data) return ItemPaged(get_next, extract_data)
list.metadata = {"url": "/providers/Microsoft.ScVmm/operations"}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,257 @@
# pylint: disable=too-many-lines,too-many-statements
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
from typing import Any, Callable, Dict, Iterable, Optional, Type, TypeVar
import urllib.parse
from azure.core.exceptions import (
ClientAuthenticationError,
HttpResponseError,
ResourceExistsError,
ResourceNotFoundError,
ResourceNotModifiedError,
map_error,
)
from azure.core.paging import ItemPaged
from azure.core.pipeline import PipelineResponse
from azure.core.pipeline.transport import HttpResponse
from azure.core.rest import HttpRequest
from azure.core.tracing.decorator import distributed_trace
from azure.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
from .. import models as _models
from .._serialization import Serializer
from .._vendor import _convert_request
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
T = TypeVar("T")
ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
_SERIALIZER = Serializer()
_SERIALIZER.client_side_validation = False
def build_list_by_virtual_machine_instance_request( # pylint: disable=name-too-long
resource_uri: 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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
"/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/hybridIdentityMetadata",
) # pylint: disable=line-too-long
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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_get_request(resource_uri: 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", "2023-10-07"))
accept = _headers.pop("Accept", "application/json")
# Construct URL
_url = kwargs.pop(
"template_url",
"/{resourceUri}/providers/Microsoft.ScVmm/virtualMachineInstances/default/hybridIdentityMetadata/default",
) # pylint: disable=line-too-long
path_format_arguments = {
"resourceUri": _SERIALIZER.url("resource_uri", resource_uri, "str", skip_quote=True),
}
_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)
class VmInstanceHybridIdentityMetadatasOperations: # pylint: disable=name-too-long
"""
.. warning::
**DO NOT** instantiate this class directly.
Instead, you should access the following operations through
:class:`~azure.mgmt.scvmm.ScVmmMgmtClient`'s
:attr:`vm_instance_hybrid_identity_metadatas` attribute.
"""
models = _models
def __init__(self, *args, **kwargs):
input_args = list(args)
self._client = input_args.pop(0) if input_args else kwargs.pop("client")
self._config = input_args.pop(0) if input_args else kwargs.pop("config")
self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
@distributed_trace
def list_by_virtual_machine_instance(
self, resource_uri: str, **kwargs: Any
) -> Iterable["_models.VmInstanceHybridIdentityMetadata"]:
"""Implements GET HybridIdentityMetadata in a vm.
Returns the list of HybridIdentityMetadata of the given VM.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: An iterator like instance of either VmInstanceHybridIdentityMetadata or the result of
cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.scvmm.models.VmInstanceHybridIdentityMetadata]
:raises ~azure.core.exceptions.HttpResponseError:
"""
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.VmInstanceHybridIdentityMetadataListResult] = kwargs.pop("cls", None)
error_map: MutableMapping[int, Type[HttpResponseError]] = {
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_list_by_virtual_machine_instance_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
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), params=_next_request_params
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_request.method = "GET"
return _request
def extract_data(pipeline_response):
deserialized = self._deserialize("VmInstanceHybridIdentityMetadataListResult", pipeline_response)
list_of_elem = deserialized.value
if cls:
list_of_elem = cls(list_of_elem) # type: ignore
return deserialized.next_link 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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
return pipeline_response
return ItemPaged(get_next, extract_data)
@distributed_trace
def get(self, resource_uri: str, **kwargs: Any) -> _models.VmInstanceHybridIdentityMetadata:
"""Gets HybridIdentityMetadata.
Implements HybridIdentityMetadata GET method.
:param resource_uri: The fully qualified Azure Resource manager identifier of the resource.
Required.
:type resource_uri: str
:return: VmInstanceHybridIdentityMetadata or the result of cls(response)
:rtype: ~azure.mgmt.scvmm.models.VmInstanceHybridIdentityMetadata
:raises ~azure.core.exceptions.HttpResponseError:
"""
error_map: MutableMapping[int, Type[HttpResponseError]] = {
401: ClientAuthenticationError,
404: ResourceNotFoundError,
409: ResourceExistsError,
304: ResourceNotModifiedError,
}
error_map.update(kwargs.pop("error_map", {}) or {})
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version))
cls: ClsType[_models.VmInstanceHybridIdentityMetadata] = kwargs.pop("cls", None)
_request = build_get_request(
resource_uri=resource_uri,
api_version=api_version,
headers=_headers,
params=_params,
)
_request = _convert_request(_request)
_request.url = self._client.format_url(_request.url)
_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 = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
deserialized = self._deserialize("VmInstanceHybridIdentityMetadata", pipeline_response)
if cls:
return cls(pipeline_response, deserialized, {}) # type: ignore
return deserialized # type: ignore

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1 +1,2 @@
-e ../../../tools/azure-sdk-tools -e ../../../tools/azure-sdk-tools
-e ../../resources/azure-mgmt-resource

Просмотреть файл

@ -6,15 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python create_availability_set.py python availability_sets_create_or_update_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,29 +27,30 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.begin_create_or_update( response = client.availability_sets.begin_create_or_update(
resource_group_name="testrg", resource_group_name="rgscvmm",
availability_set_name="HRAvailabilitySet", availability_set_resource_name="-",
body={ resource={
"extendedLocation": { "extendedLocation": {
"name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.Arc/customLocations/contoso", "name": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ExtendedLocation/customLocations/customLocationName",
"type": "customLocation", "type": "customLocation",
}, },
"location": "East US", "location": "jelevilan",
"properties": { "properties": {
"availabilitySetName": "hr-avset", "availabilitySetName": "njrpftunzo",
"vmmServerId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ScVmm/VMMServers/ContosoVMMServer", "vmmServerId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/vmmServers/vmmServerName",
}, },
"tags": {"key5701": "cldtxloqh"},
}, },
).result() ).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/CreateAvailabilitySet.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_CreateOrUpdate_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -0,0 +1,45 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python availability_sets_create_or_update_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.availability_sets.begin_create_or_update(
resource_group_name="rgscvmm",
availability_set_resource_name="_",
resource={"extendedLocation": {}, "location": "jelevilan"},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_CreateOrUpdate_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python delete_availability_set.py python availability_sets_delete_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,17 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.begin_delete( client.availability_sets.begin_delete(
resource_group_name="testrg", resource_group_name="rgscvmm",
availability_set_name="HRAvailabilitySet", availability_set_resource_name="_",
).result() ).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteAvailabilitySet.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_Delete_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python availability_sets_delete_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
client.availability_sets.begin_delete(
resource_group_name="rgscvmm",
availability_set_resource_name="6",
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_Delete_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python get_availability_set.py python availability_sets_get_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.get( response = client.availability_sets.get(
resource_group_name="testrg", resource_group_name="rgscvmm",
availability_set_name="HRAvailabilitySet", availability_set_resource_name="-",
) )
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/GetAvailabilitySet.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_Get_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python availability_sets_get_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.availability_sets.get(
resource_group_name="rgscvmm",
availability_set_resource_name="V",
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_Get_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_availability_sets_by_resource_group.py python availability_sets_list_by_resource_group_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.list_by_resource_group( response = client.availability_sets.list_by_resource_group(
resource_group_name="testrg", resource_group_name="rgscvmm",
) )
for item in response: for item in response:
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListAvailabilitySetsByResourceGroup.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_ListByResourceGroup_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python availability_sets_list_by_resource_group_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.availability_sets.list_by_resource_group(
resource_group_name="rgscvmm",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_ListByResourceGroup_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_availability_sets_by_subscription.py python availability_sets_list_by_subscription_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,9 +25,9 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.list_by_subscription() response = client.availability_sets.list_by_subscription()
@ -34,6 +35,6 @@ def main():
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListAvailabilitySetsBySubscription.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_ListBySubscription_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python availability_sets_list_by_subscription_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.availability_sets.list_by_subscription()
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_ListBySubscription_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -6,15 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python update_availability_set.py python availability_sets_update_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,19 +27,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.availability_sets.begin_update( response = client.availability_sets.begin_update(
resource_group_name="testrg", resource_group_name="rgscvmm",
availability_set_name="HRAvailabilitySet", availability_set_resource_name="-",
body={"tags": {"tag1": "value1", "tag2": "value2"}}, properties={"tags": {"key1460": "vcbwibkvr"}},
).result() ).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/UpdateAvailabilitySet.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/AvailabilitySets_Update_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -6,15 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python create_cloud.py python clouds_create_or_update_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,29 +27,32 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.clouds.begin_create_or_update( response = client.clouds.begin_create_or_update(
resource_group_name="testrg", resource_group_name="rgscvmm",
cloud_name="HRCloud", cloud_resource_name="2",
body={ resource={
"extendedLocation": { "extendedLocation": {
"name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.Arc/customLocations/contoso", "name": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ExtendedLocation/customLocations/customLocationName",
"type": "customLocation", "type": "customLocation",
}, },
"location": "East US", "location": "khwsdmaxfhmbu",
"properties": { "properties": {
"uuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cloudCapacity": {},
"vmmServerId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.SCVMM/VMMServers/ContosoVMMServer", "inventoryItemId": "qjd",
"uuid": "12345678-1234-1234-1234-12345678abcd",
"vmmServerId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/vmmServers/vmmServerName",
}, },
"tags": {"key4295": "wngosgcbdifaxdobufuuqxtho"},
}, },
).result() ).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/CreateCloud.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_CreateOrUpdate_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -6,15 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python delete_checkpoint_virtual_machine.py python clouds_create_or_update_minimum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +27,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.virtual_machines.begin_delete_checkpoint( response = client.clouds.begin_create_or_update(
resource_group_name="testrg", resource_group_name="rgscvmm",
virtual_machine_name="DemoVM", cloud_resource_name="-",
resource={"extendedLocation": {}, "location": "khwsdmaxfhmbu"},
).result() ).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteCheckpointVirtualMachine.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_CreateOrUpdate_MinimumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python delete_vmm_server.py python clouds_delete_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,17 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.vmm_servers.begin_delete( client.clouds.begin_delete(
resource_group_name="testrg", resource_group_name="rgscvmm",
vmm_server_name="ContosoVMMServer", cloud_resource_name="-",
).result() ).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteVMMServer.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_Delete_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python stop_virtual_machine.py python clouds_delete_minimum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,17 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.virtual_machines.begin_stop( client.clouds.begin_delete(
resource_group_name="testrg", resource_group_name="rgscvmm",
virtual_machine_name="DemoVM", cloud_resource_name="1",
).result() ).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/StopVirtualMachine.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_Delete_MinimumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python get_cloud.py python clouds_get_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.clouds.get( response = client.clouds.get(
resource_group_name="testrg", resource_group_name="rgscvmm",
cloud_name="HRCloud", cloud_resource_name="_",
) )
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/GetCloud.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_Get_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python get_virtual_machine.py python clouds_get_minimum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.virtual_machines.get( response = client.clouds.get(
resource_group_name="testrg", resource_group_name="rgscvmm",
virtual_machine_name="DemoVM", cloud_resource_name="i",
) )
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/GetVirtualMachine.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_Get_MinimumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_clouds_by_resource_group.py python clouds_list_by_resource_group_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.clouds.list_by_resource_group( response = client.clouds.list_by_resource_group(
resource_group_name="testrg", resource_group_name="rgscvmm",
) )
for item in response: for item in response:
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListCloudsByResourceGroup.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_ListByResourceGroup_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python clouds_list_by_resource_group_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.clouds.list_by_resource_group(
resource_group_name="rgscvmm",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_ListByResourceGroup_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_clouds_by_subscription.py python clouds_list_by_subscription_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,9 +25,9 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.clouds.list_by_subscription() response = client.clouds.list_by_subscription()
@ -34,6 +35,6 @@ def main():
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListCloudsBySubscription.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_ListBySubscription_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python clouds_list_by_subscription_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.clouds.list_by_subscription()
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_ListBySubscription_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -6,15 +6,18 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated. # Changes may cause incorrect behavior and will be lost if the code is regenerated.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python update_cloud.py python clouds_update_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,19 +27,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.clouds.begin_update( response = client.clouds.begin_update(
resource_group_name="testrg", resource_group_name="rgscvmm",
cloud_name="HRCloud", cloud_resource_name="P",
body={"tags": {"tag1": "value1", "tag2": "value2"}}, properties={"tags": {"key5266": "hjpcnwmpnixsolrxnbl"}},
).result() ).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/UpdateCloud.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Clouds_Update_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -1,54 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python create_virtual_machine.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 = SCVMM(
credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b",
)
response = client.virtual_machines.begin_create_or_update(
resource_group_name="testrg",
virtual_machine_name="DemoVM",
body={
"extendedLocation": {
"name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.Arc/customLocations/contoso",
"type": "customLocation",
},
"location": "East US",
"properties": {
"cloudId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.SCVMM/Clouds/HRCloud",
"hardwareProfile": {"cpuCount": 4, "memoryMB": 4096},
"templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.SCVMM/VirtualMachineTemplates/HRVirtualMachineTemplate",
"vmmServerId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.SCVMM/VMMServers/ContosoVMMServer",
},
},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/CreateVirtualMachine.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -1,42 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python delete_inventory_item.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 = SCVMM(
credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b",
)
response = client.inventory_items.delete(
resource_group_name="testrg",
vmm_server_name="ContosoVMMServer",
inventory_item_name="12345678-1234-1234-1234-123456789abc",
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteInventoryItem.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -1,41 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python delete_virtual_machine_template.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 = SCVMM(
credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b",
)
response = client.virtual_machine_templates.begin_delete(
resource_group_name="testrg",
virtual_machine_template_name="HRVirtualMachineTemplate",
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteVirtualMachineTemplate.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,50 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_create_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.guest_agents.begin_create(
resource_uri="gtgclehcbsyave",
resource={
"properties": {
"credentials": {"password": "gkvbnmuahumuoibvscoxzfdqwvfuf", "username": "jqxuwirrcpfv"},
"httpProxyConfig": {"httpsProxy": "uoyzyticmohohomlkwct"},
"provisioningAction": "install",
}
},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_Create_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_delete_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.guest_agents.delete(
resource_uri="gtgclehcbsyave",
)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_Delete_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_delete_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.guest_agents.delete(
resource_uri="gtgclehcbsyave",
)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_Delete_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python delete_cloud.py python guest_agents_get_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,17 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="SUBSCRIPTION_ID",
) )
response = client.clouds.begin_delete( response = client.guest_agents.get(
resource_group_name="testrg", resource_uri="gtgclehcbsyave",
cloud_name="HRCloud", )
).result()
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/DeleteCloud.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_Get_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_get_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.guest_agents.get(
resource_uri="gtgclehcbsyave",
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_Get_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_list_by_virtual_machine_instance_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.guest_agents.list_by_virtual_machine_instance(
resource_uri="gtgclehcbsyave",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_ListByVirtualMachineInstance_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python guest_agents_list_by_virtual_machine_instance_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.guest_agents.list_by_virtual_machine_instance(
resource_uri="gtgclehcbsyave",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/GuestAgents_ListByVirtualMachineInstance_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,46 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python inventory_items_create_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.inventory_items.create(
resource_group_name="rgscvmm",
vmm_server_name="O",
inventory_item_resource_name="1BdDc2Ab-bDd9-Ebd6-bfdb-C0dbbdB5DEDf",
resource={"kind": "M\\d_,V.", "properties": {"inventoryType": "InventoryItemProperties"}},
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_Create_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python inventory_items_delete_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
client.inventory_items.delete(
resource_group_name="rgscvmm",
vmm_server_name="b",
inventory_item_resource_name="EcECadfd-Eaaa-e5Ce-ebdA-badeEd3c6af1",
)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_Delete_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python inventory_items_delete_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
client.inventory_items.delete(
resource_group_name="rgscvmm",
vmm_server_name="_",
inventory_item_resource_name="cDBcbae6-BC3d-52fe-CedC-7eFeaBFabb82",
)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_Delete_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python get_inventory_item.py python inventory_items_get_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,19 +25,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.inventory_items.get( response = client.inventory_items.get(
resource_group_name="testrg", resource_group_name="rgscvmm",
vmm_server_name="ContosoVMMServer", vmm_server_name="1",
inventory_item_name="12345678-1234-1234-1234-123456789abc", inventory_item_resource_name="2bFBede6-EEf8-becB-dBbd-B96DbBFdB3f3",
) )
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/GetInventoryItem.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_Get_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python create_inventory_item.py python inventory_items_get_minimum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,19 +25,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.inventory_items.create( response = client.inventory_items.get(
resource_group_name="testrg", resource_group_name="rgscvmm",
vmm_server_name="ContosoVMMServer", vmm_server_name="_",
inventory_item_name="12345678-1234-1234-1234-123456789abc", inventory_item_resource_name="cacb8Ceb-efAC-bebb-ae7C-dec8C5Bb7100",
) )
print(response) print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/CreateInventoryItem.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_Get_MinimumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_inventory_items_by_vmm_server.py python inventory_items_list_by_vmm_server_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,19 +25,19 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
) )
response = client.inventory_items.list_by_vmm_server( response = client.inventory_items.list_by_vmm_server(
resource_group_name="testrg", resource_group_name="rgscvmm",
vmm_server_name="ContosoVMMServer", vmm_server_name="X",
) )
for item in response: for item in response:
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListInventoryItemsByVMMServer.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_ListByVmmServer_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -0,0 +1,43 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python inventory_items_list_by_vmm_server_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="79332E5A-630B-480F-A266-A941C015AB19",
)
response = client.inventory_items.list_by_vmm_server(
resource_group_name="rgscvmm",
vmm_server_name="H",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/InventoryItems_ListByVmmServer_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_operations.py python operations_list_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,7 +25,7 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID", subscription_id="SUBSCRIPTION_ID",
) )
@ -34,6 +35,6 @@ def main():
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListOperations.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Operations_List_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_virtual_machines_by_subscription.py python operations_list_minimum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,16 +25,16 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="SUBSCRIPTION_ID",
) )
response = client.virtual_machines.list_by_subscription() response = client.operations.list()
for item in response: for item in response:
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListVirtualMachinesBySubscription.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/Operations_List_MinimumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -1,41 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python restart_virtual_machine.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 = SCVMM(
credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b",
)
response = client.virtual_machines.begin_restart(
resource_group_name="testrg",
virtual_machine_name="DemoVM",
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/RestartVirtualMachine.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -1,58 +0,0 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python update_virtual_machine.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 = SCVMM(
credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b",
)
response = client.virtual_machines.begin_update(
resource_group_name="testrg",
virtual_machine_name="DemoVM",
body={
"properties": {
"hardwareProfile": {"cpuCount": 4, "memoryMB": 4096},
"networkProfile": {
"networkInterfaces": [
{
"ipv4AddressType": "Dynamic",
"ipv6AddressType": "Dynamic",
"macAddressType": "Static",
"name": "test",
}
]
},
"storageProfile": {"disks": [{"diskSizeGB": 10, "name": "test"}]},
},
"tags": {"tag1": "value1", "tag2": "value2"},
},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/UpdateVirtualMachine.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,43 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_create_checkpoint_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_create_checkpoint(
resource_uri="gtgclehcbsyave",
body={"description": "zoozhfbepldrgpjqsbhpqebtodrhvy", "name": "ilvltf"},
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_CreateCheckpoint_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,117 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_create_or_update_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.virtual_machine_instances.begin_create_or_update(
resource_uri="gtgclehcbsyave",
resource={
"extendedLocation": {
"name": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ExtendedLocation/customLocations/customLocationName",
"type": "customLocation",
},
"properties": {
"availabilitySets": [
{
"id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/availabilitySets/availabilitySetResourceName",
"name": "lwbhaseo",
}
],
"hardwareProfile": {
"cpuCount": 22,
"dynamicMemoryEnabled": "true",
"dynamicMemoryMaxMB": 2,
"dynamicMemoryMinMB": 30,
"isHighlyAvailable": "true",
"limitCpuForMigration": "true",
"memoryMB": 5,
},
"infrastructureProfile": {
"biosGuid": "xixivxifyql",
"checkpointType": "jkbpzjxpeegackhsvikrnlnwqz",
"cloudId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/clouds/cloudResourceName",
"generation": 28,
"inventoryItemId": "ihkkqmg",
"lastRestoredVMCheckpoint": {
"checkpointID": "wsqmrje",
"description": "qurzfrgyflrh",
"name": "keqn",
"parentCheckpointID": "hqhhzikoxunuqguouw",
},
"templateId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/virtualMachineTemplates/virtualMachineTemplateName",
"uuid": "hrpw",
"vmName": "qovpayfydhcvfrhe",
"vmmServerId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/vmmServers/vmmServerName",
},
"networkProfile": {
"networkInterfaces": [
{
"ipv4AddressType": "Dynamic",
"ipv6AddressType": "Dynamic",
"macAddress": "oaeqqegt",
"macAddressType": "Dynamic",
"name": "kvofzqulbjlbtt",
"nicId": "roxpsvlo",
"virtualNetworkId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.ScVmm/virtualNetworks/virtualNetworkName",
}
]
},
"osProfile": {
"adminPassword": "vavtppmmhlspydtkzxda",
"computerName": "uuxpcxuxcufllc",
"osType": "Windows",
},
"storageProfile": {
"disks": [
{
"bus": 8,
"busType": "zu",
"createDiffDisk": "true",
"diskId": "ltdrwcfjklpsimhzqyh",
"diskSizeGB": 30,
"lun": 10,
"name": "fgnckfymwdsqnfxkdvexuaobe",
"storageQoSPolicy": {"id": "o", "name": "ceiyfrflu"},
"templateDiskId": "lcdwrokpyvekqccclf",
"vhdType": "cnbeeeylrvopigdynvgpkfp",
}
]
},
},
},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_CreateOrUpdate_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,44 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_create_or_update_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.virtual_machine_instances.begin_create_or_update(
resource_uri="gtgclehcbsyave",
resource={"extendedLocation": {}},
).result()
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_CreateOrUpdate_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,43 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_delete_checkpoint_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_delete_checkpoint(
resource_uri="gtgclehcbsyave",
body={"id": "eenfflimcbgqfsebdusophahjpk"},
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_DeleteCheckpoint_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_delete_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_delete(
resource_uri="gtgclehcbsyave",
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Delete_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_delete_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_delete(
resource_uri="gtgclehcbsyave",
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Delete_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_get_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.virtual_machine_instances.get(
resource_uri="gtgclehcbsyave",
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Get_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_get_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.virtual_machine_instances.get(
resource_uri="gtgclehcbsyave",
)
print(response)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Get_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -7,14 +7,15 @@
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import SCVMM
from azure.mgmt.scvmm import ScVmmMgmtClient
""" """
# PREREQUISITES # PREREQUISITES
pip install azure-identity pip install azure-identity
pip install azure-mgmt-scvmm pip install azure-mgmt-scvmm
# USAGE # USAGE
python list_virtual_machines_by_resource_group.py python virtual_machine_instances_list_maximum_set_gen.py
Before run the sample, please set the values of the client ID, tenant ID and client secret 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, of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
@ -24,18 +25,18 @@ from azure.mgmt.scvmm import SCVMM
def main(): def main():
client = SCVMM( client = ScVmmMgmtClient(
credential=DefaultAzureCredential(), credential=DefaultAzureCredential(),
subscription_id="fd3c3665-1729-4b7b-9a38-238e83b0f98b", subscription_id="SUBSCRIPTION_ID",
) )
response = client.virtual_machines.list_by_resource_group( response = client.virtual_machine_instances.list(
resource_group_name="testrg", resource_uri="gtgclehcbsyave",
) )
for item in response: for item in response:
print(item) print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/preview/2020-06-05-preview/examples/ListVirtualMachinesByResourceGroup.json # x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_List_MaximumSet_Gen.json
if __name__ == "__main__": if __name__ == "__main__":
main() main()

Просмотреть файл

@ -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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_list_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.virtual_machine_instances.list(
resource_uri="gtgclehcbsyave",
)
for item in response:
print(item)
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_List_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_restart_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_restart(
resource_uri="gtgclehcbsyave",
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Restart_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,40 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_restart_minimum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_restart(
resource_uri="gtgclehcbsyave",
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_Restart_MinimumSet_Gen.json
if __name__ == "__main__":
main()

Просмотреть файл

@ -0,0 +1,43 @@
# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.scvmm import ScVmmMgmtClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-scvmm
# USAGE
python virtual_machine_instances_restore_checkpoint_maximum_set_gen.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 = ScVmmMgmtClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
client.virtual_machine_instances.begin_restore_checkpoint(
resource_uri="gtgclehcbsyave",
body={"id": "rweqduwzsn"},
).result()
# x-ms-original-file: specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/examples/VirtualMachineInstances_RestoreCheckpoint_MaximumSet_Gen.json
if __name__ == "__main__":
main()

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше