1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
|
# 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
"""
import pprint
import re # noqa: F401
class TemplateApply(object):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
openapi_types = {
'dry_run': 'bool',
'org_id': 'str',
'stack_id': 'str',
'template': 'TemplateApplyTemplate',
'templates': 'list[TemplateApplyTemplate]',
'env_refs': 'dict(str, object)',
'secrets': 'dict(str, str)',
'remotes': 'list[TemplateApplyRemotes]',
'actions': 'list[object]'
}
attribute_map = {
'dry_run': 'dryRun',
'org_id': 'orgID',
'stack_id': 'stackID',
'template': 'template',
'templates': 'templates',
'env_refs': 'envRefs',
'secrets': 'secrets',
'remotes': 'remotes',
'actions': 'actions'
}
def __init__(self, dry_run=None, org_id=None, stack_id=None, template=None, templates=None, env_refs=None, secrets=None, remotes=None, actions=None): # noqa: E501,D401,D403
"""TemplateApply - a model defined in OpenAPI.""" # noqa: E501
self._dry_run = None
self._org_id = None
self._stack_id = None
self._template = None
self._templates = None
self._env_refs = None
self._secrets = None
self._remotes = None
self._actions = None
self.discriminator = None
if dry_run is not None:
self.dry_run = dry_run
if org_id is not None:
self.org_id = org_id
if stack_id is not None:
self.stack_id = stack_id
if template is not None:
self.template = template
if templates is not None:
self.templates = templates
if env_refs is not None:
self.env_refs = env_refs
if secrets is not None:
self.secrets = secrets
if remotes is not None:
self.remotes = remotes
if actions is not None:
self.actions = actions
@property
def dry_run(self):
"""Get the dry_run of this TemplateApply.
Only applies a dry run of the templates passed in the request. - Validates the template and generates a resource diff and summary. - Doesn't install templates or make changes to the InfluxDB instance.
:return: The dry_run of this TemplateApply.
:rtype: bool
""" # noqa: E501
return self._dry_run
@dry_run.setter
def dry_run(self, dry_run):
"""Set the dry_run of this TemplateApply.
Only applies a dry run of the templates passed in the request. - Validates the template and generates a resource diff and summary. - Doesn't install templates or make changes to the InfluxDB instance.
:param dry_run: The dry_run of this TemplateApply.
:type: bool
""" # noqa: E501
self._dry_run = dry_run
@property
def org_id(self):
"""Get the org_id of this TemplateApply.
Organization ID. InfluxDB applies templates to this organization. The organization owns all resources created by the template. To find your organization, see how to [view organizations](https://docs.influxdata.com/influxdb/latest/organizations/view-orgs/).
:return: The org_id of this TemplateApply.
:rtype: str
""" # noqa: E501
return self._org_id
@org_id.setter
def org_id(self, org_id):
"""Set the org_id of this TemplateApply.
Organization ID. InfluxDB applies templates to this organization. The organization owns all resources created by the template. To find your organization, see how to [view organizations](https://docs.influxdata.com/influxdb/latest/organizations/view-orgs/).
:param org_id: The org_id of this TemplateApply.
:type: str
""" # noqa: E501
self._org_id = org_id
@property
def stack_id(self):
"""Get the stack_id of this TemplateApply.
ID of the stack to update. To apply templates to an existing stack in the organization, use the `stackID` parameter. If you apply templates without providing a stack ID, InfluxDB initializes a new stack with all new resources. To find a stack ID, use the InfluxDB [`/api/v2/stacks` API endpoint](#operation/ListStacks) to list stacks. #### Related guides - [Stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/) - [View stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/view/)
:return: The stack_id of this TemplateApply.
:rtype: str
""" # noqa: E501
return self._stack_id
@stack_id.setter
def stack_id(self, stack_id):
"""Set the stack_id of this TemplateApply.
ID of the stack to update. To apply templates to an existing stack in the organization, use the `stackID` parameter. If you apply templates without providing a stack ID, InfluxDB initializes a new stack with all new resources. To find a stack ID, use the InfluxDB [`/api/v2/stacks` API endpoint](#operation/ListStacks) to list stacks. #### Related guides - [Stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/) - [View stacks](https://docs.influxdata.com/influxdb/latest/influxdb-templates/stacks/view/)
:param stack_id: The stack_id of this TemplateApply.
:type: str
""" # noqa: E501
self._stack_id = stack_id
@property
def template(self):
"""Get the template of this TemplateApply.
:return: The template of this TemplateApply.
:rtype: TemplateApplyTemplate
""" # noqa: E501
return self._template
@template.setter
def template(self, template):
"""Set the template of this TemplateApply.
:param template: The template of this TemplateApply.
:type: TemplateApplyTemplate
""" # noqa: E501
self._template = template
@property
def templates(self):
"""Get the templates of this TemplateApply.
A list of template objects to apply. A template object has a `contents` property with an array of InfluxDB resource configurations. Use the `templates` parameter to apply multiple template objects. If you use `templates`, you can't use the `template` parameter.
:return: The templates of this TemplateApply.
:rtype: list[TemplateApplyTemplate]
""" # noqa: E501
return self._templates
@templates.setter
def templates(self, templates):
"""Set the templates of this TemplateApply.
A list of template objects to apply. A template object has a `contents` property with an array of InfluxDB resource configurations. Use the `templates` parameter to apply multiple template objects. If you use `templates`, you can't use the `template` parameter.
:param templates: The templates of this TemplateApply.
:type: list[TemplateApplyTemplate]
""" # noqa: E501
self._templates = templates
@property
def env_refs(self):
"""Get the env_refs of this TemplateApply.
An object with key-value pairs that map to **environment references** in templates. Environment references in templates are `envRef` objects with an `envRef.key` property. To substitute a custom environment reference value when applying templates, pass `envRefs` with the `envRef.key` and the value. When you apply a template, InfluxDB replaces `envRef` objects in the template with the values that you provide in the `envRefs` parameter. For more examples, see how to [define environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#define-environment-references). The following template fields may use environment references: - `metadata.name` - `spec.endpointName` - `spec.associations.name` For more information about including environment references in template fields, see how to [include user-definable resource names](https://docs.influxdata.com/influxdb/latest/influxdb-templates/create/#include-user-definable-resource-names).
:return: The env_refs of this TemplateApply.
:rtype: dict(str, object)
""" # noqa: E501
return self._env_refs
@env_refs.setter
def env_refs(self, env_refs):
"""Set the env_refs of this TemplateApply.
An object with key-value pairs that map to **environment references** in templates. Environment references in templates are `envRef` objects with an `envRef.key` property. To substitute a custom environment reference value when applying templates, pass `envRefs` with the `envRef.key` and the value. When you apply a template, InfluxDB replaces `envRef` objects in the template with the values that you provide in the `envRefs` parameter. For more examples, see how to [define environment references](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#define-environment-references). The following template fields may use environment references: - `metadata.name` - `spec.endpointName` - `spec.associations.name` For more information about including environment references in template fields, see how to [include user-definable resource names](https://docs.influxdata.com/influxdb/latest/influxdb-templates/create/#include-user-definable-resource-names).
:param env_refs: The env_refs of this TemplateApply.
:type: dict(str, object)
""" # noqa: E501
self._env_refs = env_refs
@property
def secrets(self):
"""Get the secrets of this TemplateApply.
An object with key-value pairs that map to **secrets** in queries. Queries may reference secrets stored in InfluxDB--for example, the following Flux script retrieves `POSTGRES_USERNAME` and `POSTGRES_PASSWORD` secrets and then uses them to connect to a PostgreSQL database: ```js import "sql" import "influxdata/influxdb/secrets" username = secrets.get(key: "POSTGRES_USERNAME") password = secrets.get(key: "POSTGRES_PASSWORD") sql.from( driverName: "postgres", dataSourceName: "postgresql://${username}:${password}@localhost:5432", query: "SELECT * FROM example_table", ) ``` To define secret values in your `/api/v2/templates/apply` request, pass the `secrets` parameter with key-value pairs--for example: ```json { ... "secrets": { "POSTGRES_USERNAME": "pguser", "POSTGRES_PASSWORD": "foo" } ... } ``` InfluxDB stores the key-value pairs as secrets that you can access with `secrets.get()`. Once stored, you can't view secret values in InfluxDB. #### Related guides - [How to pass secrets when installing a template](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#pass-secrets-when-installing-a-template)
:return: The secrets of this TemplateApply.
:rtype: dict(str, str)
""" # noqa: E501
return self._secrets
@secrets.setter
def secrets(self, secrets):
"""Set the secrets of this TemplateApply.
An object with key-value pairs that map to **secrets** in queries. Queries may reference secrets stored in InfluxDB--for example, the following Flux script retrieves `POSTGRES_USERNAME` and `POSTGRES_PASSWORD` secrets and then uses them to connect to a PostgreSQL database: ```js import "sql" import "influxdata/influxdb/secrets" username = secrets.get(key: "POSTGRES_USERNAME") password = secrets.get(key: "POSTGRES_PASSWORD") sql.from( driverName: "postgres", dataSourceName: "postgresql://${username}:${password}@localhost:5432", query: "SELECT * FROM example_table", ) ``` To define secret values in your `/api/v2/templates/apply` request, pass the `secrets` parameter with key-value pairs--for example: ```json { ... "secrets": { "POSTGRES_USERNAME": "pguser", "POSTGRES_PASSWORD": "foo" } ... } ``` InfluxDB stores the key-value pairs as secrets that you can access with `secrets.get()`. Once stored, you can't view secret values in InfluxDB. #### Related guides - [How to pass secrets when installing a template](https://docs.influxdata.com/influxdb/latest/influxdb-templates/use/#pass-secrets-when-installing-a-template)
:param secrets: The secrets of this TemplateApply.
:type: dict(str, str)
""" # noqa: E501
self._secrets = secrets
@property
def remotes(self):
"""Get the remotes of this TemplateApply.
A list of URLs for template files. To apply a template manifest file located at a URL, pass `remotes` with an array that contains the URL.
:return: The remotes of this TemplateApply.
:rtype: list[TemplateApplyRemotes]
""" # noqa: E501
return self._remotes
@remotes.setter
def remotes(self, remotes):
"""Set the remotes of this TemplateApply.
A list of URLs for template files. To apply a template manifest file located at a URL, pass `remotes` with an array that contains the URL.
:param remotes: The remotes of this TemplateApply.
:type: list[TemplateApplyRemotes]
""" # noqa: E501
self._remotes = remotes
@property
def actions(self):
"""Get the actions of this TemplateApply.
A list of `action` objects. Actions let you customize how InfluxDB applies templates in the request. You can use the following actions to prevent creating or updating resources: - A `skipKind` action skips template resources of a specified `kind`. - A `skipResource` action skips template resources with a specified `metadata.name` and `kind`.
:return: The actions of this TemplateApply.
:rtype: list[object]
""" # noqa: E501
return self._actions
@actions.setter
def actions(self, actions):
"""Set the actions of this TemplateApply.
A list of `action` objects. Actions let you customize how InfluxDB applies templates in the request. You can use the following actions to prevent creating or updating resources: - A `skipKind` action skips template resources of a specified `kind`. - A `skipResource` action skips template resources with a specified `metadata.name` and `kind`.
:param actions: The actions of this TemplateApply.
:type: list[object]
""" # noqa: E501
self._actions = actions
def to_dict(self):
"""Return the model properties as a dict."""
result = {}
for attr, _ in self.openapi_types.items():
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(
lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
value
))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(map(
lambda item: (item[0], item[1].to_dict())
if hasattr(item[1], "to_dict") else item,
value.items()
))
else:
result[attr] = value
return result
def to_str(self):
"""Return the string representation of the model."""
return pprint.pformat(self.to_dict())
def __repr__(self):
"""For `print` and `pprint`."""
return self.to_str()
def __eq__(self, other):
"""Return true if both objects are equal."""
if not isinstance(other, TemplateApply):
return False
return self.__dict__ == other.__dict__
def __ne__(self, other):
"""Return true if both objects are not equal."""
return not self == other
|