apache-airflow-providers-hashicorp 4.0.0rc2__py3-none-any.whl → 4.1.0rc1__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.
@@ -199,55 +199,3 @@ distributed under the License is distributed on an "AS IS" BASIS,
199
199
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
200
  See the License for the specific language governing permissions and
201
201
  limitations under the License.
202
-
203
- ============================================================================
204
- APACHE AIRFLOW SUBCOMPONENTS:
205
-
206
- The Apache Airflow project contains subcomponents with separate copyright
207
- notices and license terms. Your use of the source code for the these
208
- subcomponents is subject to the terms and conditions of the following
209
- licenses.
210
-
211
-
212
- ========================================================================
213
- Third party Apache 2.0 licenses
214
- ========================================================================
215
-
216
- The following components are provided under the Apache 2.0 License.
217
- See project link for details. The text of each license is also included
218
- at 3rd-party-licenses/LICENSE-[project].txt.
219
-
220
- (ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
221
- (ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
222
- (ALv2 License) bootstrap3-typeahead v4.0.2 (https://github.com/bassjobsen/Bootstrap-3-Typeahead)
223
- (ALv2 License) connexion v2.7.0 (https://github.com/zalando/connexion)
224
-
225
- ========================================================================
226
- MIT licenses
227
- ========================================================================
228
-
229
- The following components are provided under the MIT License. See project link for details.
230
- The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
231
-
232
- (MIT License) jquery v3.5.1 (https://jquery.org/license/)
233
- (MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
234
- (MIT License) bootstrap v3.4.1 (https://github.com/twbs/bootstrap/)
235
- (MIT License) d3-tip v0.9.1 (https://github.com/Caged/d3-tip)
236
- (MIT License) dataTables v1.10.25 (https://datatables.net)
237
- (MIT License) normalize.css v3.0.2 (http://necolas.github.io/normalize.css/)
238
- (MIT License) ElasticMock v1.3.2 (https://github.com/vrcmarcos/elasticmock)
239
- (MIT License) MomentJS v2.24.0 (http://momentjs.com/)
240
- (MIT License) eonasdan-bootstrap-datetimepicker v4.17.49 (https://github.com/eonasdan/bootstrap-datetimepicker/)
241
-
242
- ========================================================================
243
- BSD 3-Clause licenses
244
- ========================================================================
245
- The following components are provided under the BSD 3-Clause license. See project links for details.
246
- The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
247
-
248
- (BSD 3 License) d3 v5.16.0 (https://d3js.org)
249
- (BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
250
- (BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)
251
-
252
- ========================================================================
253
- See 3rd-party-licenses/LICENSES-ui.txt for packages used in `/airflow/www`
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "4.0.0"
32
+ __version__ = "4.1.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.9.0"
@@ -77,6 +77,8 @@ class _VaultClient(LoggingMixin):
77
77
  :param assume_role_kwargs: AWS assume role param.
78
78
  See AWS STS Docs:
79
79
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sts/client/assume_role.html
80
+ :param region: AWS region for STS API calls. Inferred from the boto3 client configuration if not provided
81
+ (for ``aws_iam`` auth_type).
80
82
  :param kubernetes_role: Role for Authentication (for ``kubernetes`` auth_type).
81
83
  :param kubernetes_jwt_path: Path for kubernetes jwt token (for ``kubernetes`` auth_type, default:
82
84
  ``/var/run/secrets/kubernetes.io/serviceaccount/token``).
@@ -108,6 +110,7 @@ class _VaultClient(LoggingMixin):
108
110
  secret_id: str | None = None,
109
111
  assume_role_kwargs: dict | None = None,
110
112
  role_id: str | None = None,
113
+ region: str | None = None,
111
114
  kubernetes_role: str | None = None,
112
115
  kubernetes_jwt_path: str | None = "/var/run/secrets/kubernetes.io/serviceaccount/token",
113
116
  gcp_key_path: str | None = None,
@@ -166,6 +169,7 @@ class _VaultClient(LoggingMixin):
166
169
  self.secret_id = secret_id
167
170
  self.role_id = role_id
168
171
  self.assume_role_kwargs = assume_role_kwargs
172
+ self.region = region
169
173
  self.kubernetes_role = kubernetes_role
170
174
  self.kubernetes_jwt_path = kubernetes_jwt_path
171
175
  self.gcp_key_path = gcp_key_path
@@ -329,7 +333,6 @@ class _VaultClient(LoggingMixin):
329
333
  auth_args = {
330
334
  "access_key": self.key_id,
331
335
  "secret_key": self.secret_id,
332
- "role": self.role_id,
333
336
  }
334
337
  else:
335
338
  import boto3
@@ -341,6 +344,7 @@ class _VaultClient(LoggingMixin):
341
344
  "access_key": credentials["Credentials"]["AccessKeyId"],
342
345
  "secret_key": credentials["Credentials"]["SecretAccessKey"],
343
346
  "session_token": credentials["Credentials"]["SessionToken"],
347
+ "region": sts_client.meta.region_name,
344
348
  }
345
349
  else:
346
350
  session = boto3.Session()
@@ -349,10 +353,15 @@ class _VaultClient(LoggingMixin):
349
353
  "access_key": credentials.access_key,
350
354
  "secret_key": credentials.secret_key,
351
355
  "session_token": credentials.token,
356
+ "region": session.region_name,
352
357
  }
353
358
 
354
359
  if self.auth_mount_point:
355
360
  auth_args["mount_point"] = self.auth_mount_point
361
+ if self.region:
362
+ auth_args["region"] = self.region
363
+ if self.role_id:
364
+ auth_args["role"] = self.role_id
356
365
 
357
366
  _client.auth.aws.iam_login(**auth_args)
358
367
 
@@ -15,8 +15,7 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- # NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
19
- # OVERWRITTEN WHEN PREPARING PACKAGES.
18
+ # NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
20
19
  #
21
20
  # IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22
21
  # `get_provider_info_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
@@ -28,8 +27,9 @@ def get_provider_info():
28
27
  "name": "Hashicorp",
29
28
  "description": "Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__\n",
30
29
  "state": "ready",
31
- "source-date-epoch": 1734534790,
30
+ "source-date-epoch": 1741508899,
32
31
  "versions": [
32
+ "4.1.0",
33
33
  "4.0.0",
34
34
  "3.8.0",
35
35
  "3.7.1",
@@ -61,12 +61,11 @@ def get_provider_info():
61
61
  "1.0.1",
62
62
  "1.0.0",
63
63
  ],
64
- "dependencies": ["apache-airflow>=2.9.0", "hvac>=1.1.0"],
65
64
  "integrations": [
66
65
  {
67
66
  "integration-name": "Hashicorp Vault",
68
67
  "external-doc-url": "https://www.vaultproject.io/",
69
- "logo": "/integration-logos/hashicorp/Hashicorp-Vault.png",
68
+ "logo": "/docs/integration-logos/Hashicorp-Vault.png",
70
69
  "tags": ["software"],
71
70
  }
72
71
  ],
@@ -83,5 +82,7 @@ def get_provider_info():
83
82
  }
84
83
  ],
85
84
  "secrets-backends": ["airflow.providers.hashicorp.secrets.vault.VaultBackend"],
86
- "additional-extras": [{"name": "boto3", "dependencies": ["boto3>=1.33.0"]}],
85
+ "dependencies": ["apache-airflow>=2.9.0", "hvac>=1.1.0"],
86
+ "optional-dependencies": {"boto3": ["boto3>=1.33.0"], "google": ["apache-airflow-providers-google"]},
87
+ "devel-dependencies": [],
87
88
  }
@@ -85,6 +85,7 @@ class VaultHook(BaseHook):
85
85
  :param kv_engine_version: Select the version of the engine to run (``1`` or ``2``). Defaults to
86
86
  version defined in connection or ``2`` if not defined in connection.
87
87
  :param role_id: Role ID for ``aws_iam`` Authentication.
88
+ :param region: AWS region for STS API calls (for ``aws_iam`` auth_type).
88
89
  :param kubernetes_role: Role for Authentication (for ``kubernetes`` auth_type)
89
90
  :param kubernetes_jwt_path: Path for kubernetes jwt token (for ``kubernetes`` auth_type, default:
90
91
  ``/var/run/secrets/kubernetes.io/serviceaccount/token``)
@@ -113,6 +114,7 @@ class VaultHook(BaseHook):
113
114
  auth_mount_point: str | None = None,
114
115
  kv_engine_version: int | None = None,
115
116
  role_id: str | None = None,
117
+ region: str | None = None,
116
118
  kubernetes_role: str | None = None,
117
119
  kubernetes_jwt_path: str | None = None,
118
120
  token_path: str | None = None,
@@ -151,6 +153,8 @@ class VaultHook(BaseHook):
151
153
  if auth_type == "aws_iam":
152
154
  if not role_id:
153
155
  role_id = self.connection.extra_dejson.get("role_id")
156
+ if not region:
157
+ region = self.connection.extra_dejson.get("region")
154
158
 
155
159
  azure_resource, azure_tenant_id = (
156
160
  self._get_azure_parameters_from_connection(azure_resource, azure_tenant_id)
@@ -210,6 +214,7 @@ class VaultHook(BaseHook):
210
214
  key_id=self.connection.login,
211
215
  secret_id=self.connection.password,
212
216
  role_id=role_id,
217
+ region=region,
213
218
  kubernetes_role=kubernetes_role,
214
219
  kubernetes_jwt_path=kubernetes_jwt_path,
215
220
  gcp_key_path=gcp_key_path,
@@ -226,7 +231,7 @@ class VaultHook(BaseHook):
226
231
 
227
232
  def _get_kubernetes_parameters_from_connection(
228
233
  self, kubernetes_jwt_path: str | None, kubernetes_role: str | None
229
- ) -> tuple[str, str | None]:
234
+ ) -> tuple[str | None, str | None]:
230
235
  if not kubernetes_jwt_path:
231
236
  kubernetes_jwt_path = self.connection.extra_dejson.get("kubernetes_jwt_path")
232
237
  if not kubernetes_jwt_path:
@@ -74,6 +74,7 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
74
74
  :param assume_role_kwargs: AWS assume role param.
75
75
  See AWS STS Docs:
76
76
  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sts/client/assume_role.html
77
+ :param region: AWS region for STS API calls (for ``aws_iam`` auth_type).
77
78
  :param kubernetes_role: Role for Authentication (for ``kubernetes`` auth_type).
78
79
  :param kubernetes_jwt_path: Path for kubernetes jwt token (for ``kubernetes`` auth_type, default:
79
80
  ``/var/run/secrets/kubernetes.io/serviceaccount/token``).
@@ -108,6 +109,7 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
108
109
  secret_id: str | None = None,
109
110
  role_id: str | None = None,
110
111
  assume_role_kwargs: dict | None = None,
112
+ region: str | None = None,
111
113
  kubernetes_role: str | None = None,
112
114
  kubernetes_jwt_path: str = "/var/run/secrets/kubernetes.io/serviceaccount/token",
113
115
  gcp_key_path: str | None = None,
@@ -149,6 +151,7 @@ class VaultBackend(BaseSecretsBackend, LoggingMixin):
149
151
  secret_id=secret_id,
150
152
  role_id=role_id,
151
153
  assume_role_kwargs=assume_role_kwargs,
154
+ region=region,
152
155
  kubernetes_role=kubernetes_role,
153
156
  kubernetes_jwt_path=kubernetes_jwt_path,
154
157
  gcp_key_path=gcp_key_path,
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-hashicorp
3
- Version: 4.0.0rc2
3
+ Version: 4.1.0rc1
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>
@@ -25,8 +25,8 @@ Requires-Dist: hvac>=1.1.0
25
25
  Requires-Dist: boto3>=1.33.0 ; extra == "boto3"
26
26
  Requires-Dist: apache-airflow-providers-google ; extra == "google"
27
27
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
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
28
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.1.0/changelog.html
29
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.1.0
30
30
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
31
31
  Project-URL: Source Code, https://github.com/apache/airflow
32
32
  Project-URL: Twitter, https://x.com/ApacheAirflow
@@ -52,33 +52,14 @@ Provides-Extra: google
52
52
  specific language governing permissions and limitations
53
53
  under the License.
54
54
 
55
- .. Licensed to the Apache Software Foundation (ASF) under one
56
- or more contributor license agreements. See the NOTICE file
57
- distributed with this work for additional information
58
- regarding copyright ownership. The ASF licenses this file
59
- to you under the Apache License, Version 2.0 (the
60
- "License"); you may not use this file except in compliance
61
- with the License. You may obtain a copy of the License at
62
-
63
- .. http://www.apache.org/licenses/LICENSE-2.0
64
-
65
- .. Unless required by applicable law or agreed to in writing,
66
- software distributed under the License is distributed on an
67
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
68
- KIND, either express or implied. See the License for the
69
- specific language governing permissions and limitations
70
- under the License.
71
-
72
- .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
73
- OVERWRITTEN WHEN PREPARING PACKAGES.
74
-
75
- .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
76
- `PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
55
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
77
56
 
57
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
58
+ ``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
78
59
 
79
60
  Package ``apache-airflow-providers-hashicorp``
80
61
 
81
- Release: ``4.0.0.rc2``
62
+ Release: ``4.1.0``
82
63
 
83
64
 
84
65
  Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
@@ -91,7 +72,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
91
72
  are in ``airflow.providers.hashicorp`` python package.
92
73
 
93
74
  You can find package information and changelog for the provider
94
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0/>`_.
75
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.1.0/>`_.
95
76
 
96
77
  Installation
97
78
  ------------
@@ -132,4 +113,5 @@ Dependent package
132
113
  ==================================================================================================== ==========
133
114
 
134
115
  The changelog for the provider package can be found in the
135
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.0.0/changelog.html>`_.
116
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/4.1.0/changelog.html>`_.
117
+
@@ -0,0 +1,13 @@
1
+ airflow/providers/hashicorp/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
2
+ airflow/providers/hashicorp/__init__.py,sha256=IJqU6g9yBil_huHinPv009MmUK2D3JFke3l-uuyZN1k,1496
3
+ airflow/providers/hashicorp/get_provider_info.py,sha256=3ayF7NmTG7oAIQb7yPCV6sQzMrskOCHY0c8CWknGNww,2999
4
+ airflow/providers/hashicorp/_internal_client/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
5
+ airflow/providers/hashicorp/_internal_client/vault_client.py,sha256=MHl7_mJc_T3l2kwY8QFBWr6_Oe1BOauVoi4MMXk-m-I,23068
6
+ airflow/providers/hashicorp/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
7
+ airflow/providers/hashicorp/hooks/vault.py,sha256=CUo8jUf0mwzLXrJI4EmrDAxehk5dtDljiU83E-xz8ag,18072
8
+ airflow/providers/hashicorp/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
9
+ airflow/providers/hashicorp/secrets/vault.py,sha256=Lt7xpCZlw3UP-Dfjdqn71KN9y99Cpsd1B4KlK0JFF9Q,11571
10
+ apache_airflow_providers_hashicorp-4.1.0rc1.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
11
+ apache_airflow_providers_hashicorp-4.1.0rc1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
12
+ apache_airflow_providers_hashicorp-4.1.0rc1.dist-info/METADATA,sha256=NmXHJfOtq4DqBLEU-SVHWOCs0ziqzEqaf8BUrBdqAF8,5038
13
+ apache_airflow_providers_hashicorp-4.1.0rc1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: flit 3.10.1
2
+ Generator: flit 3.11.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,13 +0,0 @@
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.0rc2.dist-info/entry_points.txt,sha256=M338G3KvFSRu5IqEFm5Qheg_myVuQbsN_2EbAwcgqk4,105
11
- apache_airflow_providers_hashicorp-4.0.0rc2.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
12
- apache_airflow_providers_hashicorp-4.0.0rc2.dist-info/METADATA,sha256=-UnN_ck6ZNI2KGkKlIowvHInb9SA2O_utecyenQYWsc,5881
13
- apache_airflow_providers_hashicorp-4.0.0rc2.dist-info/RECORD,,