Skip to content

Commit

Permalink
CodeGen from PR 16108 in Azure/azure-rest-api-specs
Browse files Browse the repository at this point in the history
Dev healthcareapis microsoft.healthcare apis 2021 11 01 changes (Azure#16108)

* Adds base for updating Microsoft.HealthcareApis from version preview/2021-06-01-preview to version 2021-11-01

* Updates readme

* Updates API version in new specs and examples

* Initial updates for 2021-11-01 version

* Fix prettier errors and resolve systemData error

* Add missing type definitions

* Remove pattern for validating Cors Origin.  Regex was found to have DDoS issues.  New correct pattern triggeres backwards breaking change alerts.  Removing patterns in latest iteration to avoid error.  Regexes are validated service side with updated logic already.

* Add missing endtime from OperationResult

* Revert CorsOriginEntry pattern removal to avoid false positive cross version breaking change

* Add definition for Properties property in operation definition that was missing.

* Test updating default verison per recommendation

* Update services and workspaces to use some provisioning state to remove .NET SDK error

* Resolve System.InvalidOperationException: Swagger document contains two or more x-ms-enum extensions with the same name 'ManagedServiceIdentityType' and different values: SystemAssigned,None vs. None,SystemAssigned,UserAssigned,SystemAssigned,UserAssigned

* Revert "Resolve System.InvalidOperationException: Swagger document contains two or more x-ms-enum extensions with the same name 'ManagedServiceIdentityType' and different values: SystemAssigned,None vs. None,SystemAssigned,UserAssigned,SystemAssigned,UserAssigned"

This reverts commit d44373c296808b50764b648279c60590a104a4b8.

* Resolve System.InvalidOperationException: Swagger document contains two or more x-ms-enum extensions with the same name 'ManagedServiceIdentityType' and different values: SystemAssigned,None vs. None,SystemAssigned,UserAssigned,SystemAssigned,UserAssigned"

* Change default back to 2021-01-11 version

* Change default version back in 2021-11-01 in anticipation of new release

* Revert changes that removed common-type references for local references

* Add async headers to patch examples

* Add managed identity settings to dicomservices

* Add resourceVersionPolicyCOnfiguration to workspaces/fhirservices

* Fix prettier errors

* Add missing description for resourceTypeOverrides

* Add missing  "x-ms-identifiers" property for arrays.
  • Loading branch information
SDKAuto committed Mar 1, 2022
1 parent 485dd7b commit d5736d9
Show file tree
Hide file tree
Showing 44 changed files with 7,033 additions and 5,738 deletions.
10 changes: 5 additions & 5 deletions sdk/healthcareapis/azure-mgmt-healthcareapis/_meta.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"autorest": "3.4.5",
"autorest": "3.7.2",
"use": [
"@autorest/python@5.8.4",
"@autorest/modelerfour@4.19.2"
"@autorest/python@5.12.0",
"@autorest/modelerfour@4.19.3"
],
"commit": "84d82e9a8f422a930f4e0ffbe037ae9dce5fce3f",
"commit": "672281444dd67605420fc9b3bcbd170040708380",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest_command": "autorest specification/healthcareapis/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --track2 --use=@autorest/python@5.8.4 --use=@autorest/modelerfour@4.19.2 --version=3.4.5",
"autorest_command": "autorest specification/healthcareapis/resource-manager/readme.md --multiapi --python --python-mode=update --python-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-python/sdk --python3-only --track2 --use=@autorest/python@5.12.0 --use=@autorest/modelerfour@4.19.3 --version=3.7.2",
"readme": "specification/healthcareapis/resource-manager/readme.md"
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
__version__ = VERSION
__all__ = ['HealthcareApisManagementClient']

try:
from ._patch import patch_sdk # type: ignore
patch_sdk()
except ImportError:
pass
# `._patch.py` 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
from ._patch import patch_sdk
patch_sdk()
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,16 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import TYPE_CHECKING
from typing import Any, TYPE_CHECKING

from azure.core.configuration import Configuration
from azure.core.pipeline import policies
from azure.mgmt.core.policies import ARMHttpLoggingPolicy
from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy

from ._version import VERSION

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any

from azure.core.credentials import TokenCredential


Expand All @@ -35,20 +33,19 @@ class HealthcareApisManagementClientConfiguration(Configuration):

def __init__(
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
**kwargs # type: Any
):
# type: (...) -> None
credential: "TokenCredential",
subscription_id: str,
**kwargs: Any
) -> None:
super(HealthcareApisManagementClientConfiguration, self).__init__(**kwargs)
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
super(HealthcareApisManagementClientConfiguration, self).__init__(**kwargs)

self.credential = credential
self.subscription_id = subscription_id
self.api_version = "2021-06-01-preview"
self.api_version = "2021-11-01"
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-healthcareapis/{}'.format(VERSION))
self._configure(**kwargs)
Expand All @@ -68,4 +65,4 @@ def _configure(
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
Original file line number Diff line number Diff line change
Expand Up @@ -6,42 +6,32 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import TYPE_CHECKING
from copy import deepcopy
from typing import Any, Optional, TYPE_CHECKING

from azure.core.rest import HttpRequest, HttpResponse
from azure.mgmt.core import ARMPipelineClient
from msrest import Deserializer, Serializer

from . import models
from ._configuration import HealthcareApisManagementClientConfiguration
from .operations import DicomServicesOperations, FhirDestinationsOperations, FhirServicesOperations, IotConnectorFhirDestinationOperations, IotConnectorsOperations, OperationResultsOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, ServicesOperations, WorkspacePrivateEndpointConnectionsOperations, WorkspacePrivateLinkResourcesOperations, WorkspacesOperations

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any, Optional

from azure.core.credentials import TokenCredential
from azure.core.pipeline.transport import HttpRequest, HttpResponse

from ._configuration import HealthcareApisManagementClientConfiguration
from .operations import ServicesOperations
from .operations import PrivateEndpointConnectionsOperations
from .operations import PrivateLinkResourcesOperations
from .operations import WorkspacesOperations
from .operations import DicomServicesOperations
from .operations import IotConnectorsOperations
from .operations import FhirDestinationsOperations
from .operations import IotConnectorFhirDestinationOperations
from .operations import FhirServicesOperations
from .operations import Operations
from .operations import OperationResultsOperations
from . import models


class HealthcareApisManagementClient(object):
class HealthcareApisManagementClient:
"""Azure Healthcare APIs Client.
:ivar services: ServicesOperations operations
:vartype services: azure.mgmt.healthcareapis.operations.ServicesOperations
:ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations
:vartype private_endpoint_connections: azure.mgmt.healthcareapis.operations.PrivateEndpointConnectionsOperations
:vartype private_endpoint_connections:
azure.mgmt.healthcareapis.operations.PrivateEndpointConnectionsOperations
:ivar private_link_resources: PrivateLinkResourcesOperations operations
:vartype private_link_resources: azure.mgmt.healthcareapis.operations.PrivateLinkResourcesOperations
:vartype private_link_resources:
azure.mgmt.healthcareapis.operations.PrivateLinkResourcesOperations
:ivar workspaces: WorkspacesOperations operations
:vartype workspaces: azure.mgmt.healthcareapis.operations.WorkspacesOperations
:ivar dicom_services: DicomServicesOperations operations
Expand All @@ -51,9 +41,17 @@ class HealthcareApisManagementClient(object):
:ivar fhir_destinations: FhirDestinationsOperations operations
:vartype fhir_destinations: azure.mgmt.healthcareapis.operations.FhirDestinationsOperations
:ivar iot_connector_fhir_destination: IotConnectorFhirDestinationOperations operations
:vartype iot_connector_fhir_destination: azure.mgmt.healthcareapis.operations.IotConnectorFhirDestinationOperations
:vartype iot_connector_fhir_destination:
azure.mgmt.healthcareapis.operations.IotConnectorFhirDestinationOperations
:ivar fhir_services: FhirServicesOperations operations
:vartype fhir_services: azure.mgmt.healthcareapis.operations.FhirServicesOperations
:ivar workspace_private_endpoint_connections: WorkspacePrivateEndpointConnectionsOperations
operations
:vartype workspace_private_endpoint_connections:
azure.mgmt.healthcareapis.operations.WorkspacePrivateEndpointConnectionsOperations
:ivar workspace_private_link_resources: WorkspacePrivateLinkResourcesOperations operations
:vartype workspace_private_link_resources:
azure.mgmt.healthcareapis.operations.WorkspacePrivateLinkResourcesOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.healthcareapis.operations.Operations
:ivar operation_results: OperationResultsOperations operations
Expand All @@ -62,68 +60,66 @@ class HealthcareApisManagementClient(object):
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The subscription identifier.
:type subscription_id: str
:param str base_url: Service URL
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present.
:param base_url: Service URL. Default value is 'https://management.azure.com'.
:type base_url: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
"""

def __init__(
self,
credential, # type: "TokenCredential"
subscription_id, # type: str
base_url=None, # type: Optional[str]
**kwargs # type: Any
):
# type: (...) -> None
if not base_url:
base_url = 'https://management.azure.com'
self._config = HealthcareApisManagementClientConfiguration(credential, subscription_id, **kwargs)
credential: "TokenCredential",
subscription_id: str,
base_url: str = "https://management.azure.com",
**kwargs: Any
) -> None:
self._config = HealthcareApisManagementClientConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._serialize.client_side_validation = False
self._deserialize = Deserializer(client_models)

self.services = ServicesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.private_endpoint_connections = PrivateEndpointConnectionsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.private_link_resources = PrivateLinkResourcesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.workspaces = WorkspacesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.dicom_services = DicomServicesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.iot_connectors = IotConnectorsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.fhir_destinations = FhirDestinationsOperations(
self._client, self._config, self._serialize, self._deserialize)
self.iot_connector_fhir_destination = IotConnectorFhirDestinationOperations(
self._client, self._config, self._serialize, self._deserialize)
self.fhir_services = FhirServicesOperations(
self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(
self._client, self._config, self._serialize, self._deserialize)
self.operation_results = OperationResultsOperations(
self._client, self._config, self._serialize, self._deserialize)

def _send_request(self, http_request, **kwargs):
# type: (HttpRequest, Any) -> HttpResponse
self._serialize.client_side_validation = False
self.services = ServicesOperations(self._client, self._config, self._serialize, self._deserialize)
self.private_endpoint_connections = PrivateEndpointConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.private_link_resources = PrivateLinkResourcesOperations(self._client, self._config, self._serialize, self._deserialize)
self.workspaces = WorkspacesOperations(self._client, self._config, self._serialize, self._deserialize)
self.dicom_services = DicomServicesOperations(self._client, self._config, self._serialize, self._deserialize)
self.iot_connectors = IotConnectorsOperations(self._client, self._config, self._serialize, self._deserialize)
self.fhir_destinations = FhirDestinationsOperations(self._client, self._config, self._serialize, self._deserialize)
self.iot_connector_fhir_destination = IotConnectorFhirDestinationOperations(self._client, self._config, self._serialize, self._deserialize)
self.fhir_services = FhirServicesOperations(self._client, self._config, self._serialize, self._deserialize)
self.workspace_private_endpoint_connections = WorkspacePrivateEndpointConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.workspace_private_link_resources = WorkspacePrivateLinkResourcesOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.operation_results = OperationResultsOperations(self._client, self._config, self._serialize, self._deserialize)


def _send_request(
self,
request, # type: HttpRequest
**kwargs: Any
) -> HttpResponse:
"""Runs the network request through the client's chained policies.
:param http_request: The network request you want to make. Required.
:type http_request: ~azure.core.pipeline.transport.HttpRequest
:keyword bool stream: Whether the response payload will be streamed. Defaults to True.
>>> from azure.core.rest import HttpRequest
>>> request = HttpRequest("GET", "https://www.example.org/")
<HttpRequest [GET], url: 'https://www.example.org/'>
>>> response = client._send_request(request)
<HttpResponse: 200 OK>
For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
:param request: The network request you want to make. Required.
:type request: ~azure.core.rest.HttpRequest
:keyword bool stream: Whether the response payload will be streamed. Defaults to False.
:return: The response of your network call. Does not do error handling on your response.
:rtype: ~azure.core.pipeline.transport.HttpResponse
:rtype: ~azure.core.rest.HttpResponse
"""
path_format_arguments = {
'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'),
}
http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
stream = kwargs.pop("stream", True)
pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs)
return pipeline_response.http_response

request_copy = deepcopy(request)
request_copy.url = self._client.format_url(request_copy.url)
return self._client.send_request(request_copy, **kwargs)

def close(self):
# type: () -> None
Expand Down
Loading

0 comments on commit d5736d9

Please sign in to comment.