apache-airflow-providers-hashicorp 3.8.0rc1__py3-none-any.whl → 4.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-hashicorp might be problematic. Click here for more details.
- airflow/providers/hashicorp/__init__.py +3 -3
- airflow/providers/hashicorp/get_provider_info.py +3 -2
- airflow/providers/hashicorp/hooks/vault.py +3 -22
- airflow/providers/hashicorp/secrets/vault.py +0 -19
- {apache_airflow_providers_hashicorp-3.8.0rc1.dist-info → apache_airflow_providers_hashicorp-4.0.0.dist-info}/METADATA +12 -13
- apache_airflow_providers_hashicorp-4.0.0.dist-info/RECORD +13 -0
- {apache_airflow_providers_hashicorp-3.8.0rc1.dist-info → apache_airflow_providers_hashicorp-4.0.0.dist-info}/WHEEL +1 -1
- apache_airflow_providers_hashicorp-3.8.0rc1.dist-info/RECORD +0 -13
- {apache_airflow_providers_hashicorp-3.8.0rc1.dist-info → apache_airflow_providers_hashicorp-4.0.0.dist-info}/entry_points.txt +0 -0
|
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "
|
|
32
|
+
__version__ = "4.0.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
|
-
"2.
|
|
35
|
+
"2.9.0"
|
|
36
36
|
):
|
|
37
37
|
raise RuntimeError(
|
|
38
|
-
f"The package `apache-airflow-providers-hashicorp:{__version__}` needs Apache Airflow 2.
|
|
38
|
+
f"The package `apache-airflow-providers-hashicorp:{__version__}` needs Apache Airflow 2.9.0+"
|
|
39
39
|
)
|
|
@@ -28,8 +28,9 @@ def get_provider_info():
|
|
|
28
28
|
"name": "Hashicorp",
|
|
29
29
|
"description": "Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__\n",
|
|
30
30
|
"state": "ready",
|
|
31
|
-
"source-date-epoch":
|
|
31
|
+
"source-date-epoch": 1734534790,
|
|
32
32
|
"versions": [
|
|
33
|
+
"4.0.0",
|
|
33
34
|
"3.8.0",
|
|
34
35
|
"3.7.1",
|
|
35
36
|
"3.7.0",
|
|
@@ -60,7 +61,7 @@ def get_provider_info():
|
|
|
60
61
|
"1.0.1",
|
|
61
62
|
"1.0.0",
|
|
62
63
|
],
|
|
63
|
-
"dependencies": ["apache-airflow>=2.
|
|
64
|
+
"dependencies": ["apache-airflow>=2.9.0", "hvac>=1.1.0"],
|
|
64
65
|
"integrations": [
|
|
65
66
|
{
|
|
66
67
|
"integration-name": "Hashicorp Vault",
|
|
@@ -19,12 +19,10 @@
|
|
|
19
19
|
from __future__ import annotations
|
|
20
20
|
|
|
21
21
|
import json
|
|
22
|
-
import warnings
|
|
23
22
|
from typing import TYPE_CHECKING, Any
|
|
24
23
|
|
|
25
24
|
from hvac.exceptions import VaultError
|
|
26
25
|
|
|
27
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
28
26
|
from airflow.hooks.base import BaseHook
|
|
29
27
|
from airflow.providers.hashicorp._internal_client.vault_client import (
|
|
30
28
|
DEFAULT_KUBERNETES_JWT_PATH,
|
|
@@ -70,7 +68,7 @@ class VaultHook(BaseHook):
|
|
|
70
68
|
|
|
71
69
|
Login/Password are used as credentials:
|
|
72
70
|
|
|
73
|
-
* approle: login ->
|
|
71
|
+
* approle: login -> connection.login
|
|
74
72
|
* github: password -> token
|
|
75
73
|
* token: password -> token
|
|
76
74
|
* aws_iam: login -> key_id, password -> secret_id
|
|
@@ -147,24 +145,8 @@ class VaultHook(BaseHook):
|
|
|
147
145
|
if kwargs:
|
|
148
146
|
client_kwargs = merge_dicts(client_kwargs, kwargs)
|
|
149
147
|
|
|
150
|
-
if auth_type == "approle":
|
|
151
|
-
|
|
152
|
-
warnings.warn(
|
|
153
|
-
"""The usage of role_id for AppRole authentication has been deprecated.
|
|
154
|
-
Please use connection login.""",
|
|
155
|
-
AirflowProviderDeprecationWarning,
|
|
156
|
-
stacklevel=2,
|
|
157
|
-
)
|
|
158
|
-
elif self.connection.extra_dejson.get("role_id"):
|
|
159
|
-
role_id = self.connection.extra_dejson.get("role_id")
|
|
160
|
-
warnings.warn(
|
|
161
|
-
"""The usage of role_id in connection extra for AppRole authentication has been
|
|
162
|
-
deprecated. Please use connection login.""",
|
|
163
|
-
AirflowProviderDeprecationWarning,
|
|
164
|
-
stacklevel=2,
|
|
165
|
-
)
|
|
166
|
-
elif self.connection.login:
|
|
167
|
-
role_id = self.connection.login
|
|
148
|
+
if auth_type == "approle" and self.connection.login:
|
|
149
|
+
role_id = self.connection.login
|
|
168
150
|
|
|
169
151
|
if auth_type == "aws_iam":
|
|
170
152
|
if not role_id:
|
|
@@ -385,7 +367,6 @@ class VaultHook(BaseHook):
|
|
|
385
367
|
description="Must be 1 or 2.",
|
|
386
368
|
default=DEFAULT_KV_ENGINE_VERSION,
|
|
387
369
|
),
|
|
388
|
-
"role_id": StringField(lazy_gettext("Role ID (deprecated)"), widget=BS3TextFieldWidget()),
|
|
389
370
|
"kubernetes_role": StringField(lazy_gettext("Kubernetes role"), widget=BS3TextFieldWidget()),
|
|
390
371
|
"kubernetes_jwt_path": StringField(
|
|
391
372
|
lazy_gettext("Kubernetes jwt path"), widget=BS3TextFieldWidget()
|
|
@@ -21,9 +21,6 @@ from __future__ import annotations
|
|
|
21
21
|
|
|
22
22
|
from typing import TYPE_CHECKING
|
|
23
23
|
|
|
24
|
-
from deprecated import deprecated
|
|
25
|
-
|
|
26
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
27
24
|
from airflow.providers.hashicorp._internal_client.vault_client import _VaultClient
|
|
28
25
|
from airflow.secrets import BaseSecretsBackend
|
|
29
26
|
from airflow.utils.log.logging_mixin import LoggingMixin
|
|
@@ -191,22 +188,6 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
|
|
|
191
188
|
secret_path=(mount_point + "/" if mount_point else "") + secret_path
|
|
192
189
|
)
|
|
193
190
|
|
|
194
|
-
@deprecated(
|
|
195
|
-
reason="Method `VaultBackend.get_conn_uri` is deprecated and will be removed in a future release.",
|
|
196
|
-
category=AirflowProviderDeprecationWarning,
|
|
197
|
-
)
|
|
198
|
-
def get_conn_uri(self, conn_id: str) -> str | None:
|
|
199
|
-
"""
|
|
200
|
-
Get serialized representation of connection.
|
|
201
|
-
|
|
202
|
-
:param conn_id: The connection id
|
|
203
|
-
:return: The connection uri retrieved from the secret
|
|
204
|
-
"""
|
|
205
|
-
# Since VaultBackend implements `get_connection`, `get_conn_uri` is not used. So we
|
|
206
|
-
# don't need to implement (or direct users to use) method `get_conn_value` instead
|
|
207
|
-
response = self.get_response(conn_id)
|
|
208
|
-
return response.get("conn_uri") if response else None
|
|
209
|
-
|
|
210
191
|
# Make sure connection is imported this way for type checking, otherwise when importing
|
|
211
192
|
# the backend it will get a circular dependency and fail
|
|
212
193
|
if TYPE_CHECKING:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: apache-airflow-providers-hashicorp
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-hashicorp for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,hashicorp,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
|
-
Requires-Python: ~=3.
|
|
8
|
+
Requires-Python: ~=3.9
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Environment :: Console
|
|
@@ -15,22 +15,21 @@ Classifier: Intended Audience :: System Administrators
|
|
|
15
15
|
Classifier: Framework :: Apache Airflow
|
|
16
16
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
17
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
22
|
Classifier: Topic :: System :: Monitoring
|
|
24
|
-
Requires-Dist: apache-airflow>=2.
|
|
23
|
+
Requires-Dist: apache-airflow>=2.9.0
|
|
25
24
|
Requires-Dist: hvac>=1.1.0
|
|
26
25
|
Requires-Dist: boto3>=1.33.0 ; extra == "boto3"
|
|
27
26
|
Requires-Dist: apache-airflow-providers-google ; extra == "google"
|
|
28
27
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
29
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/
|
|
30
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/
|
|
28
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0/changelog.html
|
|
29
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0
|
|
31
30
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
32
31
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
33
|
-
Project-URL: Twitter, https://
|
|
32
|
+
Project-URL: Twitter, https://x.com/ApacheAirflow
|
|
34
33
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
35
34
|
Provides-Extra: boto3
|
|
36
35
|
Provides-Extra: google
|
|
@@ -79,7 +78,7 @@ Provides-Extra: google
|
|
|
79
78
|
|
|
80
79
|
Package ``apache-airflow-providers-hashicorp``
|
|
81
80
|
|
|
82
|
-
Release: ``
|
|
81
|
+
Release: ``4.0.0``
|
|
83
82
|
|
|
84
83
|
|
|
85
84
|
Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
|
|
@@ -92,7 +91,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
|
|
|
92
91
|
are in ``airflow.providers.hashicorp`` python package.
|
|
93
92
|
|
|
94
93
|
You can find package information and changelog for the provider
|
|
95
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/
|
|
94
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0/>`_.
|
|
96
95
|
|
|
97
96
|
Installation
|
|
98
97
|
------------
|
|
@@ -101,7 +100,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
|
101
100
|
for the minimum Airflow version supported) via
|
|
102
101
|
``pip install apache-airflow-providers-hashicorp``
|
|
103
102
|
|
|
104
|
-
The package supports the following python versions: 3.
|
|
103
|
+
The package supports the following python versions: 3.9,3.10,3.11,3.12
|
|
105
104
|
|
|
106
105
|
Requirements
|
|
107
106
|
------------
|
|
@@ -109,7 +108,7 @@ Requirements
|
|
|
109
108
|
================== ==================
|
|
110
109
|
PIP package Version required
|
|
111
110
|
================== ==================
|
|
112
|
-
``apache-airflow`` ``>=2.
|
|
111
|
+
``apache-airflow`` ``>=2.9.0``
|
|
113
112
|
``hvac`` ``>=1.1.0``
|
|
114
113
|
================== ==================
|
|
115
114
|
|
|
@@ -133,4 +132,4 @@ Dependent package
|
|
|
133
132
|
==================================================================================================== ==========
|
|
134
133
|
|
|
135
134
|
The changelog for the provider package can be found in the
|
|
136
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/
|
|
135
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0/changelog.html>`_.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
airflow/providers/hashicorp/LICENSE,sha256=FFb4jd2AXnOOf7XLP04pQW6jbdhG49TxlGY6fFpCV1Y,13609
|
|
2
|
+
airflow/providers/hashicorp/__init__.py,sha256=AwaDoTGFBbMg-fL9MTxHyxJzcBz0yBKFpGEjKdLdswo,1496
|
|
3
|
+
airflow/providers/hashicorp/get_provider_info.py,sha256=eLQkcaf4KEt-68QaFyYJs9J3HVaJL5yU284hNGYdDxk,2950
|
|
4
|
+
airflow/providers/hashicorp/_internal_client/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
5
|
+
airflow/providers/hashicorp/_internal_client/vault_client.py,sha256=rRZXtnDOBNGlhLtaAqLv1v6jex6D5kvy3M9MYRemc00,22645
|
|
6
|
+
airflow/providers/hashicorp/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
+
airflow/providers/hashicorp/hooks/vault.py,sha256=RJ_UCl6AMLxmN2wfHQn8YBvEdmOPWFtLECOya4WuYwM,17831
|
|
8
|
+
airflow/providers/hashicorp/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
9
|
+
airflow/providers/hashicorp/secrets/vault.py,sha256=KrzIdX25LjfLFP4o1t__zfqqpDX50SZ8X0bGf58_bDI,11432
|
|
10
|
+
apache_airflow_providers_hashicorp-4.0.0.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
|
|
11
|
+
apache_airflow_providers_hashicorp-4.0.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
|
12
|
+
apache_airflow_providers_hashicorp-4.0.0.dist-info/METADATA,sha256=KDOA19jMsmW1EHPVcYOAyyiYpG0nsEDYLzEbZaDcD2c,5871
|
|
13
|
+
apache_airflow_providers_hashicorp-4.0.0.dist-info/RECORD,,
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
airflow/providers/hashicorp/LICENSE,sha256=FFb4jd2AXnOOf7XLP04pQW6jbdhG49TxlGY6fFpCV1Y,13609
|
|
2
|
-
airflow/providers/hashicorp/__init__.py,sha256=c6HOF5NnXJmBOoolg3qy9JoZx6Co6lcSeR4ZpU_ElFA,1496
|
|
3
|
-
airflow/providers/hashicorp/get_provider_info.py,sha256=-nZ993FX2Kzl0BkM0v_amQGGP1NAWd2tMA5093pbgXk,2929
|
|
4
|
-
airflow/providers/hashicorp/_internal_client/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
5
|
-
airflow/providers/hashicorp/_internal_client/vault_client.py,sha256=rRZXtnDOBNGlhLtaAqLv1v6jex6D5kvy3M9MYRemc00,22645
|
|
6
|
-
airflow/providers/hashicorp/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
-
airflow/providers/hashicorp/hooks/vault.py,sha256=FWz-aA2otpMox1jdoXCapY6yWqV-vYmC3ycnW5YYRwA,18790
|
|
8
|
-
airflow/providers/hashicorp/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
9
|
-
airflow/providers/hashicorp/secrets/vault.py,sha256=_jxZqLbHnqp047Rza5e5HA5cm7ZR2TRg7O1GKGWFpuA,12245
|
|
10
|
-
apache_airflow_providers_hashicorp-3.8.0rc1.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
|
|
11
|
-
apache_airflow_providers_hashicorp-3.8.0rc1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
12
|
-
apache_airflow_providers_hashicorp-3.8.0rc1.dist-info/METADATA,sha256=XYNM1EqZuUI7Y8apB8yQLV3jdq8c9tG6Tp0K70NaRDI,5941
|
|
13
|
-
apache_airflow_providers_hashicorp-3.8.0rc1.dist-info/RECORD,,
|