forked from Azure/azure-sdk-for-python
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CodeGen from PR 31123 in Azure/azure-rest-api-specs
Merge 6835b53e2d8ba8a41fcf88b1eae56d4ad44ff9fb into 880980aad94f898f2e7eee806bde0d545098b6d7
- Loading branch information
SDKAuto
committed
Nov 12, 2024
1 parent
c4e1a9d
commit 08ac50b
Showing
103 changed files
with
22,856 additions
and
40,716 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
include *.md | ||
include azure/__init__.py | ||
include azure/search/__init__.py | ||
include LICENSE | ||
include azure/search/documents/py.typed | ||
recursive-include tests *.py | ||
recursive-include samples *.py *.md | ||
include azure/search/documents/py.typed | ||
include azure/__init__.py | ||
include azure/search/__init__.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{ | ||
"commit": "a739795e6adfba4425aed458d21c79242fffd33c", | ||
"repository_url": "https://github.com/Azure/azure-rest-api-specs", | ||
"typespec_src": "specification/search/Azure.Search", | ||
"@azure-tools/typespec-python": "0.36.3" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1 @@ | ||
# ------------------------------------ | ||
# Copyright (c) Microsoft Corporation. | ||
# Licensed under the MIT License. | ||
# ------------------------------------ | ||
# pylint:disable=missing-docstring | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1 @@ | ||
# ------------------------------------ | ||
# Copyright (c) Microsoft Corporation. | ||
# Licensed under the MIT License. | ||
# ------------------------------------ | ||
# pylint:disable=missing-docstring | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore |
56 changes: 22 additions & 34 deletions
56
sdk/search/azure-search-documents/azure/search/documents/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,32 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# | ||
# The MIT License (MIT) | ||
# | ||
# Permission is hereby granted, free of charge, to any person obtaining a copy | ||
# of this software and associated documentation files (the ""Software""), to | ||
# deal in the Software without restriction, including without limitation the | ||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
# sell copies of the Software, and to permit persons to whom the Software is | ||
# furnished to do so, subject to the following conditions: | ||
# | ||
# The above copyright notice and this permission notice shall be included in | ||
# all copies or substantial portions of the Software. | ||
# | ||
# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
# IN THE SOFTWARE. | ||
# | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) Python Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
# pylint: disable=wrong-import-position | ||
|
||
from ._index_documents_batch import IndexDocumentsBatch | ||
from ._search_documents_error import RequestEntityTooLargeError | ||
from ._search_client import SearchClient, SearchItemPaged | ||
from ._search_indexing_buffered_sender import SearchIndexingBufferedSender | ||
from ._api_versions import ApiVersion | ||
from typing import TYPE_CHECKING | ||
|
||
if TYPE_CHECKING: | ||
from ._patch import * # pylint: disable=unused-wildcard-import | ||
|
||
from ._client import SearchClient # type: ignore | ||
from ._version import VERSION | ||
|
||
__version__ = VERSION | ||
|
||
try: | ||
from ._patch import __all__ as _patch_all | ||
from ._patch import * | ||
except ImportError: | ||
_patch_all = [] | ||
from ._patch import patch_sdk as _patch_sdk | ||
|
||
__all__ = ( | ||
"ApiVersion", | ||
"IndexDocumentsBatch", | ||
__all__ = [ | ||
"SearchClient", | ||
"SearchItemPaged", | ||
"SearchIndexingBufferedSender", | ||
"RequestEntityTooLargeError", | ||
) | ||
] | ||
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore | ||
|
||
_patch_sdk() |
17 changes: 0 additions & 17 deletions
17
sdk/search/azure-search-documents/azure/search/documents/_api_versions.py
This file was deleted.
Oops, something went wrong.
141 changes: 141 additions & 0 deletions
141
sdk/search/azure-search-documents/azure/search/documents/_client.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) Python Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
|
||
from copy import deepcopy | ||
from typing import Any, TYPE_CHECKING, Union | ||
from typing_extensions import Self | ||
|
||
from azure.core import PipelineClient | ||
from azure.core.credentials import AzureKeyCredential | ||
from azure.core.pipeline import policies | ||
from azure.core.rest import HttpRequest, HttpResponse | ||
|
||
from ._configuration import SearchClientConfiguration | ||
from ._serialization import Deserializer, Serializer | ||
from .operations import ( | ||
DataSourcesOperationsOperations, | ||
DocumentsOperationsOperations, | ||
IndexersOperationsOperations, | ||
IndexesOperationsOperations, | ||
SearchClientOperationsMixin, | ||
SkillsetsOperationsOperations, | ||
SynonymMapsOperationsOperations, | ||
) | ||
|
||
if TYPE_CHECKING: | ||
from azure.core.credentials import TokenCredential | ||
|
||
|
||
class SearchClient(SearchClientOperationsMixin): # pylint: disable=too-many-instance-attributes | ||
"""Client that can be used to manage and query indexes and documents, as well as | ||
manage other resources, on a search service. | ||
:ivar data_sources_operations: DataSourcesOperationsOperations operations | ||
:vartype data_sources_operations: | ||
azure.search.documents.operations.DataSourcesOperationsOperations | ||
:ivar indexers_operations: IndexersOperationsOperations operations | ||
:vartype indexers_operations: azure.search.documents.operations.IndexersOperationsOperations | ||
:ivar skillsets_operations: SkillsetsOperationsOperations operations | ||
:vartype skillsets_operations: azure.search.documents.operations.SkillsetsOperationsOperations | ||
:ivar synonym_maps_operations: SynonymMapsOperationsOperations operations | ||
:vartype synonym_maps_operations: | ||
azure.search.documents.operations.SynonymMapsOperationsOperations | ||
:ivar indexes_operations: IndexesOperationsOperations operations | ||
:vartype indexes_operations: azure.search.documents.operations.IndexesOperationsOperations | ||
:ivar documents_operations: DocumentsOperationsOperations operations | ||
:vartype documents_operations: azure.search.documents.operations.DocumentsOperationsOperations | ||
:param endpoint: Service host. Required. | ||
:type endpoint: str | ||
:param credential: Credential used to authenticate requests to the service. Is either a | ||
AzureKeyCredential type or a TokenCredential type. Required. | ||
:type credential: ~azure.core.credentials.AzureKeyCredential or | ||
~azure.core.credentials.TokenCredential | ||
:keyword api_version: The API version to use for this operation. Default value is "2024-07-01". | ||
Note that overriding this default value may result in unsupported behavior. | ||
:paramtype api_version: str | ||
""" | ||
|
||
def __init__(self, endpoint: str, credential: Union[AzureKeyCredential, "TokenCredential"], **kwargs: Any) -> None: | ||
_endpoint = "{endpoint}" | ||
self._config = SearchClientConfiguration(endpoint=endpoint, credential=credential, **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), | ||
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: PipelineClient = PipelineClient(base_url=_endpoint, policies=_policies, **kwargs) | ||
|
||
self._serialize = Serializer() | ||
self._deserialize = Deserializer() | ||
self._serialize.client_side_validation = False | ||
self.data_sources_operations = DataSourcesOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
self.indexers_operations = IndexersOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
self.skillsets_operations = SkillsetsOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
self.synonym_maps_operations = SynonymMapsOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
self.indexes_operations = IndexesOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
self.documents_operations = DocumentsOperationsOperations( | ||
self._client, self._config, self._serialize, self._deserialize | ||
) | ||
|
||
def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse: | ||
"""Runs the network request through the client's chained policies. | ||
>>> 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/dpcodegen/python/send_request | ||
: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.rest.HttpResponse | ||
""" | ||
|
||
request_copy = deepcopy(request) | ||
path_format_arguments = { | ||
"endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), | ||
} | ||
|
||
request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) | ||
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore | ||
|
||
def close(self) -> None: | ||
self._client.close() | ||
|
||
def __enter__(self) -> Self: | ||
self._client.__enter__() | ||
return self | ||
|
||
def __exit__(self, *exc_details: Any) -> None: | ||
self._client.__exit__(*exc_details) |
71 changes: 71 additions & 0 deletions
71
sdk/search/azure-search-documents/azure/search/documents/_configuration.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) Python Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
|
||
from typing import Any, TYPE_CHECKING, Union | ||
|
||
from azure.core.credentials import AzureKeyCredential | ||
from azure.core.pipeline import policies | ||
|
||
from ._version import VERSION | ||
|
||
if TYPE_CHECKING: | ||
from azure.core.credentials import TokenCredential | ||
|
||
|
||
class SearchClientConfiguration: # pylint: disable=too-many-instance-attributes | ||
"""Configuration for SearchClient. | ||
Note that all parameters used to create this instance are saved as instance | ||
attributes. | ||
:param endpoint: Service host. Required. | ||
:type endpoint: str | ||
:param credential: Credential used to authenticate requests to the service. Is either a | ||
AzureKeyCredential type or a TokenCredential type. Required. | ||
:type credential: ~azure.core.credentials.AzureKeyCredential or | ||
~azure.core.credentials.TokenCredential | ||
:keyword api_version: The API version to use for this operation. Default value is "2024-07-01". | ||
Note that overriding this default value may result in unsupported behavior. | ||
:paramtype api_version: str | ||
""" | ||
|
||
def __init__(self, endpoint: str, credential: Union[AzureKeyCredential, "TokenCredential"], **kwargs: Any) -> None: | ||
api_version: str = kwargs.pop("api_version", "2024-07-01") | ||
|
||
if endpoint is None: | ||
raise ValueError("Parameter 'endpoint' must not be None.") | ||
if credential is None: | ||
raise ValueError("Parameter 'credential' must not be None.") | ||
|
||
self.endpoint = endpoint | ||
self.credential = credential | ||
self.api_version = api_version | ||
self.credential_scopes = kwargs.pop("credential_scopes", ["https://search.azure.com/.default"]) | ||
kwargs.setdefault("sdk_moniker", "search-documents/{}".format(VERSION)) | ||
self.polling_interval = kwargs.get("polling_interval", 30) | ||
self._configure(**kwargs) | ||
|
||
def _infer_policy(self, **kwargs): | ||
if isinstance(self.credential, AzureKeyCredential): | ||
return policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) | ||
if hasattr(self.credential, "get_token"): | ||
return policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) | ||
raise TypeError(f"Unsupported credential: {self.credential}") | ||
|
||
def _configure(self, **kwargs: Any) -> None: | ||
self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) | ||
self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) | ||
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) | ||
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) | ||
self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**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.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) | ||
self.authentication_policy = kwargs.get("authentication_policy") | ||
if self.credential and not self.authentication_policy: | ||
self.authentication_policy = self._infer_policy(**kwargs) |
27 changes: 0 additions & 27 deletions
27
sdk/search/azure-search-documents/azure/search/documents/_generated/__init__.py
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.