Files
StarPilot/starpilot/third_party/influxdb_client/service/templates_service.py
T
firestar5683 3d8af2361e Rename
2026-03-27 18:05:44 -05:00

960 lines
51 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# coding: utf-8
"""
InfluxDB OSS API Service.
The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. # noqa: E501
OpenAPI spec version: 2.0.0
Generated by: https://openapi-generator.tech
"""
from __future__ import absolute_import
import re # noqa: F401
from influxdb_client.service._base_service import _BaseService
class TemplatesService(_BaseService):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None): # noqa: E501,D401,D403
"""TemplatesService - a operation defined in OpenAPI."""
super().__init__(api_client)
def apply_template(self, template_apply, **kwargs): # noqa: E501,D401,D403
"""Apply or dry-run a template.
Applies a template to create or update a [stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/) of InfluxDB [resources](https://docs.influxdata.com/influxdb/latest/reference/cli/influx/export/all/#resources). The response contains the diff of changes and the stack ID. Use this endpoint to install an InfluxDB template to an organization. Provide template URLs or template objects in your request. To customize which template resources are installed, use the `actions` parameter. By default, when you apply a template, InfluxDB installs the template to create and update stack resources and then generates a diff of the changes. If you pass `dryRun: true` in the request body, InfluxDB validates the template and generates the resource diff, but doesn’t make any changes to your instance. #### Custom values for templates - Some templates may contain [environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/create/#include-user-definable-resource-names) for custom metadata. To provide custom values for environment references, pass the _`envRefs`_ property in the request body. For more information and examples, see how to [define environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#define-environment-references). - Some templates may contain queries that use [secrets](https://docs.influxdata.com/influxdb/latest/security/secrets/). To provide custom secret values, pass the _`secrets`_ property in the request body. Don't expose secret values in templates. For more information, see [how to pass secrets when installing a template](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#pass-secrets-when-installing-a-template). #### Required permissions - `write` permissions for resource types in the template. #### Rate limits (with InfluxDB Cloud) - Adjustable service quotas apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Use templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/) - [Stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/)
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.apply_template(template_apply, async_req=True)
>>> result = thread.get()
:param async_req bool
:param TemplateApply template_apply: Parameters for applying templates. (required)
:return: TemplateSummary
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.apply_template_with_http_info(template_apply, **kwargs) # noqa: E501
else:
(data) = self.apply_template_with_http_info(template_apply, **kwargs) # noqa: E501
return data
def apply_template_with_http_info(self, template_apply, **kwargs): # noqa: E501,D401,D403
"""Apply or dry-run a template.
Applies a template to create or update a [stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/) of InfluxDB [resources](https://docs.influxdata.com/influxdb/latest/reference/cli/influx/export/all/#resources). The response contains the diff of changes and the stack ID. Use this endpoint to install an InfluxDB template to an organization. Provide template URLs or template objects in your request. To customize which template resources are installed, use the `actions` parameter. By default, when you apply a template, InfluxDB installs the template to create and update stack resources and then generates a diff of the changes. If you pass `dryRun: true` in the request body, InfluxDB validates the template and generates the resource diff, but doesn’t make any changes to your instance. #### Custom values for templates - Some templates may contain [environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/create/#include-user-definable-resource-names) for custom metadata. To provide custom values for environment references, pass the _`envRefs`_ property in the request body. For more information and examples, see how to [define environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#define-environment-references). - Some templates may contain queries that use [secrets](https://docs.influxdata.com/influxdb/latest/security/secrets/). To provide custom secret values, pass the _`secrets`_ property in the request body. Don't expose secret values in templates. For more information, see [how to pass secrets when installing a template](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#pass-secrets-when-installing-a-template). #### Required permissions - `write` permissions for resource types in the template. #### Rate limits (with InfluxDB Cloud) - Adjustable service quotas apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Use templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/) - [Stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/)
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.apply_template_with_http_info(template_apply, async_req=True)
>>> result = thread.get()
:param async_req bool
:param TemplateApply template_apply: Parameters for applying templates. (required)
:return: TemplateSummary
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._apply_template_prepare(template_apply, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/templates/apply', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='TemplateSummary', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def apply_template_async(self, template_apply, **kwargs): # noqa: E501,D401,D403
"""Apply or dry-run a template.
Applies a template to create or update a [stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/) of InfluxDB [resources](https://docs.influxdata.com/influxdb/latest/reference/cli/influx/export/all/#resources). The response contains the diff of changes and the stack ID. Use this endpoint to install an InfluxDB template to an organization. Provide template URLs or template objects in your request. To customize which template resources are installed, use the `actions` parameter. By default, when you apply a template, InfluxDB installs the template to create and update stack resources and then generates a diff of the changes. If you pass `dryRun: true` in the request body, InfluxDB validates the template and generates the resource diff, but doesn’t make any changes to your instance. #### Custom values for templates - Some templates may contain [environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/create/#include-user-definable-resource-names) for custom metadata. To provide custom values for environment references, pass the _`envRefs`_ property in the request body. For more information and examples, see how to [define environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#define-environment-references). - Some templates may contain queries that use [secrets](https://docs.influxdata.com/influxdb/latest/security/secrets/). To provide custom secret values, pass the _`secrets`_ property in the request body. Don't expose secret values in templates. For more information, see [how to pass secrets when installing a template](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#pass-secrets-when-installing-a-template). #### Required permissions - `write` permissions for resource types in the template. #### Rate limits (with InfluxDB Cloud) - Adjustable service quotas apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/). #### Related guides - [Use templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/) - [Stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/)
This method makes an asynchronous HTTP request.
:param async_req bool
:param TemplateApply template_apply: Parameters for applying templates. (required)
:return: TemplateSummary
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._apply_template_prepare(template_apply, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/templates/apply', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='TemplateSummary', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _apply_template_prepare(self, template_apply, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['template_apply'] # noqa: E501
self._check_operation_params('apply_template', all_params, local_var_params)
# verify the required parameter 'template_apply' is set
if ('template_apply' not in local_var_params or
local_var_params['template_apply'] is None):
raise ValueError("Missing the required parameter `template_apply` when calling `apply_template`") # noqa: E501
path_params = {}
query_params = []
header_params = {}
body_params = None
if 'template_apply' in local_var_params:
body_params = local_var_params['template_apply']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json', 'application/x-jsonnet', 'text/yml']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def create_stack(self, **kwargs): # noqa: E501,D401,D403
"""Create a stack.
Creates or initializes a stack. Use this endpoint to _manually_ initialize a new stack with the following optional information: - Stack name - Stack description - URLs for template manifest files To automatically create a stack when applying templates, use the [/api/v2/templates/apply endpoint](#operation/ApplyTemplate). #### Required permissions - `write` permission for the organization #### Related guides - [Initialize an InfluxDB stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/init/). - [Use InfluxDB templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#apply-templates-to-an-influxdb-instance).
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_stack(async_req=True)
>>> result = thread.get()
:param async_req bool
:param PostStackRequest post_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.create_stack_with_http_info(**kwargs) # noqa: E501
else:
(data) = self.create_stack_with_http_info(**kwargs) # noqa: E501
return data
def create_stack_with_http_info(self, **kwargs): # noqa: E501,D401,D403
"""Create a stack.
Creates or initializes a stack. Use this endpoint to _manually_ initialize a new stack with the following optional information: - Stack name - Stack description - URLs for template manifest files To automatically create a stack when applying templates, use the [/api/v2/templates/apply endpoint](#operation/ApplyTemplate). #### Required permissions - `write` permission for the organization #### Related guides - [Initialize an InfluxDB stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/init/). - [Use InfluxDB templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#apply-templates-to-an-influxdb-instance).
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.create_stack_with_http_info(async_req=True)
>>> result = thread.get()
:param async_req bool
:param PostStackRequest post_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._create_stack_prepare(**kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def create_stack_async(self, **kwargs): # noqa: E501,D401,D403
"""Create a stack.
Creates or initializes a stack. Use this endpoint to _manually_ initialize a new stack with the following optional information: - Stack name - Stack description - URLs for template manifest files To automatically create a stack when applying templates, use the [/api/v2/templates/apply endpoint](#operation/ApplyTemplate). #### Required permissions - `write` permission for the organization #### Related guides - [Initialize an InfluxDB stack](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/init/). - [Use InfluxDB templates](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#apply-templates-to-an-influxdb-instance).
This method makes an asynchronous HTTP request.
:param async_req bool
:param PostStackRequest post_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._create_stack_prepare(**kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _create_stack_prepare(self, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['post_stack_request'] # noqa: E501
self._check_operation_params('create_stack', all_params, local_var_params)
path_params = {}
query_params = []
header_params = {}
body_params = None
if 'post_stack_request' in local_var_params:
body_params = local_var_params['post_stack_request']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def delete_stack(self, stack_id, org_id, **kwargs): # noqa: E501,D401,D403
"""Delete a stack and associated resources.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.delete_stack(stack_id, org_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param str org_id: The identifier of the organization. (required)
:return: None
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.delete_stack_with_http_info(stack_id, org_id, **kwargs) # noqa: E501
else:
(data) = self.delete_stack_with_http_info(stack_id, org_id, **kwargs) # noqa: E501
return data
def delete_stack_with_http_info(self, stack_id, org_id, **kwargs): # noqa: E501,D401,D403
"""Delete a stack and associated resources.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.delete_stack_with_http_info(stack_id, org_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param str org_id: The identifier of the organization. (required)
:return: None
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._delete_stack_prepare(stack_id, org_id, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'DELETE',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type=None, # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def delete_stack_async(self, stack_id, org_id, **kwargs): # noqa: E501,D401,D403
"""Delete a stack and associated resources.
This method makes an asynchronous HTTP request.
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param str org_id: The identifier of the organization. (required)
:return: None
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._delete_stack_prepare(stack_id, org_id, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'DELETE',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type=None, # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _delete_stack_prepare(self, stack_id, org_id, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['stack_id', 'org_id'] # noqa: E501
self._check_operation_params('delete_stack', all_params, local_var_params)
# verify the required parameter 'stack_id' is set
if ('stack_id' not in local_var_params or
local_var_params['stack_id'] is None):
raise ValueError("Missing the required parameter `stack_id` when calling `delete_stack`") # noqa: E501
# verify the required parameter 'org_id' is set
if ('org_id' not in local_var_params or
local_var_params['org_id'] is None):
raise ValueError("Missing the required parameter `org_id` when calling `delete_stack`") # noqa: E501
path_params = {}
if 'stack_id' in local_var_params:
path_params['stack_id'] = local_var_params['stack_id'] # noqa: E501
query_params = []
if 'org_id' in local_var_params:
query_params.append(('orgID', local_var_params['org_id'])) # noqa: E501
header_params = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def export_template(self, **kwargs): # noqa: E501,D401,D403
"""Export a new template.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.export_template(async_req=True)
>>> result = thread.get()
:param async_req bool
:param TemplateExportByID template_export_by_id: Export resources as an InfluxDB template.
:return: list[object]
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.export_template_with_http_info(**kwargs) # noqa: E501
else:
(data) = self.export_template_with_http_info(**kwargs) # noqa: E501
return data
def export_template_with_http_info(self, **kwargs): # noqa: E501,D401,D403
"""Export a new template.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.export_template_with_http_info(async_req=True)
>>> result = thread.get()
:param async_req bool
:param TemplateExportByID template_export_by_id: Export resources as an InfluxDB template.
:return: list[object]
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._export_template_prepare(**kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/templates/export', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='list[object]', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def export_template_async(self, **kwargs): # noqa: E501,D401,D403
"""Export a new template.
This method makes an asynchronous HTTP request.
:param async_req bool
:param TemplateExportByID template_export_by_id: Export resources as an InfluxDB template.
:return: list[object]
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._export_template_prepare(**kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/templates/export', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='list[object]', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _export_template_prepare(self, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['template_export_by_id'] # noqa: E501
self._check_operation_params('export_template', all_params, local_var_params)
path_params = {}
query_params = []
header_params = {}
body_params = None
if 'template_export_by_id' in local_var_params:
body_params = local_var_params['template_export_by_id']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json', 'application/x-yaml']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def list_stacks(self, org_id, **kwargs): # noqa: E501,D401,D403
"""List installed stacks.
Lists installed InfluxDB stacks. To limit stacks in the response, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all installed stacks for the organization. #### Related guides - [View InfluxDB stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/).
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_stacks(org_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str org_id: An organization ID. Only returns stacks owned by the specified [organization](https://docs.influxdata.com/influxdb/latest/reference/glossary/#organization). #### InfluxDB Cloud - Doesn't require this parameter; InfluxDB only returns resources allowed by the API token. (required)
:param str name: A stack name. Finds stack `events` with this name and returns the stacks. Repeatable. To filter for more than one stack name, repeat this parameter with each name--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&name=project-stack-0&name=project-stack-1`
:param str stack_id: A stack ID. Only returns the specified stack. Repeatable. To filter for more than one stack ID, repeat this parameter with each ID--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&stackID=09bd87cd33be3000&stackID=09bef35081fe3000`
:return: ListStacksResponse
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.list_stacks_with_http_info(org_id, **kwargs) # noqa: E501
else:
(data) = self.list_stacks_with_http_info(org_id, **kwargs) # noqa: E501
return data
def list_stacks_with_http_info(self, org_id, **kwargs): # noqa: E501,D401,D403
"""List installed stacks.
Lists installed InfluxDB stacks. To limit stacks in the response, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all installed stacks for the organization. #### Related guides - [View InfluxDB stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/).
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.list_stacks_with_http_info(org_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str org_id: An organization ID. Only returns stacks owned by the specified [organization](https://docs.influxdata.com/influxdb/latest/reference/glossary/#organization). #### InfluxDB Cloud - Doesn't require this parameter; InfluxDB only returns resources allowed by the API token. (required)
:param str name: A stack name. Finds stack `events` with this name and returns the stacks. Repeatable. To filter for more than one stack name, repeat this parameter with each name--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&name=project-stack-0&name=project-stack-1`
:param str stack_id: A stack ID. Only returns the specified stack. Repeatable. To filter for more than one stack ID, repeat this parameter with each ID--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&stackID=09bd87cd33be3000&stackID=09bef35081fe3000`
:return: ListStacksResponse
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._list_stacks_prepare(org_id, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='ListStacksResponse', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def list_stacks_async(self, org_id, **kwargs): # noqa: E501,D401,D403
"""List installed stacks.
Lists installed InfluxDB stacks. To limit stacks in the response, pass query parameters in your request. If no query parameters are passed, InfluxDB returns all installed stacks for the organization. #### Related guides - [View InfluxDB stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/).
This method makes an asynchronous HTTP request.
:param async_req bool
:param str org_id: An organization ID. Only returns stacks owned by the specified [organization](https://docs.influxdata.com/influxdb/latest/reference/glossary/#organization). #### InfluxDB Cloud - Doesn't require this parameter; InfluxDB only returns resources allowed by the API token. (required)
:param str name: A stack name. Finds stack `events` with this name and returns the stacks. Repeatable. To filter for more than one stack name, repeat this parameter with each name--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&name=project-stack-0&name=project-stack-1`
:param str stack_id: A stack ID. Only returns the specified stack. Repeatable. To filter for more than one stack ID, repeat this parameter with each ID--for example: - `INFLUX_URL/api/v2/stacks?&orgID=INFLUX_ORG_ID&stackID=09bd87cd33be3000&stackID=09bef35081fe3000`
:return: ListStacksResponse
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._list_stacks_prepare(org_id, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='ListStacksResponse', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _list_stacks_prepare(self, org_id, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['org_id', 'name', 'stack_id'] # noqa: E501
self._check_operation_params('list_stacks', all_params, local_var_params)
# verify the required parameter 'org_id' is set
if ('org_id' not in local_var_params or
local_var_params['org_id'] is None):
raise ValueError("Missing the required parameter `org_id` when calling `list_stacks`") # noqa: E501
path_params = {}
query_params = []
if 'org_id' in local_var_params:
query_params.append(('orgID', local_var_params['org_id'])) # noqa: E501
if 'name' in local_var_params:
query_params.append(('name', local_var_params['name'])) # noqa: E501
if 'stack_id' in local_var_params:
query_params.append(('stackID', local_var_params['stack_id'])) # noqa: E501
header_params = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def read_stack(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Retrieve a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.read_stack(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.read_stack_with_http_info(stack_id, **kwargs) # noqa: E501
else:
(data) = self.read_stack_with_http_info(stack_id, **kwargs) # noqa: E501
return data
def read_stack_with_http_info(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Retrieve a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.read_stack_with_http_info(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._read_stack_prepare(stack_id, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def read_stack_async(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Retrieve a stack.
This method makes an asynchronous HTTP request.
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._read_stack_prepare(stack_id, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'GET',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _read_stack_prepare(self, stack_id, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['stack_id'] # noqa: E501
self._check_operation_params('read_stack', all_params, local_var_params)
# verify the required parameter 'stack_id' is set
if ('stack_id' not in local_var_params or
local_var_params['stack_id'] is None):
raise ValueError("Missing the required parameter `stack_id` when calling `read_stack`") # noqa: E501
path_params = {}
if 'stack_id' in local_var_params:
path_params['stack_id'] = local_var_params['stack_id'] # noqa: E501
query_params = []
header_params = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def uninstall_stack(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Uninstall a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.uninstall_stack(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.uninstall_stack_with_http_info(stack_id, **kwargs) # noqa: E501
else:
(data) = self.uninstall_stack_with_http_info(stack_id, **kwargs) # noqa: E501
return data
def uninstall_stack_with_http_info(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Uninstall a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.uninstall_stack_with_http_info(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._uninstall_stack_prepare(stack_id, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks/{stack_id}/uninstall', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def uninstall_stack_async(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Uninstall a stack.
This method makes an asynchronous HTTP request.
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._uninstall_stack_prepare(stack_id, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks/{stack_id}/uninstall', 'POST',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _uninstall_stack_prepare(self, stack_id, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['stack_id'] # noqa: E501
self._check_operation_params('uninstall_stack', all_params, local_var_params)
# verify the required parameter 'stack_id' is set
if ('stack_id' not in local_var_params or
local_var_params['stack_id'] is None):
raise ValueError("Missing the required parameter `stack_id` when calling `uninstall_stack`") # noqa: E501
path_params = {}
if 'stack_id' in local_var_params:
path_params['stack_id'] = local_var_params['stack_id'] # noqa: E501
query_params = []
header_params = {}
body_params = None
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params
def update_stack(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Update a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_stack(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param PatchStackRequest patch_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
kwargs['_return_http_data_only'] = True
if kwargs.get('async_req'):
return self.update_stack_with_http_info(stack_id, **kwargs) # noqa: E501
else:
(data) = self.update_stack_with_http_info(stack_id, **kwargs) # noqa: E501
return data
def update_stack_with_http_info(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Update a stack.
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.update_stack_with_http_info(stack_id, async_req=True)
>>> result = thread.get()
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param PatchStackRequest patch_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._update_stack_prepare(stack_id, **kwargs) # noqa: E501
return self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'PATCH',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
async def update_stack_async(self, stack_id, **kwargs): # noqa: E501,D401,D403
"""Update a stack.
This method makes an asynchronous HTTP request.
:param async_req bool
:param str stack_id: The identifier of the stack. (required)
:param PatchStackRequest patch_stack_request:
:return: Stack
If the method is called asynchronously,
returns the request thread.
""" # noqa: E501
local_var_params, path_params, query_params, header_params, body_params = \
self._update_stack_prepare(stack_id, **kwargs) # noqa: E501
return await self.api_client.call_api(
'/api/v2/stacks/{stack_id}', 'PATCH',
path_params,
query_params,
header_params,
body=body_params,
post_params=[],
files={},
response_type='Stack', # noqa: E501
auth_settings=[],
async_req=local_var_params.get('async_req'),
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
_preload_content=local_var_params.get('_preload_content', True),
_request_timeout=local_var_params.get('_request_timeout'),
collection_formats={},
urlopen_kw=kwargs.get('urlopen_kw', None))
def _update_stack_prepare(self, stack_id, **kwargs): # noqa: E501,D401,D403
local_var_params = locals()
all_params = ['stack_id', 'patch_stack_request'] # noqa: E501
self._check_operation_params('update_stack', all_params, local_var_params)
# verify the required parameter 'stack_id' is set
if ('stack_id' not in local_var_params or
local_var_params['stack_id'] is None):
raise ValueError("Missing the required parameter `stack_id` when calling `update_stack`") # noqa: E501
path_params = {}
if 'stack_id' in local_var_params:
path_params['stack_id'] = local_var_params['stack_id'] # noqa: E501
query_params = []
header_params = {}
body_params = None
if 'patch_stack_request' in local_var_params:
body_params = local_var_params['patch_stack_request']
# HTTP header `Accept`
header_params['Accept'] = self.api_client.select_header_accept(
['application/json']) # noqa: E501
# HTTP header `Content-Type`
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
['application/json']) # noqa: E501
return local_var_params, path_params, query_params, header_params, body_params