Skip to content

Commit 60bc46c

Browse files
authored
Used vendored application insight sdk (#9184)
* vendor SDK * Update SDK reference * Fix test
1 parent 0290b03 commit 60bc46c

File tree

69 files changed

+30741
-6972
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+30741
-6972
lines changed

src/spring/HISTORY.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Release History
22
===============
3+
1.28.5
4+
---
5+
* Update Application Insight SDK.
6+
37
1.28.4
48
---
59
* Fix regression issue caused by the SDK change.

src/spring/azext_spring/apm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
from azure.cli.core.commands.client_factory import get_mgmt_service_client
99
from azure.cli.core.util import sdk_no_wait
1010
from azure.core.exceptions import ResourceNotFoundError
11-
from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient
1211
from knack.log import get_logger
1312
from azure.mgmt.core.tools import parse_resource_id, is_valid_resource_id
1413

1514
from ._utils import get_portal_uri
1615
from .custom import try_create_application_insights
1716
from .vendored_sdks.appplatform.v2024_05_01_preview import models
17+
from .vendored_sdks.applicationinsights import ApplicationInsightsManagementClient
1818

1919
logger = get_logger(__name__)
2020
DEFAULT_APM_NAME = "default"

src/spring/azext_spring/buildpack_binding.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from azure.mgmt.core.tools import parse_resource_id, is_valid_resource_id
1212
from azure.cli.core.commands.client_factory import get_mgmt_service_client
1313
from azure.cli.core.azclierror import InvalidArgumentValueError
14-
from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient
14+
from .vendored_sdks.applicationinsights import ApplicationInsightsManagementClient
1515
from azure.core.exceptions import ResourceNotFoundError
1616
from knack.log import get_logger
1717

src/spring/azext_spring/custom.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
from azure.cli.core.azclierror import ClientRequestError, FileOperationError, InvalidArgumentValueError, ResourceNotFoundError
3131
from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id
3232
from azure.cli.core.util import sdk_no_wait
33-
from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient
33+
from .vendored_sdks.applicationinsights import ApplicationInsightsManagementClient
3434
from azure.cli.core.commands import cached_put
3535
from azure.mgmt.core.tools import resource_id
3636
from ._resource_quantity import validate_cpu, validate_memory
@@ -1589,8 +1589,7 @@ def try_create_application_insights(cmd, resource_group, name, location):
15891589
logger.warning(APP_INSIGHTS_CREATION_FAILURE_WARNING)
15901590
return None
15911591

1592-
app_insights_client = get_mgmt_service_client(cmd.cli_ctx, ApplicationInsightsManagementClient,
1593-
api_version='2020-02-02-preview')
1592+
app_insights_client = get_mgmt_service_client(cmd.cli_ctx, ApplicationInsightsManagementClient)
15941593
ai_properties = {
15951594
"location": location,
15961595
"kind": "web",

src/spring/azext_spring/tests/latest/recordings/test_asc_app_insights_update.yaml

Lines changed: 1918 additions & 3060 deletions
Large diffs are not rendered by default.

src/spring/azext_spring/tests/latest/recordings/test_asc_update.yaml

Lines changed: 885 additions & 1356 deletions
Large diffs are not rendered by default.

src/spring/azext_spring/tests/latest/recordings/test_create_asc_heavy_cases.yaml

Lines changed: 2513 additions & 2547 deletions
Large diffs are not rendered by default.

src/spring/azext_spring/tests/latest/test_asa_app_insights_scenario.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def test_create_asc_with_ai_basic_case(self):
4141

4242
def test_create_asc_heavy_cases(self):
4343
self.kwargs.update({
44-
'serviceName': 'cli-unittest',
44+
'serviceName': 'cli-unittest-12',
4545
'SKU': 'Basic',
4646
'location': 'eastus2',
4747
'rg': 'cli',
@@ -154,7 +154,7 @@ def test_negative_create_asc(self):
154154

155155
def test_asc_update(self):
156156
self.kwargs.update({
157-
'serviceName': 'cli-unittest10',
157+
'serviceName': 'cli-unittest11',
158158
'rg': 'cli',
159159
'shared_ai_name': 'cli_scenario_test_202207021820'
160160
})
@@ -206,7 +206,7 @@ def test_negative_asc_update(self):
206206

207207
def test_asc_app_insights_update(self):
208208
self.kwargs.update({
209-
'serviceName': 'cli-unittest10',
209+
'serviceName': 'cli-unittest11',
210210
'rg': 'cli',
211211
'shared_ai_name': 'cli_scenario_test_202207021820'
212212
})
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# coding=utf-8
2+
# --------------------------------------------------------------------------
3+
# Copyright (c) Microsoft Corporation. All rights reserved.
4+
# Licensed under the MIT License. See License.txt in the project root for license information.
5+
# Code generated by Microsoft (R) AutoRest Code Generator.
6+
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7+
# --------------------------------------------------------------------------
8+
# pylint: disable=wrong-import-position
9+
10+
from typing import TYPE_CHECKING
11+
12+
if TYPE_CHECKING:
13+
from ._patch import * # pylint: disable=unused-wildcard-import
14+
15+
from ._application_insights_management_client import ApplicationInsightsManagementClient # type: ignore
16+
from ._version import VERSION
17+
18+
__version__ = VERSION
19+
20+
try:
21+
from ._patch import __all__ as _patch_all
22+
from ._patch import *
23+
except ImportError:
24+
_patch_all = []
25+
from ._patch import patch_sdk as _patch_sdk
26+
27+
__all__ = [
28+
"ApplicationInsightsManagementClient",
29+
]
30+
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
31+
32+
_patch_sdk()
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
# pylint: disable=line-too-long,useless-suppression
2+
# coding=utf-8
3+
# --------------------------------------------------------------------------
4+
# Copyright (c) Microsoft Corporation. All rights reserved.
5+
# Licensed under the MIT License. See License.txt in the project root for license information.
6+
# Code generated by Microsoft (R) AutoRest Code Generator.
7+
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
8+
# --------------------------------------------------------------------------
9+
10+
from copy import deepcopy
11+
from typing import Any, Optional, TYPE_CHECKING, cast
12+
from typing_extensions import Self
13+
14+
from azure.core.pipeline import policies
15+
from azure.core.rest import HttpRequest, HttpResponse
16+
from azure.core.settings import settings
17+
from azure.mgmt.core import ARMPipelineClient
18+
from azure.mgmt.core.policies import ARMAutoResourceProviderRegistrationPolicy
19+
from azure.mgmt.core.tools import get_arm_endpoints
20+
21+
from . import models as _models
22+
from ._configuration import ApplicationInsightsManagementClientConfiguration
23+
from ._utils.serialization import Deserializer, Serializer
24+
from .operations import (
25+
APIKeysOperations,
26+
AnalyticsItemsOperations,
27+
AnnotationsOperations,
28+
ComponentAvailableFeaturesOperations,
29+
ComponentCurrentBillingFeaturesOperations,
30+
ComponentFeatureCapabilitiesOperations,
31+
ComponentLinkedStorageAccountsOperations,
32+
ComponentQuotaStatusOperations,
33+
ComponentsOperations,
34+
DeletedWorkbooksOperations,
35+
ExportConfigurationsOperations,
36+
FavoritesOperations,
37+
LiveTokenOperations,
38+
Operations,
39+
ProactiveDetectionConfigurationsOperations,
40+
WebTestLocationsOperations,
41+
WebTestsOperations,
42+
WorkItemConfigurationsOperations,
43+
WorkbookTemplatesOperations,
44+
WorkbooksOperations,
45+
)
46+
47+
if TYPE_CHECKING:
48+
from azure.core.credentials import TokenCredential
49+
50+
51+
class ApplicationInsightsManagementClient: # pylint: disable=client-accepts-api-version-keyword,too-many-instance-attributes
52+
"""Composite Swagger for Application Insights Management Client.
53+
54+
:ivar components: ComponentsOperations operations
55+
:vartype components: azure.mgmt.applicationinsights.operations.ComponentsOperations
56+
:ivar annotations: AnnotationsOperations operations
57+
:vartype annotations: azure.mgmt.applicationinsights.operations.AnnotationsOperations
58+
:ivar api_keys: APIKeysOperations operations
59+
:vartype api_keys: azure.mgmt.applicationinsights.operations.APIKeysOperations
60+
:ivar export_configurations: ExportConfigurationsOperations operations
61+
:vartype export_configurations:
62+
azure.mgmt.applicationinsights.operations.ExportConfigurationsOperations
63+
:ivar component_current_billing_features: ComponentCurrentBillingFeaturesOperations operations
64+
:vartype component_current_billing_features:
65+
azure.mgmt.applicationinsights.operations.ComponentCurrentBillingFeaturesOperations
66+
:ivar component_quota_status: ComponentQuotaStatusOperations operations
67+
:vartype component_quota_status:
68+
azure.mgmt.applicationinsights.operations.ComponentQuotaStatusOperations
69+
:ivar component_feature_capabilities: ComponentFeatureCapabilitiesOperations operations
70+
:vartype component_feature_capabilities:
71+
azure.mgmt.applicationinsights.operations.ComponentFeatureCapabilitiesOperations
72+
:ivar component_available_features: ComponentAvailableFeaturesOperations operations
73+
:vartype component_available_features:
74+
azure.mgmt.applicationinsights.operations.ComponentAvailableFeaturesOperations
75+
:ivar proactive_detection_configurations: ProactiveDetectionConfigurationsOperations operations
76+
:vartype proactive_detection_configurations:
77+
azure.mgmt.applicationinsights.operations.ProactiveDetectionConfigurationsOperations
78+
:ivar work_item_configurations: WorkItemConfigurationsOperations operations
79+
:vartype work_item_configurations:
80+
azure.mgmt.applicationinsights.operations.WorkItemConfigurationsOperations
81+
:ivar favorites: FavoritesOperations operations
82+
:vartype favorites: azure.mgmt.applicationinsights.operations.FavoritesOperations
83+
:ivar web_test_locations: WebTestLocationsOperations operations
84+
:vartype web_test_locations:
85+
azure.mgmt.applicationinsights.operations.WebTestLocationsOperations
86+
:ivar web_tests: WebTestsOperations operations
87+
:vartype web_tests: azure.mgmt.applicationinsights.operations.WebTestsOperations
88+
:ivar analytics_items: AnalyticsItemsOperations operations
89+
:vartype analytics_items: azure.mgmt.applicationinsights.operations.AnalyticsItemsOperations
90+
:ivar operations: Operations operations
91+
:vartype operations: azure.mgmt.applicationinsights.operations.Operations
92+
:ivar workbook_templates: WorkbookTemplatesOperations operations
93+
:vartype workbook_templates:
94+
azure.mgmt.applicationinsights.operations.WorkbookTemplatesOperations
95+
:ivar workbooks: WorkbooksOperations operations
96+
:vartype workbooks: azure.mgmt.applicationinsights.operations.WorkbooksOperations
97+
:ivar live_token: LiveTokenOperations operations
98+
:vartype live_token: azure.mgmt.applicationinsights.operations.LiveTokenOperations
99+
:ivar component_linked_storage_accounts: ComponentLinkedStorageAccountsOperations operations
100+
:vartype component_linked_storage_accounts:
101+
azure.mgmt.applicationinsights.operations.ComponentLinkedStorageAccountsOperations
102+
:ivar deleted_workbooks: DeletedWorkbooksOperations operations
103+
:vartype deleted_workbooks:
104+
azure.mgmt.applicationinsights.operations.DeletedWorkbooksOperations
105+
:param credential: Credential needed for the client to connect to Azure. Required.
106+
:type credential: ~azure.core.credentials.TokenCredential
107+
:param subscription_id: The ID of the target subscription. Required.
108+
:type subscription_id: str
109+
:param base_url: Service URL. Default value is None.
110+
:type base_url: str
111+
"""
112+
113+
def __init__(
114+
self, credential: "TokenCredential", subscription_id: str, base_url: Optional[str] = None, **kwargs: Any
115+
) -> None:
116+
_cloud = kwargs.pop("cloud_setting", None) or settings.current.azure_cloud # type: ignore
117+
_endpoints = get_arm_endpoints(_cloud)
118+
if not base_url:
119+
base_url = _endpoints["resource_manager"]
120+
credential_scopes = kwargs.pop("credential_scopes", _endpoints["credential_scopes"])
121+
self._config = ApplicationInsightsManagementClientConfiguration(
122+
credential=credential, subscription_id=subscription_id, credential_scopes=credential_scopes, **kwargs
123+
)
124+
125+
_policies = kwargs.pop("policies", None)
126+
if _policies is None:
127+
_policies = [
128+
policies.RequestIdPolicy(**kwargs),
129+
self._config.headers_policy,
130+
self._config.user_agent_policy,
131+
self._config.proxy_policy,
132+
policies.ContentDecodePolicy(**kwargs),
133+
ARMAutoResourceProviderRegistrationPolicy(),
134+
self._config.redirect_policy,
135+
self._config.retry_policy,
136+
self._config.authentication_policy,
137+
self._config.custom_hook_policy,
138+
self._config.logging_policy,
139+
policies.DistributedTracingPolicy(**kwargs),
140+
policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
141+
self._config.http_logging_policy,
142+
]
143+
self._client: ARMPipelineClient = ARMPipelineClient(base_url=cast(str, base_url), policies=_policies, **kwargs)
144+
145+
client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
146+
self._serialize = Serializer(client_models)
147+
self._deserialize = Deserializer(client_models)
148+
self._serialize.client_side_validation = False
149+
self.components = ComponentsOperations(self._client, self._config, self._serialize, self._deserialize)
150+
self.annotations = AnnotationsOperations(self._client, self._config, self._serialize, self._deserialize)
151+
self.api_keys = APIKeysOperations(self._client, self._config, self._serialize, self._deserialize)
152+
self.export_configurations = ExportConfigurationsOperations(
153+
self._client, self._config, self._serialize, self._deserialize
154+
)
155+
self.component_current_billing_features = ComponentCurrentBillingFeaturesOperations(
156+
self._client, self._config, self._serialize, self._deserialize
157+
)
158+
self.component_quota_status = ComponentQuotaStatusOperations(
159+
self._client, self._config, self._serialize, self._deserialize
160+
)
161+
self.component_feature_capabilities = ComponentFeatureCapabilitiesOperations(
162+
self._client, self._config, self._serialize, self._deserialize
163+
)
164+
self.component_available_features = ComponentAvailableFeaturesOperations(
165+
self._client, self._config, self._serialize, self._deserialize
166+
)
167+
self.proactive_detection_configurations = ProactiveDetectionConfigurationsOperations(
168+
self._client, self._config, self._serialize, self._deserialize
169+
)
170+
self.work_item_configurations = WorkItemConfigurationsOperations(
171+
self._client, self._config, self._serialize, self._deserialize
172+
)
173+
self.favorites = FavoritesOperations(self._client, self._config, self._serialize, self._deserialize)
174+
self.web_test_locations = WebTestLocationsOperations(
175+
self._client, self._config, self._serialize, self._deserialize
176+
)
177+
self.web_tests = WebTestsOperations(self._client, self._config, self._serialize, self._deserialize)
178+
self.analytics_items = AnalyticsItemsOperations(self._client, self._config, self._serialize, self._deserialize)
179+
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
180+
self.workbook_templates = WorkbookTemplatesOperations(
181+
self._client, self._config, self._serialize, self._deserialize
182+
)
183+
self.workbooks = WorkbooksOperations(self._client, self._config, self._serialize, self._deserialize)
184+
self.live_token = LiveTokenOperations(self._client, self._config, self._serialize, self._deserialize)
185+
self.component_linked_storage_accounts = ComponentLinkedStorageAccountsOperations(
186+
self._client, self._config, self._serialize, self._deserialize
187+
)
188+
self.deleted_workbooks = DeletedWorkbooksOperations(
189+
self._client, self._config, self._serialize, self._deserialize
190+
)
191+
192+
def _send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
193+
"""Runs the network request through the client's chained policies.
194+
195+
>>> from azure.core.rest import HttpRequest
196+
>>> request = HttpRequest("GET", "https://www.example.org/")
197+
<HttpRequest [GET], url: 'https://www.example.org/'>
198+
>>> response = client._send_request(request)
199+
<HttpResponse: 200 OK>
200+
201+
For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request
202+
203+
:param request: The network request you want to make. Required.
204+
:type request: ~azure.core.rest.HttpRequest
205+
:keyword bool stream: Whether the response payload will be streamed. Defaults to False.
206+
:return: The response of your network call. Does not do error handling on your response.
207+
:rtype: ~azure.core.rest.HttpResponse
208+
"""
209+
210+
request_copy = deepcopy(request)
211+
request_copy.url = self._client.format_url(request_copy.url)
212+
return self._client.send_request(request_copy, stream=stream, **kwargs) # type: ignore
213+
214+
def close(self) -> None:
215+
self._client.close()
216+
217+
def __enter__(self) -> Self:
218+
self._client.__enter__()
219+
return self
220+
221+
def __exit__(self, *exc_details: Any) -> None:
222+
self._client.__exit__(*exc_details)

0 commit comments

Comments
 (0)