mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2026-06-20 18:06:50 +00:00
Compare commits
No commits in common. "953700f7e5f4ee6fff3e09944153abad95a8baf0" and "71cf7d5a51f77b6e67e5117f82c7e9de96de6b72" have entirely different histories.
953700f7e5
...
71cf7d5a51
2
.github/workflows/python.yaml
vendored
2
.github/workflows/python.yaml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
# Initialize coverage data file
|
# Initialize coverage data file
|
||||||
coverage erase
|
coverage erase
|
||||||
|
|
||||||
for module in $(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" | cut -c 3-); do
|
for module in $(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" ! -name "thousandeyes-sdk-core" | cut -c 3-); do
|
||||||
pip install -e $module
|
pip install -e $module
|
||||||
coverage run --source=$module -m pytest $module
|
coverage run --source=$module -m pytest $module
|
||||||
# Move the .coverage file to a unique name
|
# Move the .coverage file to a unique name
|
||||||
|
|||||||
@ -12,7 +12,7 @@ This API provides the following operations to manage your organization:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Manage all agents available to your account in ThousandEyes, including both Clou
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -94,7 +94,7 @@ Name | Type | Description | Notes
|
|||||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||||
|
|
||||||
# **get_alerts**
|
# **get_alerts**
|
||||||
> Alerts get_alerts(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, state=state)
|
> Alerts get_alerts(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, state=state)
|
||||||
|
|
||||||
List active alerts
|
List active alerts
|
||||||
|
|
||||||
@ -135,12 +135,11 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client:
|
|||||||
start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||||
end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||||
max = 5 # int | (Optional) Maximum number of objects to return. (optional)
|
max = 5 # int | (Optional) Maximum number of objects to return. (optional)
|
||||||
cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional)
|
|
||||||
state = thousandeyes_sdk.alerts.State() # State | Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`. (optional)
|
state = thousandeyes_sdk.alerts.State() # State | Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`. (optional)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# List active alerts
|
# List active alerts
|
||||||
api_response = api_instance.get_alerts(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, state=state)
|
api_response = api_instance.get_alerts(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, state=state)
|
||||||
print("The response of AlertsApi->get_alerts:\n")
|
print("The response of AlertsApi->get_alerts:\n")
|
||||||
pprint(api_response)
|
pprint(api_response)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -159,7 +158,6 @@ Name | Type | Description | Notes
|
|||||||
**start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
**start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||||
**end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
**end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||||
**max** | **int**| (Optional) Maximum number of objects to return. | [optional]
|
**max** | **int**| (Optional) Maximum number of objects to return. | [optional]
|
||||||
**cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional]
|
|
||||||
**state** | [**State**](.md)| Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`. | [optional]
|
**state** | [**State**](.md)| Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`. | [optional]
|
||||||
|
|
||||||
### Return type
|
### Return type
|
||||||
|
|||||||
@ -346,7 +346,6 @@ class AlertsApi:
|
|||||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
||||||
cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None,
|
|
||||||
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
||||||
_request_timeout: Union[
|
_request_timeout: Union[
|
||||||
None,
|
None,
|
||||||
@ -375,8 +374,6 @@ class AlertsApi:
|
|||||||
:type end_date: datetime
|
:type end_date: datetime
|
||||||
:param max: (Optional) Maximum number of objects to return.
|
:param max: (Optional) Maximum number of objects to return.
|
||||||
:type max: int
|
:type max: int
|
||||||
:param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.
|
|
||||||
:type cursor: str
|
|
||||||
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
||||||
:type state: State
|
:type state: State
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
:param _request_timeout: timeout setting for this request. If one
|
||||||
@ -407,7 +404,6 @@ class AlertsApi:
|
|||||||
start_date=start_date,
|
start_date=start_date,
|
||||||
end_date=end_date,
|
end_date=end_date,
|
||||||
max=max,
|
max=max,
|
||||||
cursor=cursor,
|
|
||||||
state=state,
|
state=state,
|
||||||
_request_auth=_request_auth,
|
_request_auth=_request_auth,
|
||||||
_content_type=_content_type,
|
_content_type=_content_type,
|
||||||
@ -443,7 +439,6 @@ class AlertsApi:
|
|||||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
||||||
cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None,
|
|
||||||
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
||||||
_request_timeout: Union[
|
_request_timeout: Union[
|
||||||
None,
|
None,
|
||||||
@ -472,8 +467,6 @@ class AlertsApi:
|
|||||||
:type end_date: datetime
|
:type end_date: datetime
|
||||||
:param max: (Optional) Maximum number of objects to return.
|
:param max: (Optional) Maximum number of objects to return.
|
||||||
:type max: int
|
:type max: int
|
||||||
:param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.
|
|
||||||
:type cursor: str
|
|
||||||
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
||||||
:type state: State
|
:type state: State
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
:param _request_timeout: timeout setting for this request. If one
|
||||||
@ -504,7 +497,6 @@ class AlertsApi:
|
|||||||
start_date=start_date,
|
start_date=start_date,
|
||||||
end_date=end_date,
|
end_date=end_date,
|
||||||
max=max,
|
max=max,
|
||||||
cursor=cursor,
|
|
||||||
state=state,
|
state=state,
|
||||||
_request_auth=_request_auth,
|
_request_auth=_request_auth,
|
||||||
_content_type=_content_type,
|
_content_type=_content_type,
|
||||||
@ -540,7 +532,6 @@ class AlertsApi:
|
|||||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||||
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None,
|
||||||
cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None,
|
|
||||||
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
state: Annotated[Optional[Any], Field(description="Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.")] = None,
|
||||||
_request_timeout: Union[
|
_request_timeout: Union[
|
||||||
None,
|
None,
|
||||||
@ -569,8 +560,6 @@ class AlertsApi:
|
|||||||
:type end_date: datetime
|
:type end_date: datetime
|
||||||
:param max: (Optional) Maximum number of objects to return.
|
:param max: (Optional) Maximum number of objects to return.
|
||||||
:type max: int
|
:type max: int
|
||||||
:param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.
|
|
||||||
:type cursor: str
|
|
||||||
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
:param state: Optional parameter to match a specific alert state. If not specified, it defaults to `trigger`.
|
||||||
:type state: State
|
:type state: State
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
:param _request_timeout: timeout setting for this request. If one
|
||||||
@ -601,7 +590,6 @@ class AlertsApi:
|
|||||||
start_date=start_date,
|
start_date=start_date,
|
||||||
end_date=end_date,
|
end_date=end_date,
|
||||||
max=max,
|
max=max,
|
||||||
cursor=cursor,
|
|
||||||
state=state,
|
state=state,
|
||||||
_request_auth=_request_auth,
|
_request_auth=_request_auth,
|
||||||
_content_type=_content_type,
|
_content_type=_content_type,
|
||||||
@ -631,7 +619,6 @@ class AlertsApi:
|
|||||||
start_date,
|
start_date,
|
||||||
end_date,
|
end_date,
|
||||||
max,
|
max,
|
||||||
cursor,
|
|
||||||
state,
|
state,
|
||||||
_request_auth,
|
_request_auth,
|
||||||
_content_type,
|
_content_type,
|
||||||
@ -691,10 +678,6 @@ class AlertsApi:
|
|||||||
|
|
||||||
_query_params.append(('max', max))
|
_query_params.append(('max', max))
|
||||||
|
|
||||||
if cursor is not None:
|
|
||||||
|
|
||||||
_query_params.append(('cursor', cursor))
|
|
||||||
|
|
||||||
if state is not None:
|
if state is not None:
|
||||||
|
|
||||||
_query_params.append(('state', state))
|
_query_params.append(('state', state))
|
||||||
|
|||||||
@ -28,7 +28,6 @@ class ThirdPartyIntegrationType(str, Enum):
|
|||||||
PAGER_MINUS_DUTY = 'pager-duty'
|
PAGER_MINUS_DUTY = 'pager-duty'
|
||||||
SLACK = 'slack'
|
SLACK = 'slack'
|
||||||
APP_MINUS_DYNAMICS = 'app-dynamics'
|
APP_MINUS_DYNAMICS = 'app-dynamics'
|
||||||
SERVICE_MINUS_NOW = 'service-now'
|
|
||||||
UNKNOWN = 'unknown'
|
UNKNOWN = 'unknown'
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
@ -69,12 +69,12 @@ class TestAlertRulesApi(unittest.TestCase):
|
|||||||
"customWebhook" : [ {
|
"customWebhook" : [ {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
}, {
|
}, {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
} ]
|
} ]
|
||||||
},
|
},
|
||||||
@ -136,12 +136,12 @@ class TestAlertRulesApi(unittest.TestCase):
|
|||||||
"customWebhook" : [ {
|
"customWebhook" : [ {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
}, {
|
}, {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
} ]
|
} ]
|
||||||
},
|
},
|
||||||
@ -272,12 +272,12 @@ class TestAlertRulesApi(unittest.TestCase):
|
|||||||
"customWebhook" : [ {
|
"customWebhook" : [ {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
}, {
|
}, {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
} ]
|
} ]
|
||||||
},
|
},
|
||||||
@ -385,12 +385,12 @@ class TestAlertRulesApi(unittest.TestCase):
|
|||||||
"customWebhook" : [ {
|
"customWebhook" : [ {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
}, {
|
}, {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
} ]
|
} ]
|
||||||
},
|
},
|
||||||
@ -452,12 +452,12 @@ class TestAlertRulesApi(unittest.TestCase):
|
|||||||
"customWebhook" : [ {
|
"customWebhook" : [ {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
}, {
|
}, {
|
||||||
"integrationType" : "custom-webhook",
|
"integrationType" : "custom-webhook",
|
||||||
"integrationName" : "My webhook",
|
"integrationName" : "My webhook",
|
||||||
"integrationId" : "6e069ae9-8537-4120-b988-61bf8e0d8b87",
|
"integrationId" : "cwb-201",
|
||||||
"target" : "https://example.com/test/webhooks/notifications"
|
"target" : "https://example.com/test/webhooks/notifications"
|
||||||
} ]
|
} ]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -418,8 +418,6 @@ class ApiClient:
|
|||||||
# convert str to class
|
# convert str to class
|
||||||
if klass in self.NATIVE_TYPES_MAPPING:
|
if klass in self.NATIVE_TYPES_MAPPING:
|
||||||
klass = self.NATIVE_TYPES_MAPPING[klass]
|
klass = self.NATIVE_TYPES_MAPPING[klass]
|
||||||
elif klass == 'dict':
|
|
||||||
return data
|
|
||||||
else:
|
else:
|
||||||
klass = getattr(models, klass)
|
klass = getattr(models, klass)
|
||||||
|
|
||||||
|
|||||||
@ -1,124 +0,0 @@
|
|||||||
import pytest
|
|
||||||
import datetime
|
|
||||||
from unittest.mock import Mock, patch
|
|
||||||
from thousandeyes_sdk.core.api_client import ApiClient
|
|
||||||
from thousandeyes_sdk.core.configuration import Configuration
|
|
||||||
from thousandeyes_sdk.core import rest
|
|
||||||
from thousandeyes_sdk.core.exceptions import ApiException
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def api_client():
|
|
||||||
config = Configuration()
|
|
||||||
return ApiClient(configuration=config)
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_client_initialization(api_client):
|
|
||||||
assert api_client.configuration is not None
|
|
||||||
assert isinstance(api_client.rest_client, rest.RESTClientObject)
|
|
||||||
assert api_client.default_headers == {}
|
|
||||||
assert api_client.cookie is None
|
|
||||||
|
|
||||||
|
|
||||||
def test_set_default_header(api_client):
|
|
||||||
api_client.set_default_header('X-Test-Header', 'test_value')
|
|
||||||
assert api_client.default_headers['X-Test-Header'] == 'test_value'
|
|
||||||
|
|
||||||
|
|
||||||
def test_user_agent_property(api_client):
|
|
||||||
api_client.user_agent = 'test-agent'
|
|
||||||
assert api_client.user_agent == 'test-agent'
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_default():
|
|
||||||
default_client = ApiClient.get_default()
|
|
||||||
assert isinstance(default_client, ApiClient)
|
|
||||||
|
|
||||||
|
|
||||||
def test_set_default():
|
|
||||||
new_default = ApiClient()
|
|
||||||
ApiClient.set_default(new_default)
|
|
||||||
assert ApiClient.get_default() == new_default
|
|
||||||
|
|
||||||
|
|
||||||
def test_param_serialize(api_client):
|
|
||||||
method, url, headers, _, __ = api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/test/{id}',
|
|
||||||
path_params={'id': 1},
|
|
||||||
query_params={'aid': '12'},
|
|
||||||
header_params={'X-Test': 'test_value'}
|
|
||||||
)
|
|
||||||
assert method == 'GET'
|
|
||||||
print(url + "3")
|
|
||||||
assert url == api_client.configuration.host + '/test/1?aid=12'
|
|
||||||
assert headers['X-Test'] == 'test_value'
|
|
||||||
|
|
||||||
|
|
||||||
@patch('thousandeyes_sdk.core.rest.RESTClientObject.request')
|
|
||||||
def test_call_api(mock_request, api_client):
|
|
||||||
mock_response = Mock()
|
|
||||||
mock_response.data = b'{"dummyKey": "someValue"}'
|
|
||||||
mock_response.status = 200
|
|
||||||
mock_request.return_value = mock_response
|
|
||||||
|
|
||||||
response = api_client.call_api(
|
|
||||||
method='GET',
|
|
||||||
url='/tests',
|
|
||||||
body=None,
|
|
||||||
post_params=None,
|
|
||||||
_request_timeout=None
|
|
||||||
)
|
|
||||||
assert response.data == b'{"dummyKey": "someValue"}'
|
|
||||||
assert response.status == 200
|
|
||||||
|
|
||||||
|
|
||||||
@patch('thousandeyes_sdk.core.rest.RESTClientObject.request')
|
|
||||||
def test_call_api_exception(mock_request, api_client):
|
|
||||||
mock_request.side_effect = ApiException(status=404, reason="Not Found")
|
|
||||||
with pytest.raises(ApiException):
|
|
||||||
api_client.call_api(
|
|
||||||
method='GET',
|
|
||||||
url='/tests',
|
|
||||||
body=None,
|
|
||||||
post_params=None,
|
|
||||||
_request_timeout=None
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_response_deserialize(api_client):
|
|
||||||
mock_response = Mock()
|
|
||||||
mock_response.data = b'{"dummyKey": "someValue"}'
|
|
||||||
mock_response.status = 200
|
|
||||||
mock_response.getheader.return_value = 'application/json'
|
|
||||||
mock_response.getheaders.return_value = {}
|
|
||||||
|
|
||||||
response = api_client.response_deserialize(
|
|
||||||
response_data=mock_response,
|
|
||||||
response_types_map={'200': 'dict'},
|
|
||||||
models={}
|
|
||||||
)
|
|
||||||
assert response.data == {"dummyKey": "someValue"}
|
|
||||||
assert response.status_code == 200
|
|
||||||
|
|
||||||
|
|
||||||
def test_sanitize_for_serialization(api_client):
|
|
||||||
data = {
|
|
||||||
'str': 'value',
|
|
||||||
'int': 1,
|
|
||||||
'float': 1.1,
|
|
||||||
'bool': True,
|
|
||||||
'datetime': datetime.datetime(2023, 1, 1),
|
|
||||||
'date': datetime.date(2023, 1, 1),
|
|
||||||
'list': [1, 2, 3],
|
|
||||||
'dict': {'key': 'value'}
|
|
||||||
}
|
|
||||||
sanitized = api_client.sanitize_for_serialization(data)
|
|
||||||
assert sanitized['str'] == 'value'
|
|
||||||
assert sanitized['int'] == 1
|
|
||||||
assert sanitized['float'] == 1.1
|
|
||||||
assert sanitized['bool'] is True
|
|
||||||
assert sanitized['datetime'] == '2023-01-01T00:00:00'
|
|
||||||
assert sanitized['date'] == '2023-01-01'
|
|
||||||
assert sanitized['list'] == [1, 2, 3]
|
|
||||||
assert sanitized['dict'] == {'key': 'value'}
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
import pytest
|
|
||||||
from pydantic import ValidationError
|
|
||||||
from thousandeyes_sdk.core.api_response import ApiResponse
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_response_valid():
|
|
||||||
response = ApiResponse(
|
|
||||||
status_code=200,
|
|
||||||
headers={"Content-Type": "application/json"},
|
|
||||||
data={"key": "value"},
|
|
||||||
raw_data=b'{"key": "value"}'
|
|
||||||
)
|
|
||||||
assert response.status_code == 200
|
|
||||||
assert response.headers == {"Content-Type": "application/json"}
|
|
||||||
assert response.data == {"key": "value"}
|
|
||||||
assert response.raw_data == b'{"key": "value"}'
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_response_missing_optional_headers():
|
|
||||||
response = ApiResponse(
|
|
||||||
status_code=200,
|
|
||||||
data={"key": "value"},
|
|
||||||
raw_data=b'{"key": "value"}'
|
|
||||||
)
|
|
||||||
assert response.status_code == 200
|
|
||||||
assert response.headers is None
|
|
||||||
assert response.data == {"key": "value"}
|
|
||||||
assert response.raw_data == b'{"key": "value"}'
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_response_invalid_status_code():
|
|
||||||
with pytest.raises(ValidationError):
|
|
||||||
ApiResponse(
|
|
||||||
status_code="200", # Invalid type
|
|
||||||
headers={"Content-Type": "application/json"},
|
|
||||||
data={"key": "value"},
|
|
||||||
raw_data=b'{"key": "value"}'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_response_invalid_raw_data():
|
|
||||||
with pytest.raises(ValidationError):
|
|
||||||
ApiResponse(
|
|
||||||
status_code=200,
|
|
||||||
headers={"Content-Type": "application/json"},
|
|
||||||
data={"key": "value"},
|
|
||||||
raw_data="raw data" # Invalid type
|
|
||||||
)
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
import time
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import Mock
|
|
||||||
from urllib3 import HTTPResponse
|
|
||||||
from thousandeyes_sdk.core.thousandeyes_retry import ThousandEyesRetry
|
|
||||||
|
|
||||||
|
|
||||||
def test_is_retry_on_429():
|
|
||||||
retry = ThousandEyesRetry()
|
|
||||||
assert retry.is_retry("GET", 429) is True
|
|
||||||
|
|
||||||
|
|
||||||
def test_is_retry_on_other_status():
|
|
||||||
retry = ThousandEyesRetry(status_forcelist=[500])
|
|
||||||
assert retry.is_retry("GET", 500) is True
|
|
||||||
assert retry.is_retry("GET", 404) is False
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_retry_after_with_custom_header():
|
|
||||||
response = Mock(spec=HTTPResponse)
|
|
||||||
response.headers = {
|
|
||||||
"x-organization-rate-limit-reset": str(int(time.time()) + 100)}
|
|
||||||
retry = ThousandEyesRetry()
|
|
||||||
assert retry.get_retry_after(response) == pytest.approx(100, rel=1)
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_retry_after_with_no_headers():
|
|
||||||
response = Mock(spec=HTTPResponse)
|
|
||||||
response.headers = {}
|
|
||||||
retry = ThousandEyesRetry()
|
|
||||||
assert retry.get_retry_after(response) is None
|
|
||||||
|
|
||||||
|
|
||||||
def test_parse_reset_header_valid():
|
|
||||||
retry = ThousandEyesRetry()
|
|
||||||
future_time = str(int(time.time()) + 100)
|
|
||||||
assert retry._parse_reset_header(future_time) == pytest.approx(100, rel=1)
|
|
||||||
|
|
||||||
|
|
||||||
def test_parse_reset_header_invalid():
|
|
||||||
retry = ThousandEyesRetry()
|
|
||||||
assert retry._parse_reset_header("invalid") is None
|
|
||||||
assert retry._parse_reset_header(None) is None
|
|
||||||
@ -13,7 +13,7 @@ For more information about credentials, see [Working With Secure Credentials](ht
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ To access Emulation API operations, the following permissions are required:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ The URLs for these API test data endpoints are provided within the test definiti
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ Manage labels applied to endpoint agents using this API.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Retrieve results for scheduled and dynamic tests on endpoint agents.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -380,11 +380,11 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"log" : {
|
"log" : {
|
||||||
"browser" : {
|
"browser" : {
|
||||||
"name" : "Google Chrome",
|
"name" : "Google Chrome",
|
||||||
"version" : "7.0.25.98"
|
"version" : "7.0.22.98"
|
||||||
},
|
},
|
||||||
"creator" : {
|
"creator" : {
|
||||||
"name" : "ThousandEyes Endpoint Agent",
|
"name" : "ThousandEyes Endpoint Agent",
|
||||||
"version" : "7.0.25"
|
"version" : "7.0.22"
|
||||||
},
|
},
|
||||||
"entries" : [ {
|
"entries" : [ {
|
||||||
"pageref" : "page_1",
|
"pageref" : "page_1",
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ With the Events API, you can perform the following tasks on the ThousandEyes pla
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@ The response does not include the immediate test results. Use the Test Results e
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ For more information about Internet Insights, see the [Internet Insights](https:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Creates a new test snapshot in ThousandEyes.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [documentatio
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ Things to note with the ThousandEyes Tags API:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Get test result metrics for Cloud and Enterprise Agent tests.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ Refer to the Usage API operations for detailed usage instructions and optional p
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.25
|
- API version: 7.0.22
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user