apache-airflow-providers-hashicorp 4.4.1rc1__py3-none-any.whl → 4.4.3rc1__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.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "4.4.1"
32
+ __version__ = "4.4.3"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.11.0"
@@ -421,7 +421,9 @@ class _VaultClient(LoggingMixin):
421
421
  if not self.mount_point:
422
422
  split_secret_path = secret_path.split("/", 1)
423
423
  if len(split_secret_path) < 2:
424
- raise InvalidPath
424
+ raise InvalidPath(
425
+ "The variable path you have provided is invalid. Please provide a full path of the format: path/to/secret/variable"
426
+ )
425
427
  return split_secret_path[0], split_secret_path[1]
426
428
  return self.mount_point, secret_path
427
429
 
@@ -186,7 +186,7 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
186
186
  if TYPE_CHECKING:
187
187
  from airflow.models.connection import Connection
188
188
 
189
- def get_connection(self, conn_id: str) -> Connection | None:
189
+ def get_connection(self, conn_id: str, team_name: str | None = None) -> Connection | None:
190
190
  """
191
191
  Get connection from Vault as secret.
192
192
 
@@ -226,7 +226,13 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
226
226
  response = self.vault_client.get_secret(
227
227
  secret_path=(mount_point + "/" if mount_point else "") + secret_path
228
228
  )
229
- return response.get("value") if response else None
229
+ if not response:
230
+ return None
231
+ try:
232
+ return response["value"]
233
+ except KeyError:
234
+ self.log.warning('Vault secret %s fetched but does not have required key "value"', key)
235
+ return None
230
236
 
231
237
  def get_config(self, key: str) -> str | None:
232
238
  """
@@ -245,4 +251,10 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
245
251
  response = self.vault_client.get_secret(
246
252
  secret_path=(mount_point + "/" if mount_point else "") + secret_path
247
253
  )
248
- return response.get("value") if response else None
254
+ if not response:
255
+ return None
256
+ try:
257
+ return response["value"]
258
+ except KeyError:
259
+ self.log.warning('Vault config %s fetched but does not have required key "value"', key)
260
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-hashicorp
3
- Version: 4.4.1rc1
3
+ Version: 4.4.3rc1
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>
@@ -28,8 +28,8 @@ Requires-Dist: hvac>=1.1.0
28
28
  Requires-Dist: boto3>=1.37.2 ; extra == "boto3"
29
29
  Requires-Dist: apache-airflow-providers-google ; extra == "google"
30
30
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
31
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-hashicorp/4.4.1/changelog.html
32
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-hashicorp/4.4.1
31
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-hashicorp/4.4.3/changelog.html
32
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-hashicorp/4.4.3
33
33
  Project-URL: Mastodon, https://fosstodon.org/@airflow
34
34
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
35
35
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -62,7 +62,7 @@ Provides-Extra: google
62
62
 
63
63
  Package ``apache-airflow-providers-hashicorp``
64
64
 
65
- Release: ``4.4.1``
65
+ Release: ``4.4.3``
66
66
 
67
67
 
68
68
  Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
@@ -75,7 +75,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
75
75
  are in ``airflow.providers.hashicorp`` python package.
76
76
 
77
77
  You can find package information and changelog for the provider
78
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.4.1/>`_.
78
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.4.3/>`_.
79
79
 
80
80
  Installation
81
81
  ------------
@@ -128,5 +128,5 @@ Extra Dependencies
128
128
  ========== ===================================
129
129
 
130
130
  The changelog for the provider package can be found in the
131
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.4.1/changelog.html>`_.
131
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.4.3/changelog.html>`_.
132
132
 
@@ -1,15 +1,15 @@
1
- airflow/providers/hashicorp/__init__.py,sha256=75AUU4VIJdK9VexBc4J-qV_MQQmS1k3AQwH2MHghxLY,1498
1
+ airflow/providers/hashicorp/__init__.py,sha256=KyjEVeD4yi3NDSMd5h-y6qYmp-rHhgl80HkS5-7oeag,1498
2
2
  airflow/providers/hashicorp/get_provider_info.py,sha256=AFQ7VdRDobAK4-p5A0R9kv4vseR3xtxm7HASrLHThG8,2038
3
3
  airflow/providers/hashicorp/version_compat.py,sha256=NMlSRFNSPBEq8-HTJEeIest-4a3o1kxJEIR3Wv69yBE,1285
4
4
  airflow/providers/hashicorp/_internal_client/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
5
- airflow/providers/hashicorp/_internal_client/vault_client.py,sha256=9kcavdjUL_SLE7gUidin01MBHC5QBnY8QChTjaIy1tY,24683
5
+ airflow/providers/hashicorp/_internal_client/vault_client.py,sha256=2WI92MyEG-8ctwhUtZLFqAfahcX2qXZn34oW8q4THNg,24838
6
6
  airflow/providers/hashicorp/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
7
7
  airflow/providers/hashicorp/hooks/vault.py,sha256=xwSg_zM-mCSwqQR64U3wm3_jqKPttx04Ze_OjCTYM5s,18089
8
8
  airflow/providers/hashicorp/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
9
- airflow/providers/hashicorp/secrets/vault.py,sha256=k7jJZoMlTluKseWB3mBARtRq27hUhLzwbHRaiLAueTg,11506
10
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
11
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/licenses/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
12
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/licenses/NOTICE,sha256=E3-_E02gwwSEFzeeWPKmnIjOoos3hW28CLISV6sYrbQ,168
13
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
14
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/METADATA,sha256=i6HwByOkegZBlzUdfwMI7K2zsQBtruosdYFgRHGDmw0,5852
15
- apache_airflow_providers_hashicorp-4.4.1rc1.dist-info/RECORD,,
9
+ airflow/providers/hashicorp/secrets/vault.py,sha256=LPnj5q0dOlLhH-XfUR_W5NDHXFk59ccmIC4Nsmg8PgA,11914
10
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
11
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/licenses/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
12
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/licenses/NOTICE,sha256=_cWHznIoUSbLCY_KfmKqetlKlsoH0c2VBjmZjElAzuc,168
13
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
14
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/METADATA,sha256=KKq5Li4zJ3ITlqrstb1hDPkHsDB8cweO21fFoUvOwOE,5852
15
+ apache_airflow_providers_hashicorp-4.4.3rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Apache Airflow
2
- Copyright 2016-2025 The Apache Software Foundation
2
+ Copyright 2016-2026 The Apache Software Foundation
3
3
 
4
4
  This product includes software developed at
5
5
  The Apache Software Foundation (http://www.apache.org/).