ansible-collection-hetzner-.../plugins/module_utils/vendor/hcloud/isos/domain.py
renovate[bot] f35f5009aa
deps: update dependency hcloud to v1.31.0 (#370)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [hcloud](https://togithub.com/hetznercloud/hcloud-python)
([changelog](https://togithub.com/hetznercloud/hcloud-python/blob/main/CHANGELOG.md))
| `1.30.0` -> `1.31.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hcloud/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hcloud/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hcloud/1.30.0/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hcloud/1.30.0/1.31.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>hetznercloud/hcloud-python (hcloud)</summary>

###
[`v1.31.0`](https://togithub.com/hetznercloud/hcloud-python/blob/HEAD/CHANGELOG.md#1310-2023-10-23)

[Compare
Source](https://togithub.com/hetznercloud/hcloud-python/compare/v1.30.0...v1.31.0)

##### Features

- prepare for iso deprecated field removal
([#&#8203;320](https://togithub.com/hetznercloud/hcloud-python/issues/320))
([beae328](beae328dd6))

##### Dependencies

- update pre-commit hook psf/black-pre-commit-mirror to v23.10.0
([#&#8203;319](https://togithub.com/hetznercloud/hcloud-python/issues/319))
([184bbe6](184bbe65a7))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ansible-collections/hetzner.hcloud).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-10-23 11:12:06 +02:00

69 lines
2.4 KiB
Python

from __future__ import annotations
from datetime import datetime
from warnings import warn
from ..core import BaseDomain, DomainIdentityMixin
from ..deprecation import DeprecationInfo
class Iso(BaseDomain, DomainIdentityMixin):
"""Iso Domain
:param id: int
ID of the ISO
:param name: str, None
Unique identifier of the ISO. Only set for public ISOs
:param description: str
Description of the ISO
:param type: str
Type of the ISO. Choices: `public`, `private`
:param architecture: str, None
CPU Architecture that the ISO is compatible with. None means that the compatibility is unknown. Choices: `x86`, `arm`
:param deprecated: datetime, None
ISO 8601 timestamp of deprecation, None if ISO is still available. After the deprecation time it will no longer be possible to attach the ISO to servers. This field is deprecated. Use `deprecation` instead.
:param deprecation: :class:`DeprecationInfo <hcloud.deprecation.domain.DeprecationInfo>`, None
Describes if, when & how the resources was deprecated. If this field is set to None the resource is not
deprecated. If it has a value, it is considered deprecated.
"""
__slots__ = (
"id",
"name",
"type",
"architecture",
"description",
"deprecation",
)
def __init__(
self,
id: int | None = None,
name: str | None = None,
type: str | None = None,
architecture: str | None = None,
description: str | None = None,
deprecated: str | None = None, # pylint: disable=unused-argument
deprecation: dict | None = None,
):
self.id = id
self.name = name
self.type = type
self.architecture = architecture
self.description = description
self.deprecation = (
DeprecationInfo.from_dict(deprecation) if deprecation is not None else None
)
@property
def deprecated(self) -> datetime | None:
"""
ISO 8601 timestamp of deprecation, None if ISO is still available.
"""
warn(
"The `deprecated` field is deprecated, please use the `deprecation` field instead.",
DeprecationWarning,
)
if self.deprecation is None:
return None
return self.deprecation.unavailable_after