This is an automated email from the ASF dual-hosted git repository. eladkal pushed a commit to branch add-documentation-2024-03-25 in repository https://gitbox.apache.org/repos/asf/airflow-site.git
commit ae8f49b915ff41b15c30e3997fe134166e42daf8 Author: Elad Kalif <[email protected]> AuthorDate: Mon Mar 25 15:54:28 2024 +0200 Add documentation for packages - 2024-03-25 --- .../fab/auth_manager/fab_auth_manager/index.html | 21 +- .../security_manager/override/index.html | 11 +- .../1.0.2/_api/airflow/providers/fab/index.html | 2 +- .../1.0.2/_modules/airflow/providers/fab.html | 2 +- .../auth_manager/api/auth/backend/basic_auth.html | 1 + .../role_and_permission_endpoint.html | 15 +- .../auth_manager/api_endpoints/user_endpoint.html | 10 +- .../auth_manager/cli_commands/role_command.html | 1 + .../cli_commands/sync_perm_command.html | 1 + .../auth_manager/cli_commands/user_command.html | 1 + .../fab/auth_manager/decorators/auth.html | 9 +- .../fab/auth_manager/fab_auth_manager.html | 22 +- .../auth_manager/security_manager/override.html | 88 +++++++- .../auth_manager/fab_auth_manager/index.rst.txt | 19 +- .../security_manager/override/index.rst.txt | 6 +- .../_api/airflow/providers/fab/index.rst.txt | 2 +- .../1.0.2/_sources/changelog.rst.txt | 7 + .../1.0.2/_sources/commits.rst.txt | 91 +++++++- .../1.0.2/_sources/index.rst.txt | 16 +- .../1.0.2/changelog.html | 11 +- .../1.0.2/commits.html | 235 ++++++++++++++++++++- .../1.0.2/genindex.html | 2 + .../apache-airflow-providers-fab/1.0.2/index.html | 20 +- .../apache-airflow-providers-fab/1.0.2/objects.inv | Bin 4573 -> 4583 bytes .../1.0.2/searchindex.js | 2 +- .../1.0.2/security/security-model.html | 1 - landing-pages/site/content/en/docs/_index.md | 2 + 27 files changed, 508 insertions(+), 90 deletions(-) diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html index 2ac329f877..63546e196d 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html @@ -824,18 +824,16 @@ entity (e.g. DAG runs). <dl class="py method"> <dt class="sig sig-object py" id="airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager.is_authorized_custom_view"> -<span class="sig-name descname"><span class="pre">is_authorized_custom_view</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fab_action_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fab_resource_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre" [...] +<span class="sig-name descname"><span class="pre">is_authorized_custom_view</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></sp [...] <dd><p>Return whether the user is authorized to perform a given action on a custom view.</p> -<p>A custom view is a view defined as part of the auth manager. This view is then only available when -the auth manager is used as part of the environment.</p> -<p>By default, it throws an exception because auth managers do not define custom views by default. -If an auth manager defines some custom views, it needs to override this method.</p> +<p>A custom view can be a view defined as part of the auth manager. This view is then only available when +the auth manager is used as part of the environment. It can also be a view defined as part of a +plugin defined by a user.</p> <dl class="field-list simple"> <dt class="field-odd">Parameters</dt> <dd class="field-odd"><ul class="simple"> -<li><p><strong>fab_action_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – the name of the FAB action defined in the view in <code class="docutils literal notranslate"><span class="pre">base_permissions</span></code></p></li> -<li><p><strong>fab_resource_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – the name of the FAB resource defined in the view in -<code class="docutils literal notranslate"><span class="pre">class_permission_name</span></code></p></li> +<li><p><strong>method</strong> (<em>airflow.auth.managers.base_auth_manager.ResourceMethod</em>) – the method to perform</p></li> +<li><p><strong>resource_name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><em>str</em></a>) – the name of the resource</p></li> <li><p><strong>user</strong> (<em>airflow.auth.managers.models.base_user.BaseUser</em><em> | </em><em>None</em>) – the user to perform the action on. If not provided (or None), it uses the current user</p></li> </ul> </dd> @@ -850,6 +848,13 @@ If an auth manager defines some custom views, it needs to override this method.< Can lead to some poor performance. It is recommended to override this method in the auth manager implementation to provide a more efficient implementation.</p> <dl class="field-list simple"> +<dt class="field-odd">Parameters</dt> +<dd class="field-odd"><ul class="simple"> +<li><p><strong>methods</strong> (<em>Container</em><em>[</em><em>airflow.auth.managers.base_auth_manager.ResourceMethod</em><em>] </em><em>| </em><em>None</em>) – whether filter readable or writable</p></li> +<li><p><strong>user</strong> – the current user</p></li> +<li><p><strong>session</strong> (<a class="reference external" href="https://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.Session" title="(in SQLAlchemy v2.0)"><em>sqlalchemy.orm.Session</em></a>) – the session</p></li> +</ul> +</dd> </dl> </dd></dl> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/security_manager/override/index.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/security_manager/override/index.html index f5c9ce6b1a..f616cc3838 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/security_manager/override/index.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/auth_manager/security_manager/override/index.html @@ -845,6 +845,13 @@ the AirflowSecurityManager should be defined here instead of AirflowSecurityMana </dl> </dd></dl> +<dl class="py property"> +<dt class="sig sig-object py" id="airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_remote_user_env_var"> +<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">auth_remote_user_env_var</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></em><a class="reference internal" href="../../../../../../../_modules/airflow/p [...] +<dd><dl class="field-list simple"> +</dl> +</dd></dl> + <dl class="py property"> <dt class="sig sig-object py" id="airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers"> <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">api_login_allow_multiple_providers</span></span><a class="reference internal" href="../../../../../../../_modules/airflow/providers/fab/auth_manager/security_manager/override.html#FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#airflow. [...] @@ -1545,8 +1552,7 @@ Add the missing ones to the table for admin.</p> <dl class="py method"> <dt class="sig sig-object py" id="airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.load_user"> <span class="sig-name descname"><span class="pre">load_user</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user_id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../../../_modules/airflow/providers/fab/auth_manager/security_manager/override.html#FabAirflowSecurityManagerOverride.load_user"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" hr [...] -<dd><p>Load user by ID.</p> -</dd></dl> +<dd></dd></dl> <dl class="py method"> <dt class="sig sig-object py" id="airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.get_user_by_id"> @@ -2067,6 +2073,7 @@ using <code class="docutils literal notranslate"><span class="pre">OAUTH_PROVIDE <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_ldap_group_field"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_ldap_group_field</span></code></a></li> <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_roles_mapping"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_roles_mapping</span></code></a></li> <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_user_registration_role_jmespath"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_user_registration_role_jmespath</span></code></a></li> +<li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_remote_user_env_var"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_remote_user_env_var</span></code></a></li> <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers</span></code></a></li> <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_username_ci"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_username_ci</span></code></a></li> <li><a class="reference internal" href="#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_ldap_bind_first"><code class="docutils literal notranslate"><span class="pre">FabAirflowSecurityManagerOverride.auth_ldap_bind_first</span></code></a></li> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/index.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/index.html index 4a1c57c38a..13c67d1367 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/index.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_api/airflow/providers/fab/index.html @@ -667,7 +667,7 @@ <h2>Package Contents<a class="headerlink" href="#package-contents" title="Permalink to this heading">¶</a></h2> <dl class="py data"> <dt class="sig sig-object py" id="airflow.providers.fab.__version__"> -<span class="sig-prename descclassname"><span class="pre">airflow.providers.fab.</span></span><span class="sig-name descname"><span class="pre">__version__</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'1.0.0'</span></em><a class="reference internal" href="../../../../_modules/airflow/providers/fab.html#__version__"><span class="viewcode-link"><span class="pre">[source]</span></span></a [...] +<span class="sig-prename descclassname"><span class="pre">airflow.providers.fab.</span></span><span class="sig-name descname"><span class="pre">__version__</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'1.0.2'</span></em><a class="reference internal" href="../../../../_modules/airflow/providers/fab.html#__version__"><span class="viewcode-link"><span class="pre">[source]</span></span></a [...] <dd></dd></dl> </div> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab.html index 98a53154c9..bac86b5f44 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab.html @@ -641,7 +641,7 @@ <span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"__version__"</span><span class="p">]</span> -<div class="viewcode-block" id="__version__"><a class="viewcode-back" href="../../../_api/airflow/providers/fab/index.html#airflow.providers.fab.__version__">[docs]</a><span class="n">__version__</span> <span class="o">=</span> <span class="s2">"1.0.0"</span></div> +<div class="viewcode-block" id="__version__"><a class="viewcode-back" href="../../../_api/airflow/providers/fab/index.html#airflow.providers.fab.__version__">[docs]</a><span class="n">__version__</span> <span class="o">=</span> <span class="s2">"1.0.2"</span></div> <span class="k">try</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">airflow</span> <span class="kn">import</span> <span class="n">__version__</span> <span class="k">as</span> <span class="n">airflow_version</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.html index c96f49bee7..f330dd174c 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.html @@ -631,6 +631,7 @@ <span class="c1"># specific language governing permissions and limitations</span> <span class="c1"># under the License.</span> <span class="sd">"""Basic authentication backend."""</span> + <span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">wraps</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.html index c4a7fac224..9bbe44cbf7 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.html @@ -657,10 +657,9 @@ <span class="k">if</span> <span class="n">TYPE_CHECKING</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">airflow.api_connexion.types</span> <span class="kn">import</span> <span class="n">APIResponse</span><span class="p">,</span> <span class="n">UpdateMask</span> - <span class="kn">from</span> <span class="nn">airflow.www.security_manager</span> <span class="kn">import</span> <span class="n">AirflowSecurityManagerV2</span> -<span class="k">def</span> <span class="nf">_check_action_and_resource</span><span class="p">(</span><span class="n">sm</span><span class="p">:</span> <span class="n">AirflowSecurityManagerV2</span><span class="p">,</span> <span class="n">perms</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]])</span> <span [...] +<span class="k">def</span> <span class="nf">_check_action_and_resource</span><span class="p">(</span><span class="n">sm</span><span class="p">:</span> <span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">perms</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]])</sp [...] <span class="w"> </span><span class="sd">"""</span> <span class="sd"> Check if the action or resource exists and otherwise raise 400.</span> @@ -673,7 +672,7 @@ <span class="k">raise</span> <span class="n">BadRequest</span><span class="p">(</span><span class="n">detail</span><span class="o">=</span><span class="sa">f</span><span class="s2">"The specified resource: </span><span class="si">{</span><span class="n">resource</span><span class="si">!r}</span><span class="s2"> was not found"</span><span class="p">)</span> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> <div class="viewcode-block" id="get_role"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.get_role">[docs]</a><span class="k">def</span> <span class="nf">get_role</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">role_name</span><span class="p">:</span> <span class="nb">str [...] <span class="w"> </span><span class="sd">"""Get role."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> @@ -683,7 +682,7 @@ <span class="k">return</span> <span class="n">role_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">role</span><span class="p">)</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> <span class="nd">@format_parameters</span><span class="p">({</span><span class="s2">"limit"</span><span class="p">:</span> <span class="n">check_limit</span><span class="p">})</span> <div class="viewcode-block" id="get_roles"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.get_roles">[docs]</a><span class="k">def</span> <span class="nf">get_roles</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">order_by</span><span class="p">:</span> <span class="nb">s [...] <span class="w"> </span><span class="sd">"""Get roles."""</span> @@ -711,7 +710,7 @@ <span class="k">return</span> <span class="n">role_collection_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">RoleCollection</span><span class="p">(</span><span class="n">roles</span><span class="o">=</span><span class="n">roles</span><span class="p">,</span> <span class="n">total_entries</span><span class="o">=</span><span class="n">total_entries</span><span class="p">))</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ACTION</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ACTION</span><span class="p">)</span> <span class="nd">@format_parameters</span><span class="p">({</span><span class="s2">"limit"</span><span class="p">:</span> <span class="n">check_limit</span><span class="p">})</span> <div class="viewcode-block" id="get_permissions"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.get_permissions">[docs]</a><span class="k">def</span> <span class="nf">get_permissions</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">limit</span><span class="p">:</span> <sp [...] <span class="w"> </span><span class="sd">"""Get permissions."""</span> @@ -723,7 +722,7 @@ <span class="k">return</span> <span class="n">action_collection_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">ActionCollection</span><span class="p">(</span><span class="n">actions</span><span class="o">=</span><span class="n">actions</span><span class="p">,</span> <span class="n">total_entries</span><span class="o">=</span><span class="n">total_entries</span><span class="p">))</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_DELETE</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"DELETE"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> <div class="viewcode-block" id="delete_role"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.delete_role">[docs]</a><span class="k">def</span> <span class="nf">delete_role</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">role_name</span><span class="p">:</span> <span class [...] <span class="w"> </span><span class="sd">"""Delete a role."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> @@ -735,7 +734,7 @@ <span class="k">return</span> <span class="n">NoContent</span><span class="p">,</span> <span class="n">HTTPStatus</span><span class="o">.</span><span class="n">NO_CONTENT</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_EDIT</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"PUT"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> <div class="viewcode-block" id="patch_role"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.patch_role">[docs]</a><span class="k">def</span> <span class="nf">patch_role</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">role_name</span><span class="p">:</span> <span class="n [...] <span class="w"> </span><span class="sd">"""Update a role."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> @@ -768,7 +767,7 @@ <span class="k">return</span> <span class="n">role_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">role</span><span class="p">)</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_CREATE</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_ROLE</span><span class="p">)</span> <div class="viewcode-block" id="post_role"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.role_and_permission_endpoint.post_role">[docs]</a><span class="k">def</span> <span class="nf">post_role</span><span class="p">()</span> <span class="o">-></span> <span class="n">APIResponse</span><span class="p">:</span> <span class="w"> </span><span class="sd">"""Create a new role."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.html index 096157772e..8b0fd10704 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.html @@ -660,7 +660,7 @@ <span class="kn">from</span> <span class="nn">airflow.providers.fab.auth_manager.models</span> <span class="kn">import</span> <span class="n">Role</span> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> <div class="viewcode-block" id="get_user"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.user_endpoint.get_user">[docs]</a><span class="k">def</span> <span class="nf">get_user</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> [...] <span class="w"> </span><span class="sd">"""Get a user."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> @@ -670,7 +670,7 @@ <span class="k">return</span> <span class="n">user_collection_item_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">user</span><span class="p">)</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> <span class="nd">@format_parameters</span><span class="p">({</span><span class="s2">"limit"</span><span class="p">:</span> <span class="n">check_limit</span><span class="p">})</span> <div class="viewcode-block" id="get_users"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.user_endpoint.get_users">[docs]</a><span class="k">def</span> <span class="nf">get_users</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">limit</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> [...] <span class="w"> </span><span class="sd">"""Get users."""</span> @@ -702,7 +702,7 @@ <span class="k">return</span> <span class="n">user_collection_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">UserCollection</span><span class="p">(</span><span class="n">users</span><span class="o">=</span><span class="n">users</span><span class="p">,</span> <span class="n">total_entries</span><span class="o">=</span><span class="n">total_entries</span><span class="p">))</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_CREATE</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> <div class="viewcode-block" id="post_user"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.user_endpoint.post_user">[docs]</a><span class="k">def</span> <span class="nf">post_user</span><span class="p">()</span> <span class="o">-></span> <span class="n">APIResponse</span><span class="p">:</span> <span class="w"> </span><span class="sd">"""Create a new user."""</span> <span class="k">try</span><span class="p">:</span> @@ -745,7 +745,7 @@ <span class="k">return</span> <span class="n">user_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">user</span><span class="p">)</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_EDIT</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"PUT"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> <div class="viewcode-block" id="patch_user"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.user_endpoint.patch_user">[docs]</a><span class="k">def</span> <span class="nf">patch_user</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,< [...] <span class="w"> </span><span class="sd">"""Update a user."""</span> <span class="k">try</span><span class="p">:</span> @@ -814,7 +814,7 @@ <span class="k">return</span> <span class="n">user_schema</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">user</span><span class="p">)</span></div> -<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="n">permissions</span><span class="o">.</span><span class="n">ACTION_CAN_DELETE</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> +<span class="nd">@requires_access_custom_view</span><span class="p">(</span><span class="s2">"DELETE"</span><span class="p">,</span> <span class="n">permissions</span><span class="o">.</span><span class="n">RESOURCE_USER</span><span class="p">)</span> <div class="viewcode-block" id="delete_user"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/api_endpoints/user_endpoint/index.html#airflow.providers.fab.auth_manager.api_endpoints.user_endpoint.delete_user">[docs]</a><span class="k">def</span> <span class="nf">delete_user</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p" [...] <span class="w"> </span><span class="sd">"""Delete a user."""</span> <span class="n">security_manager</span> <span class="o">=</span> <span class="n">cast</span><span class="p">(</span><span class="n">FabAirflowSecurityManagerOverride</span><span class="p">,</span> <span class="n">get_auth_manager</span><span class="p">()</span><span class="o">.</span><span class="n">security_manager</span><span class="p">)</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/role_command.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/role_command.html index 8154b75720..31303b1fcd 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/role_command.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/role_command.html @@ -632,6 +632,7 @@ <span class="c1"># specific language governing permissions and limitations</span> <span class="c1"># under the License.</span> <span class="sd">"""Roles sub-commands."""</span> + <span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="kn">import</span> <span class="nn">itertools</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.html index ac7aec7006..9c8871a2e9 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.html @@ -632,6 +632,7 @@ <span class="c1"># specific language governing permissions and limitations</span> <span class="c1"># under the License.</span> <span class="sd">"""Sync permission command."""</span> + <span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="kn">from</span> <span class="nn">airflow.utils</span> <span class="kn">import</span> <span class="n">cli</span> <span class="k">as</span> <span class="n">cli_utils</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/user_command.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/user_command.html index 7024fda48e..cf0e8f6a28 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/user_command.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/cli_commands/user_command.html @@ -631,6 +631,7 @@ <span class="c1"># specific language governing permissions and limitations</span> <span class="c1"># under the License.</span> <span class="sd">"""User sub-commands."""</span> + <span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">annotations</span> <span class="kn">import</span> <span class="nn">functools</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/decorators/auth.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/decorators/auth.html index a6d3960c4e..7856c7da49 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/decorators/auth.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/decorators/auth.html @@ -709,11 +709,14 @@ <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">unique_dag_ids</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span> <span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span> - <span class="sa">f</span><span class="s2">"There are different dag_ids passed in the request: </span><span class="si">{</span><span class="n">unique_dag_ids</span><span class="si">}</span><span class="s2">. Returning 403."</span> + <span class="s2">"There are different dag_ids passed in the request: </span><span class="si">%s</span><span class="s2">. Returning 403."</span><span class="p">,</span> <span class="n">unique_dag_ids</span> <span class="p">)</span> <span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span> - <span class="sa">f</span><span class="s2">"kwargs: </span><span class="si">{</span><span class="n">dag_id_kwargs</span><span class="si">}</span><span class="s2">, args: </span><span class="si">{</span><span class="n">dag_id_args</span><span class="si">}</span><span class="s2">, "</span> - <span class="sa">f</span><span class="s2">"form: </span><span class="si">{</span><span class="n">dag_id_form</span><span class="si">}</span><span class="s2">, json: </span><span class="si">{</span><span class="n">dag_id_json</span><span class="si">}</span><span class="s2">"</span> + <span class="s2">"kwargs: </span><span class="si">%s</span><span class="s2">, args: </span><span class="si">%s</span><span class="s2">, form: </span><span class="si">%s</span><span class="s2">, json: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> + <span class="n">dag_id_kwargs</span><span class="p">,</span> + <span class="n">dag_id_args</span><span class="p">,</span> + <span class="n">dag_id_form</span><span class="p">,</span> + <span class="n">dag_id_json</span><span class="p">,</span> <span class="p">)</span> <span class="k">return</span> <span class="p">(</span> <span class="n">render_template</span><span class="p">(</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/fab_auth_manager.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/fab_auth_manager.html index 62e145ab92..3c7de95cf4 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/fab_auth_manager.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/fab_auth_manager.html @@ -670,8 +670,6 @@ <span class="kn">from</span> <span class="nn">airflow.providers.fab.auth_manager.models</span> <span class="kn">import</span> <span class="n">Permission</span><span class="p">,</span> <span class="n">Role</span><span class="p">,</span> <span class="n">User</span> <span class="kn">from</span> <span class="nn">airflow.security</span> <span class="kn">import</span> <span class="n">permissions</span> <span class="kn">from</span> <span class="nn">airflow.security.permissions</span> <span class="kn">import</span> <span class="p">(</span> - <span class="n">ACTION_CAN_ACCESS_MENU</span><span class="p">,</span> - <span class="n">ACTION_CAN_READ</span><span class="p">,</span> <span class="n">RESOURCE_AUDIT_LOG</span><span class="p">,</span> <span class="n">RESOURCE_CLUSTER_ACTIVITY</span><span class="p">,</span> <span class="n">RESOURCE_CONFIG</span><span class="p">,</span> @@ -879,16 +877,19 @@ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_authorized</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="n">method</span><span class="p">,</span> <span class="n">resource_type</span><span class="o">=</span><span class="n">RESOURCE_VARIABLE</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="n">user</span><span class="p">)</span></div> <div class="viewcode-block" id="FabAuthManager.is_authorized_view"><a class="viewcode-back" href="../../../../../_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html#airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager.is_authorized_view">[docs]</a> <span class="k">def</span> <span class="nf">is_authorized_view</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n" [...] + <span class="c1"># "Docs" are only links in the menu, there is no page associated</span> + <span class="n">method</span><span class="p">:</span> <span class="n">ResourceMethod</span> <span class="o">=</span> <span class="s2">"MENU"</span> <span class="k">if</span> <span class="n">access_view</span> <span class="o">==</span> <span class="n">AccessView</span><span class="o">.</span><span class="n">DOCS</span> <span class="k">else</span> <span class="s2">"GET"</span> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_authorized</span><span class="p">(</span> - <span class="n">method</span><span class="o">=</span><span class="s2">"GET"</span><span class="p">,</span> <span class="n">resource_type</span><span class="o">=</span><span class="n">_MAP_ACCESS_VIEW_TO_FAB_RESOURCE_TYPE</span><span class="p">[</span><span class="n">access_view</span><span class="p">],</span> <span class="n">user</span><span class="o">=</span><span class="n">user</span> + <span class="n">method</span><span class="o">=</span><span class="n">method</span><span class="p">,</span> <span class="n">resource_type</span><span class="o">=</span><span class="n">_MAP_ACCESS_VIEW_TO_FAB_RESOURCE_TYPE</span><span class="p">[</span><span class="n">access_view</span><span class="p">],</span> <span class="n">user</span><span class="o">=</span><span class="n">user</span> <span class="p">)</span></div> <div class="viewcode-block" id="FabAuthManager.is_authorized_custom_view"><a class="viewcode-back" href="../../../../../_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html#airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager.is_authorized_custom_view">[docs]</a> <span class="k">def</span> <span class="nf">is_authorized_custom_view</span><span class="p">(</span> - <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">fab_action_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">fab_resource_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">user</span><span class="p">:</span> <span class="n">BaseUser</span> <span class="o">|</span> <span class="kc">None</span> <span class= [...] + <span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">method</span><span class="p">:</span> <span class="n">ResourceMethod</span><span class="p">,</span> <span class="n">resource_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">user</span><span class="p">:</span> <span class="n">BaseUser</span> <span class="o">|</span> <span class="kc">None</span> <span class="o" [...] <span class="p">):</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">user</span><span class="p">:</span> <span class="n">user</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_user</span><span class="p">()</span> - <span class="k">return</span> <span class="p">(</span><span class="n">fab_action_name</span><span class="p">,</span> <span class="n">fab_resource_name</span><span class="p">)</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_user_permissions</span><span class="p">(</span><span class="n">user</span><span class="p">)</span></div> + <span class="n">fab_action_name</span> <span class="o">=</span> <span class="n">get_fab_action_from_method_map</span><span class="p">()[</span><span class="n">method</span><span class="p">]</span> + <span class="k">return</span> <span class="p">(</span><span class="n">fab_action_name</span><span class="p">,</span> <span class="n">resource_name</span><span class="p">)</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_user_permissions</span><span class="p">(</span><span class="n">user</span><span class="p">)</span></div> <span class="nd">@provide_session</span> <div class="viewcode-block" id="FabAuthManager.get_permitted_dag_ids"><a class="viewcode-back" href="../../../../../_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.html#airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager.get_permitted_dag_ids">[docs]</a> <span class="k">def</span> <span class="nf">get_permitted_dag_ids</span><span class="p">(</span> @@ -966,7 +967,7 @@ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">security_manager</span><span class="o">.</span><span class="n">auth_view</span><span class="p">:</span> <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">"`auth_view` not defined in the security manager."</span><span class="p">)</span> <span class="k">if</span> <span class="s2">"next_url"</span> <span class="ow">in</span> <span class="n">kwargs</span> <span class="ow">and</span> <span class="n">kwargs</span><span class="p">[</span><span class="s2">"next_url"</span><span class="p">]:</span> - <span class="k">return</span> <span class="n">url_for</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">security_manager</span><span class="o">.</span><span class="n">auth_view</span><span class="o">.</span><span class="n">endpoint</span><span class="si">}</span><span class="s2">.login"</span><span class="p">,</span> <span class="n">next_url</sp [...] + <span class="k">return</span> <span class="n">url_for</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">security_manager</span><span class="o">.</span><span class="n">auth_view</span><span class="o">.</span><span class="n">endpoint</span><span class="si">}</span><span class="s2">.login"</span><span class="p">,</span> <span class="nb">next</span> [...] <span class="k">else</span><span class="p">:</span> <span class="k">return</span> <span class="n">url_for</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">security_manager</span><span class="o">.</span><span class="n">auth_view</span><span class="o">.</span><span class="n">endpoint</span><span class="si">}</span><span class="s2">.login"</span><span class="p">)</span></div> @@ -1079,18 +1080,11 @@ <span class="w"> </span><span class="sd">"""</span> <span class="sd"> Return the user permissions.</span> -<span class="sd"> ACTION_CAN_READ and ACTION_CAN_ACCESS_MENU are merged into because they are very similar.</span> -<span class="sd"> We can assume that if a user has permissions to read variables, they also have permissions to access</span> -<span class="sd"> the menu "Variables".</span> - <span class="sd"> :param user: the user to get permissions for</span> <span class="sd"> :meta private:</span> <span class="sd"> """</span> - <span class="n">perms</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="s2">"perms"</span><span class="p">)</span> <span class="ow">or</span> <span class="p">[]</span> - <span class="k">return</span> <span class="p">[</span> - <span class="p">(</span><span class="n">ACTION_CAN_READ</span> <span class="k">if</span> <span class="n">perm</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="n">ACTION_CAN_ACCESS_MENU</span> <span class="k">else</span> <span class="n">perm</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">perm</span><span class="p">[</span><span class="mi">1</span><span class= [...] - <span class="p">]</span> + <span class="k">return</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="s2">"perms"</span><span class="p">)</span> <span class="ow">or</span> <span class="p">[]</span> <span class="k">def</span> <span class="nf">_get_root_dag_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dag_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span> <span class="w"> </span><span class="sd">"""</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/security_manager/override.html b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/security_manager/override.html index 4bc650951b..5f6e02674d 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/security_manager/override.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_modules/airflow/providers/fab/auth_manager/security_manager/override.html @@ -956,6 +956,43 @@ <span class="c1"># Setup Flask-Jwt-Extended</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_jwt_manager</span><span class="p">()</span> + <span class="k">def</span> <span class="nf">_get_authentik_jwks</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">jwks_url</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span> + <span class="kn">import</span> <span class="nn">requests</span> + + <span class="n">resp</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">jwks_url</span><span class="p">)</span> + <span class="k">if</span> <span class="n">resp</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span> + <span class="k">return</span> <span class="n">resp</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> + <span class="k">return</span> <span class="p">{}</span> + + <span class="k">def</span> <span class="nf">_validate_jwt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">id_token</span><span class="p">,</span> <span class="n">jwks</span><span class="p">):</span> + <span class="kn">from</span> <span class="nn">authlib.jose</span> <span class="kn">import</span> <span class="n">JsonWebKey</span><span class="p">,</span> <span class="n">jwt</span> <span class="k">as</span> <span class="n">authlib_jwt</span> + + <span class="n">keyset</span> <span class="o">=</span> <span class="n">JsonWebKey</span><span class="o">.</span><span class="n">import_key_set</span><span class="p">(</span><span class="n">jwks</span><span class="p">)</span> + <span class="n">claims</span> <span class="o">=</span> <span class="n">authlib_jwt</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">id_token</span><span class="p">,</span> <span class="n">keyset</span><span class="p">)</span> + <span class="n">claims</span><span class="o">.</span><span class="n">validate</span><span class="p">()</span> + <span class="n">log</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">"JWT token is validated"</span><span class="p">)</span> + <span class="k">return</span> <span class="n">claims</span> + + <span class="k">def</span> <span class="nf">_get_authentik_token_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">id_token</span><span class="p">):</span> + <span class="n">me</span> <span class="o">=</span> <span class="n">jwt</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">id_token</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="p">{</span><span class="s2">"verify_signature"</span><span class="p">:</span> <span class="kc">False</span><span class="p">})</span> + + <span class="n">verify_signature</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">oauth_remotes</span><span class="p">[</span><span class="s2">"authentik"</span><span class="p">]</span><span class="o">.</span><span class="n">client_kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"verify_signature"</span><span class="p">,</span> <span class="kc">True</span [...] + <span class="k">if</span> <span class="n">verify_signature</span><span class="p">:</span> + <span class="c1"># Validate the token using authentik certificate</span> + <span class="n">jwks_uri</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">oauth_remotes</span><span class="p">[</span><span class="s2">"authentik"</span><span class="p">]</span><span class="o">.</span><span class="n">server_metadata</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"jwks_uri"</span><span class="p">)</span> + <span class="k">if</span> <span class="n">jwks_uri</span><span class="p">:</span> + <span class="n">jwks</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_authentik_jwks</span><span class="p">(</span><span class="n">jwks_uri</span><span class="p">)</span> + <span class="k">if</span> <span class="n">jwks</span><span class="p">:</span> + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_validate_jwt</span><span class="p">(</span><span class="n">id_token</span><span class="p">,</span> <span class="n">jwks</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">log</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">"jwks_uri not specified in OAuth Providers, could not verify token signature"</span><span class="p">)</span> + <span class="k">else</span><span class="p">:</span> + <span class="c1"># Return the token info without validating</span> + <span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="s2">"JWT token is not validated!"</span><span class="p">)</span> + <span class="k">return</span> <span class="n">me</span> + + <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">"OAuth signature verify failed"</span><span class="p">)</span> + <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.register_views"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.register_views">[docs]</a> <span class="k">def</span> <span class="nf">register_views</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> <span class="w"> </span><span class="sd">"""Register FAB auth manager related views."""</span> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">appbuilder</span><span class="o">.</span><span class="n">get_app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"FAB_ADD_SECURITY_VIEWS"</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> @@ -1129,9 +1166,10 @@ <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.load_user_jwt"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.load_user_jwt">[docs]</a> <span class="k">def</span> <span class="nf">load_user_jwt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_jwt [...] <span class="n">identity</span> <span class="o">=</span> <span class="n">jwt_data</span><span class="p">[</span><span class="s2">"sub"</span><span class="p">]</span> <span class="n">user</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">load_user</span><span class="p">(</span><span class="n">identity</span><span class="p">)</span> - <span class="c1"># Set flask g.user to JWT user, we can't do it on before request</span> - <span class="n">g</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span> - <span class="k">return</span> <span class="n">user</span></div> + <span class="k">if</span> <span class="n">user</span><span class="o">.</span><span class="n">is_active</span><span class="p">:</span> + <span class="c1"># Set flask g.user to JWT user, we can't do it on before request</span> + <span class="n">g</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span> + <span class="k">return</span> <span class="n">user</span></div> <span class="nd">@property</span> <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.auth_type"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_type">[docs]</a> <span class="k">def</span> <span class="nf">auth_type</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> @@ -1263,6 +1301,10 @@ <span class="w"> </span><span class="sd">"""The JMESPATH role to use for user registration."""</span> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">appbuilder</span><span class="o">.</span><span class="n">get_app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s2">"AUTH_USER_REGISTRATION_ROLE_JMESPATH"</span><span class="p">]</span></div> + <span class="nd">@property</span> +<div class="viewcode-block" id="FabAirflowSecurityManagerOverride.auth_remote_user_env_var"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_remote_user_env_var">[docs]</a> <span class="k">def</span> <span class="nf">auth_remote_user_env_var</span><span class="p">(</span><span class="bp">self</span><span class= [...] + <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">appbuilder</span><span class="o">.</span><span class="n">get_app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s2">"AUTH_REMOTE_USER_ENV_VAR"</span><span class="p">]</span></div> + <span class="nd">@property</span> <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.api_login_allow_multiple_providers">[docs]</a> <span class="k">def</span> <span class="nf">api_login_allow_multiple_providers</span><span class="p">(</span><span clas [...] <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">appbuilder</span><span class="o">.</span><span class="n">get_app</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s2">"AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS"</span><span class="p">]</span></div> @@ -1343,8 +1385,8 @@ <span class="c1"># If the user does not exist, make a random password and make it</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">user_exists</span><span class="p">:</span> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"FlaskAppBuilder Authentication Manager: Creating </span><span class="si">{</span><span class="n">user_name</span><span class="si">}</span><span class="s2"> user"</span><span class="p">)</span> - <span class="n">role</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">find_role</span><span class="p">(</span><span class="s2">"Admin"</span><span class="p">)</span> - <span class="k">assert</span> <span class="n">role</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> + <span class="k">if</span> <span class="p">(</span><span class="n">role</span> <span class="o">:=</span> <span class="bp">self</span><span class="o">.</span><span class="n">find_role</span><span class="p">(</span><span class="s2">"Admin"</span><span class="p">))</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> + <span class="k">raise</span> <span class="n">AirflowException</span><span class="p">(</span><span class="s2">"Unable to find role 'Admin'"</span><span class="p">)</span> <span class="c1"># password does not contain visually similar characters: ijlIJL1oO0</span> <span class="n">password</span> <span class="o">=</span> <span class="s2">""</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">random</span><span class="o">.</span><span class="n">choices</span><span class="p">(</span><span class="s2">"abcdefghkmnpqrstuvwxyzABCDEFGHKMNPQRSTUVWXYZ23456789"</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">16</span><span class="p">))</span> <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">password_path</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span> @@ -1406,6 +1448,9 @@ <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s2">"AUTH_LDAP_LASTNAME_FIELD"</span><span class="p">,</span> <span class="s2">"sn"</span><span class="p">)</span> <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s2">"AUTH_LDAP_EMAIL_FIELD"</span><span class="p">,</span> <span class="s2">"mail"</span><span class="p">)</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_type</span> <span class="o">==</span> <span class="n">AUTH_REMOTE_USER</span><span class="p">:</span> + <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s2">"AUTH_REMOTE_USER_ENV_VAR"</span><span class="p">,</span> <span class="s2">"REMOTE_USER"</span><span class="p">)</span> + <span class="c1"># Rate limiting</span> <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s2">"AUTH_RATE_LIMITED"</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span> <span class="n">app</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s2">"AUTH_RATE_LIMIT"</span><span class="p">,</span> <span class="s2">"5 per 40 second"</span><span class="p">)</span> @@ -1420,7 +1465,12 @@ <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_type</span> <span class="o">==</span> <span class="n">AUTH_OID</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">flask_openid</span> <span class="kn">import</span> <span class="n">OpenID</span> + <span class="n">log</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span> + <span class="s2">"AUTH_OID is deprecated and will be removed in version 5. "</span> + <span class="s2">"Migrate to other authentication methods."</span> + <span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">oid</span> <span class="o">=</span> <span class="n">OpenID</span><span class="p">(</span><span class="n">app</span><span class="p">)</span> + <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_type</span> <span class="o">==</span> <span class="n">AUTH_OAUTH</span><span class="p">:</span> <span class="kn">from</span> <span class="nn">authlib.integrations.flask_client</span> <span class="kn">import</span> <span class="n">OAuth</span> @@ -2087,8 +2137,9 @@ <span class="k">return</span> <span class="kc">False</span></div> <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.load_user"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.load_user">[docs]</a> <span class="k">def</span> <span class="nf">load_user</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user_id</span><s [...] -<span class="w"> </span><span class="sd">"""Load user by ID."""</span> - <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_user_by_id</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">user_id</span><span class="p">))</span></div> + <span class="n">user</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_user_by_id</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">user_id</span><span class="p">))</span> + <span class="k">if</span> <span class="n">user</span><span class="o">.</span><span class="n">is_active</span><span class="p">:</span> + <span class="k">return</span> <span class="n">user</span></div> <div class="viewcode-block" id="FabAirflowSecurityManagerOverride.get_user_by_id"><a class="viewcode-back" href="../../../../../../_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.get_user_by_id">[docs]</a> <span class="k">def</span> <span class="nf">get_user_by_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">p [...] <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_session</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">user_model</span><span class="p">,</span> <span class="n">pk</span><span class="p">)</span></div> @@ -2824,6 +2875,19 @@ <span class="s2">"last_name"</span><span class="p">:</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"family_name"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span> <span class="s2">"email"</span><span class="p">:</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"email"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span> <span class="p">}</span> + + <span class="c1"># for Authentik</span> + <span class="k">if</span> <span class="n">provider</span> <span class="o">==</span> <span class="s2">"authentik"</span><span class="p">:</span> + <span class="n">id_token</span> <span class="o">=</span> <span class="n">resp</span><span class="p">[</span><span class="s2">"id_token"</span><span class="p">]</span> + <span class="n">me</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_authentik_token_info</span><span class="p">(</span><span class="n">id_token</span><span class="p">)</span> + <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">"User info from authentik: </span><span class="si">%s</span><span class="s2">"</span><span class="p">,</span> <span class="n">me</span><span class="p">)</span> + <span class="k">return</span> <span class="p">{</span> + <span class="s2">"email"</span><span class="p">:</span> <span class="n">me</span><span class="p">[</span><span class="s2">"preferred_username"</span><span class="p">],</span> + <span class="s2">"first_name"</span><span class="p">:</span> <span class="n">me</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"given_name"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span> + <span class="s2">"username"</span><span class="p">:</span> <span class="n">me</span><span class="p">[</span><span class="s2">"nickname"</span><span class="p">],</span> + <span class="s2">"role_keys"</span><span class="p">:</span> <span class="n">me</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"groups"</span><span class="p">,</span> <span class="p">[]),</span> + <span class="p">}</span> + <span class="k">else</span><span class="p">:</span> <span class="k">return</span> <span class="p">{}</span></div> @@ -3061,8 +3125,9 @@ <span class="sd"> :param ldap: The ldap module reference</span> <span class="sd"> :param con: The ldap connection</span> <span class="sd"> """</span> - <span class="c1"># always check AUTH_LDAP_BIND_USER is set before calling this method</span> - <span class="k">assert</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_bind_user</span><span class="p">,</span> <span class="s2">"AUTH_LDAP_BIND_USER must be set"</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_bind_user</span><span class="p">:</span> + <span class="c1"># always check AUTH_LDAP_BIND_USER is set before calling this method</span> + <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"AUTH_LDAP_BIND_USER must be set"</span><span class="p">)</span> <span class="k">try</span><span class="p">:</span> <span class="n">log</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">"LDAP bind indirect TRY with username: </span><span class="si">%r</span><span class="s2">"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_bind_user</span><span class="p">)</span> @@ -3081,8 +3146,9 @@ <span class="sd"> :param username: username to match with AUTH_LDAP_UID_FIELD</span> <span class="sd"> :return: ldap object array</span> <span class="sd"> """</span> - <span class="c1"># always check AUTH_LDAP_SEARCH is set before calling this method</span> - <span class="k">assert</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_search</span><span class="p">,</span> <span class="s2">"AUTH_LDAP_SEARCH must be set"</span> + <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_search</span><span class="p">:</span> + <span class="c1"># always check AUTH_LDAP_SEARCH is set before calling this method</span> + <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"AUTH_LDAP_SEARCH must be set"</span><span class="p">)</span> <span class="c1"># build the filter string for the LDAP search</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">auth_ldap_search_filter</span><span class="p">:</span> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.rst.txt index 78abd72517..d12bcc5918 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/fab_auth_manager/index.rst.txt @@ -139,19 +139,16 @@ Functions :param user: the user to perform the action on. If not provided (or None), it uses the current user - .. py:method:: is_authorized_custom_view(*, fab_action_name, fab_resource_name, user = None) + .. py:method:: is_authorized_custom_view(*, method, resource_name, user = None) Return whether the user is authorized to perform a given action on a custom view. - A custom view is a view defined as part of the auth manager. This view is then only available when - the auth manager is used as part of the environment. + A custom view can be a view defined as part of the auth manager. This view is then only available when + the auth manager is used as part of the environment. It can also be a view defined as part of a + plugin defined by a user. - By default, it throws an exception because auth managers do not define custom views by default. - If an auth manager defines some custom views, it needs to override this method. - - :param fab_action_name: the name of the FAB action defined in the view in ``base_permissions`` - :param fab_resource_name: the name of the FAB resource defined in the view in - ``class_permission_name`` + :param method: the method to perform + :param resource_name: the name of the resource :param user: the user to perform the action on. If not provided (or None), it uses the current user @@ -163,6 +160,10 @@ Functions Can lead to some poor performance. It is recommended to override this method in the auth manager implementation to provide a more efficient implementation. + :param methods: whether filter readable or writable + :param user: the current user + :param session: the session + .. py:method:: security_manager() diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/security_manager/override/index.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/security_manager/override/index.rst.txt index 003e994acc..b5cc841cf0 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/security_manager/override/index.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/auth_manager/security_manager/override/index.rst.txt @@ -186,6 +186,10 @@ Attributes The JMESPATH role to use for user registration. + .. py:property:: auth_remote_user_env_var + :type: str + + .. py:property:: api_login_allow_multiple_providers @@ -694,8 +698,6 @@ Attributes .. py:method:: load_user(user_id) - Load user by ID. - .. py:method:: get_user_by_id(pk) diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/index.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/index.rst.txt index 6b23686793..b43fddbcd9 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/index.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/_api/airflow/providers/fab/index.rst.txt @@ -17,7 +17,7 @@ Package Contents ---------------- .. py:data:: __version__ - :value: '1.0.0' + :value: '1.0.2' diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/changelog.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/changelog.rst.txt index a47881fab1..c6bdcaa11e 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/changelog.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/changelog.rst.txt @@ -1,3 +1,4 @@ + .. Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information @@ -15,4 +16,10 @@ specific language governing permissions and limitations under the License. + .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE + OVERWRITTEN WHEN PREPARING PACKAGES. + + .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE + `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY + .. include:: ../../airflow/providers/fab/CHANGELOG.rst diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/commits.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/commits.rst.txt index e7afb638df..0cf63ee78c 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/commits.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/commits.rst.txt @@ -1,3 +1,4 @@ + .. Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information @@ -15,5 +16,93 @@ specific language governing permissions and limitations under the License. + .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE + OVERWRITTEN WHEN PREPARING PACKAGES. + + .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE + `PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY + + .. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME! + Package apache-airflow-providers-fab ------------------------------------- +------------------------------------------------------ + +`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__ + + +This is detailed commit list of changes for versions provider package: ``fab``. +For high-level changelog, see :doc:`package information including changelog <index>`. + + + +1.0.2 +..... + +Latest change: 2024-03-20 + +================================================================================================= =========== =================================================================================== +Commit Committed Subject +================================================================================================= =========== =================================================================================== +`7776e9154d <https://github.com/apache/airflow/commit/7776e9154d6f3577100b534b08f4131321360a0f>`_ 2024-03-20 ``Upgrade FAB to 4.4.1 (#38319)`` +`0a74928894 <https://github.com/apache/airflow/commit/0a74928894fb57b0160208262ccacad12da23fc7>`_ 2024-03-18 ``Bump ruff to 0.3.3 (#38240)`` +`2e35854a05 <https://github.com/apache/airflow/commit/2e35854a052a13206cb1475973e039fbe394254c>`_ 2024-03-15 ``Make the method 'BaseAuthManager.is_authorized_custom_view' abstract (#37915)`` +`c0b849ad2b <https://github.com/apache/airflow/commit/c0b849ad2b3f7015f7cb2a45aefd1fa3828bda31>`_ 2024-03-11 ``Avoid use of 'assert' outside of the tests (#37718)`` +`c6f34394c4 <https://github.com/apache/airflow/commit/c6f34394c493a62a575030a3d1dfa561d1124816>`_ 2024-03-11 ``Improve suffix handling for provider-generated dependencies (#38029)`` +`3f52790d42 <https://github.com/apache/airflow/commit/3f52790d425cd51386715c240d9a38a20756de2a>`_ 2024-03-06 ``Resolve G004: Logging statement uses f-string (#37873)`` +`fd4dfd875d <https://github.com/apache/airflow/commit/fd4dfd875d03c59dd8163f44c7c1164a3a55eb03>`_ 2024-03-06 ``Remove useless methods from security manager (#37889)`` +`3211a5fcea <https://github.com/apache/airflow/commit/3211a5fcea6bda4f3e783ad55ad63dcf0b1e0cc3>`_ 2024-03-06 ``Use 'next' when redirecting (#37904)`` +`89e7f3e7bd <https://github.com/apache/airflow/commit/89e7f3e7bdf2126bbbcd959dc10d65ef92773cca>`_ 2024-03-05 ``Add "MENU" permission in auth manager (#37881)`` +`30f7b2abe6 <https://github.com/apache/airflow/commit/30f7b2abe6991fe6e565f17f7d0701e80ecba0d3>`_ 2024-03-04 ``Avoid to use too broad 'noqa' (#37862)`` +`9b17ff3aa3 <https://github.com/apache/airflow/commit/9b17ff3aa309ba07ef94238ad3465f074df1840a>`_ 2024-02-26 ``Add post endpoint for dataset events (#37570)`` +`16d2671704 <https://github.com/apache/airflow/commit/16d2671704c61d10ca66c73530a2d551f36fe2a3>`_ 2024-02-20 ``Add "queuedEvent" endpoint to get/delete DatasetDagRunQueue (#37176)`` +`79603f9302 <https://github.com/apache/airflow/commit/79603f9302b5344bc480a42ec31dee4be35fb1b8>`_ 2024-02-19 ``Add swagger path to FAB Auth manager and Internal API (#37525)`` +`f2ea8a3e17 <https://github.com/apache/airflow/commit/f2ea8a3e1753012bfe0d529c9c8be66cf55ca28f>`_ 2024-02-19 ``Revoking audit_log permission from all users except admin (#37501)`` +`68e20aa702 <https://github.com/apache/airflow/commit/68e20aa702417c60ea0e61daa689882f15c5e005>`_ 2024-02-17 ``Enable the 'Is Active?' flag by default in user view (#37507)`` +`5a0be392e6 <https://github.com/apache/airflow/commit/5a0be392e66f8e5426ba3478621115e92fcf245b>`_ 2024-02-16 ``Add comment about versions updated by release manager (#37488)`` +`4551c592b2 <https://github.com/apache/airflow/commit/4551c592b2a4e915c68643e2b2a5eae8e26cee62>`_ 2024-02-14 ``Until we release 2.9.0, we keep airflow >= 2.9.0.dev0 for FAB provider (#37421)`` +================================================================================================= =========== =================================================================================== + +1.0.1 +..... + +Latest change: 2024-02-14 + +================================================================================================= =========== ========================================================================================= +Commit Committed Subject +================================================================================================= =========== ========================================================================================= +`54a400fcb6 <https://github.com/apache/airflow/commit/54a400fcb6f477ffc34bdbb34078edd8b5f6f16a>`_ 2024-02-14 ``Mark FAB provider as ready (#37362)`` +`ec97a07197 <https://github.com/apache/airflow/commit/ec97a0719773ac15dd66a79dd9888994fb01b101>`_ 2024-02-13 ``standardize get_app appbuilder usage (#37397)`` +`28f94f8891 <https://github.com/apache/airflow/commit/28f94f8891ccf0827bb6e9a1538f2ffd98a4ea08>`_ 2024-02-10 ``Move 'IMPORT_ERROR' from DAG related permissions to view related permissions (#37292)`` +`00ed46769e <https://github.com/apache/airflow/commit/00ed46769eaea24251fc4726a46df1f54f27c4bd>`_ 2024-02-09 ``D401 support in fab provider (#37283)`` +`e99cfbbd51 <https://github.com/apache/airflow/commit/e99cfbbd51515fa947c16912acebbaa7ed816e8a>`_ 2024-02-07 ``Upgrade to FAB 4.3.11 (#37233)`` +`daa2bceba1 <https://github.com/apache/airflow/commit/daa2bceba181193d675dae575a55bc3f39aba192>`_ 2024-02-07 ``Use 'next_url' instead of 'next' (#37225)`` +`dec2662190 <https://github.com/apache/airflow/commit/dec2662190dd4480d0c631da733e19d2ec9a479d>`_ 2024-01-30 ``feat: Switch all class, functions, methods deprecations to decorators (#36876)`` +`0fce3b6047 <https://github.com/apache/airflow/commit/0fce3b6047dcae037cfd8a5bd0638894c36509ab>`_ 2024-01-28 ``Add "airflow users reset-password" command (#37044)`` +`ce246c0ed8 <https://github.com/apache/airflow/commit/ce246c0ed8b5c0c652034734443dc6e863aac66e>`_ 2024-01-26 ``fix for role and permission count in export (#36589)`` +`18d2498e44 <https://github.com/apache/airflow/commit/18d2498e44b58f8cfbc24e2b3beaa3b7cc7c187f>`_ 2024-01-11 ``Generate doc for fab CLI commands (#36672)`` +`c439ab87c4 <https://github.com/apache/airflow/commit/c439ab87c421aaa6bd5d8074780e4f63606a1ef1>`_ 2024-01-10 ``Standardize airflow build process and switch to Hatchling build backend (#36537)`` +`28cad70223 <https://github.com/apache/airflow/commit/28cad7022310e32b82f3ed3410994e4ddb297691>`_ 2024-01-03 ``Move config related to FAB auth manager to FAB provider (#36232)`` +`2093b6f3b9 <https://github.com/apache/airflow/commit/2093b6f3b94be9fae5d61042a9c280d9a835687b>`_ 2024-01-03 ``Fix security manager inheritance in fab provider (#36538)`` +`dec78ab3f1 <https://github.com/apache/airflow/commit/dec78ab3f140f35e507de825327652ec24d03522>`_ 2024-01-03 ``Remove MSSQL support form Airflow core (#36514)`` +`e28627f6a5 <https://github.com/apache/airflow/commit/e28627f6a52db0a300d81cca69fa1450b4d5c312>`_ 2024-01-02 ``Cli export / import roles including permissions (#36347)`` +`6937ae7647 <https://github.com/apache/airflow/commit/6937ae76476b3bc869ef912d000bcc94ad642db1>`_ 2023-12-30 ``Speed up autocompletion of Breeze by simplifying provider state (#36499)`` +`83bdc297ce <https://github.com/apache/airflow/commit/83bdc297cebafada88084e270aa3258d781a96be>`_ 2023-12-30 ``added cli command to list auth managers under 'airflow providers' (#36445)`` +`341d5b747d <https://github.com/apache/airflow/commit/341d5b747db78b9be00d5d5dc491e37d413570da>`_ 2023-12-23 ``Add feture of "not-ready" provider. (#36391)`` +================================================================================================= =========== ========================================================================================= + +1.0.0 +..... + +Latest change: 2023-12-23 + +================================================================================================= =========== ================================================================================== +Commit Committed Subject +================================================================================================= =========== ================================================================================== +`b15d5578da <https://github.com/apache/airflow/commit/b15d5578dac73c4c6a3ca94d90ab0dc9e9e74c9c>`_ 2023-12-23 ``Re-apply updated version numbers to 2nd wave of providers in December (#36380)`` +`2be7149598 <https://github.com/apache/airflow/commit/2be71495981a157ca0303c7e563916e219b15eb3>`_ 2023-12-21 ``fix inheritance checking of security manager in FabAuthManager (#36343)`` +`e9ba37bb58 <https://github.com/apache/airflow/commit/e9ba37bb58da0e3d6739ec063f7160f50487d3b8>`_ 2023-12-17 ``Add code snippet formatting in docstrings via Ruff (#36262)`` +`f7f7183617 <https://github.com/apache/airflow/commit/f7f71836175b81484fe6afb147a58e1ca6d00f4d>`_ 2023-12-17 ``Update permission docs (#36120)`` +`4d96a9a3a1 <https://github.com/apache/airflow/commit/4d96a9a3a1bcf099856051e51bc328afbf558da6>`_ 2023-12-13 ``Remove dependency of 'Connexion' from auth manager interface (#36209)`` +`357355ac09 <https://github.com/apache/airflow/commit/357355ac09b4741d621a5408d859b697a07b3ceb>`_ 2023-12-11 ``Remove 'is_authorized_cluster_activity' from auth manager (#36175)`` +`1eca667e5f <https://github.com/apache/airflow/commit/1eca667e5f0dd3a8e16020152f597b781e1f34d6>`_ 2023-12-11 ``Create FAB provider and move FAB auth manager in it (#35926)`` +================================================================================================= =========== ================================================================================== diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/index.rst.txt b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/index.rst.txt index 054fe088bf..d47a70e1f5 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/index.rst.txt +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/_sources/index.rst.txt @@ -70,26 +70,26 @@ Detailed list of commits <commits> -Package apache-airflow-providers-fab +apache-airflow-providers-fab package ------------------------------------------------------ `Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__ -Release: 1.0.0 +Release: 1.0.2 Provider package ---------------- -This is a provider package for ``fab`` provider. All classes for this provider package -are in ``airflow.providers.fab`` python package. +This package is for the ``fab`` provider. +All classes for this package are included in the ``airflow.providers.fab`` python package. Installation ------------ -You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below) -for the minimum Airflow version supported) via -``pip install apache-airflow-providers-fab`` +You can install this package on top of an existing Airflow 2 installation via +``pip install apache-airflow-providers-fab``. +For the minimum Airflow version supported, see ``Requirements`` below. Requirements ------------ @@ -101,7 +101,7 @@ PIP package Version required ==================== ================== ``apache-airflow`` ``>=2.9.0`` ``flask`` ``>=2.2,<2.3`` -``flask-appbuilder`` ``==4.3.10`` +``flask-appbuilder`` ``==4.4.1`` ``flask-login`` ``>=0.6.2`` ``google-re2`` ``>=1.0`` ==================== ================== diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/changelog.html b/docs-archive/apache-airflow-providers-fab/1.0.2/changelog.html index 824f42ad64..af7c41b5e3 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/changelog.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/changelog.html @@ -619,8 +619,12 @@ <div class="section" id="changelog"> <h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading">¶</a></h1> <div class="section" id="id1"> -<h2>1.0.0<a class="headerlink" href="#id1" title="Permalink to this heading">¶</a></h2> -<p>Initial version of the provider.</p> +<h2>1.0.2<a class="headerlink" href="#id1" title="Permalink to this heading">¶</a></h2> +<p>First stable release for the provider</p> +</div> +<div class="section" id="yanked"> +<h2>1.0.0 (YANKED)<a class="headerlink" href="#yanked" title="Permalink to this heading">¶</a></h2> +<p>Initial version of the provider (beta).</p> </div> </div> @@ -700,7 +704,8 @@ <div class="wy-menu-vertical"> <ul> <li><a class="reference internal" href="#">Changelog</a><ul> -<li><a class="reference internal" href="#id1">1.0.0</a></li> +<li><a class="reference internal" href="#id1">1.0.2</a></li> +<li><a class="reference internal" href="#yanked">1.0.0 (YANKED)</a></li> </ul> </li> </ul> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/commits.html b/docs-archive/apache-airflow-providers-fab/1.0.2/commits.html index 0fdfcaeafe..b47e8a2ddb 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/commits.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/commits.html @@ -614,6 +614,234 @@ <div></div></blockquote> <div class="section" id="package-apache-airflow-providers-fab"> <h1>Package apache-airflow-providers-fab<a class="headerlink" href="#package-apache-airflow-providers-fab" title="Permalink to this heading">¶</a></h1> +<p><a class="reference external" href="https://flask-appbuilder.readthedocs.io/">Flask App Builder</a></p> +<p>This is detailed commit list of changes for versions provider package: <code class="docutils literal notranslate"><span class="pre">fab</span></code>. +For high-level changelog, see <a class="reference internal" href="index.html"><span class="doc">package information including changelog</span></a>.</p> +<div class="section" id="id1"> +<h2>1.0.2<a class="headerlink" href="#id1" title="Permalink to this heading">¶</a></h2> +<p>Latest change: 2024-03-20</p> +<table class="docutils align-default"> +<colgroup> +<col style="width: 51%" /> +<col style="width: 6%" /> +<col style="width: 43%" /> +</colgroup> +<thead> +<tr class="row-odd"><th class="head"><p>Commit</p></th> +<th class="head"><p>Committed</p></th> +<th class="head"><p>Subject</p></th> +</tr> +</thead> +<tbody> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/7776e9154d6f3577100b534b08f4131321360a0f">7776e9154d</a></p></td> +<td><p>2024-03-20</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Upgrade</span> <span class="pre">FAB</span> <span class="pre">to</span> <span class="pre">4.4.1</span> <span class="pre">(#38319)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/0a74928894fb57b0160208262ccacad12da23fc7">0a74928894</a></p></td> +<td><p>2024-03-18</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Bump</span> <span class="pre">ruff</span> <span class="pre">to</span> <span class="pre">0.3.3</span> <span class="pre">(#38240)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/2e35854a052a13206cb1475973e039fbe394254c">2e35854a05</a></p></td> +<td><p>2024-03-15</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Make</span> <span class="pre">the</span> <span class="pre">method</span> <span class="pre">'BaseAuthManager.is_authorized_custom_view'</span> <span class="pre">abstract</span> <span class="pre">(#37915)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/c0b849ad2b3f7015f7cb2a45aefd1fa3828bda31">c0b849ad2b</a></p></td> +<td><p>2024-03-11</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Avoid</span> <span class="pre">use</span> <span class="pre">of</span> <span class="pre">'assert'</span> <span class="pre">outside</span> <span class="pre">of</span> <span class="pre">the</span> <span class="pre">tests</span> <span class="pre">(#37718)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/c6f34394c493a62a575030a3d1dfa561d1124816">c6f34394c4</a></p></td> +<td><p>2024-03-11</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Improve</span> <span class="pre">suffix</span> <span class="pre">handling</span> <span class="pre">for</span> <span class="pre">provider-generated</span> <span class="pre">dependencies</span> <span class="pre">(#38029)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/3f52790d425cd51386715c240d9a38a20756de2a">3f52790d42</a></p></td> +<td><p>2024-03-06</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Resolve</span> <span class="pre">G004:</span> <span class="pre">Logging</span> <span class="pre">statement</span> <span class="pre">uses</span> <span class="pre">f-string</span> <span class="pre">(#37873)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/fd4dfd875d03c59dd8163f44c7c1164a3a55eb03">fd4dfd875d</a></p></td> +<td><p>2024-03-06</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Remove</span> <span class="pre">useless</span> <span class="pre">methods</span> <span class="pre">from</span> <span class="pre">security</span> <span class="pre">manager</span> <span class="pre">(#37889)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/3211a5fcea6bda4f3e783ad55ad63dcf0b1e0cc3">3211a5fcea</a></p></td> +<td><p>2024-03-06</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Use</span> <span class="pre">'next'</span> <span class="pre">when</span> <span class="pre">redirecting</span> <span class="pre">(#37904)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/89e7f3e7bdf2126bbbcd959dc10d65ef92773cca">89e7f3e7bd</a></p></td> +<td><p>2024-03-05</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">"MENU"</span> <span class="pre">permission</span> <span class="pre">in</span> <span class="pre">auth</span> <span class="pre">manager</span> <span class="pre">(#37881)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/30f7b2abe6991fe6e565f17f7d0701e80ecba0d3">30f7b2abe6</a></p></td> +<td><p>2024-03-04</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Avoid</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">too</span> <span class="pre">broad</span> <span class="pre">'noqa'</span> <span class="pre">(#37862)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/9b17ff3aa309ba07ef94238ad3465f074df1840a">9b17ff3aa3</a></p></td> +<td><p>2024-02-26</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">post</span> <span class="pre">endpoint</span> <span class="pre">for</span> <span class="pre">dataset</span> <span class="pre">events</span> <span class="pre">(#37570)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/16d2671704c61d10ca66c73530a2d551f36fe2a3">16d2671704</a></p></td> +<td><p>2024-02-20</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">"queuedEvent"</span> <span class="pre">endpoint</span> <span class="pre">to</span> <span class="pre">get/delete</span> <span class="pre">DatasetDagRunQueue</span> <span class="pre">(#37176)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/79603f9302b5344bc480a42ec31dee4be35fb1b8">79603f9302</a></p></td> +<td><p>2024-02-19</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">swagger</span> <span class="pre">path</span> <span class="pre">to</span> <span class="pre">FAB</span> <span class="pre">Auth</span> <span class="pre">manager</span> <span class="pre">and</span> <span class="pre">Internal</span> <span class="pre">API</span> <span class="pre">(#37525)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/f2ea8a3e1753012bfe0d529c9c8be66cf55ca28f">f2ea8a3e17</a></p></td> +<td><p>2024-02-19</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Revoking</span> <span class="pre">audit_log</span> <span class="pre">permission</span> <span class="pre">from</span> <span class="pre">all</span> <span class="pre">users</span> <span class="pre">except</span> <span class="pre">admin</span> <span class="pre">(#37501)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/68e20aa702417c60ea0e61daa689882f15c5e005">68e20aa702</a></p></td> +<td><p>2024-02-17</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Enable</span> <span class="pre">the</span> <span class="pre">'Is</span> <span class="pre">Active?'</span> <span class="pre">flag</span> <span class="pre">by</span> <span class="pre">default</span> <span class="pre">in</span> <span class="pre">user</span> <span class="pre">view</span> <span class="pre">(#37507)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/5a0be392e66f8e5426ba3478621115e92fcf245b">5a0be392e6</a></p></td> +<td><p>2024-02-16</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">comment</span> <span class="pre">about</span> <span class="pre">versions</span> <span class="pre">updated</span> <span class="pre">by</span> <span class="pre">release</span> <span class="pre">manager</span> <span class="pre">(#37488)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/4551c592b2a4e915c68643e2b2a5eae8e26cee62">4551c592b2</a></p></td> +<td><p>2024-02-14</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Until</span> <span class="pre">we</span> <span class="pre">release</span> <span class="pre">2.9.0,</span> <span class="pre">we</span> <span class="pre">keep</span> <span class="pre">airflow</span> <span class="pre">>=</span> <span class="pre">2.9.0.dev0</span> <span class="pre">for</span> <span class="pre">FAB</span> <span class="pre">provider</span> <span class="pre">(#37421)</span></code></p></td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="id2"> +<h2>1.0.1<a class="headerlink" href="#id2" title="Permalink to this heading">¶</a></h2> +<p>Latest change: 2024-02-14</p> +<table class="docutils align-default"> +<colgroup> +<col style="width: 49%" /> +<col style="width: 6%" /> +<col style="width: 45%" /> +</colgroup> +<thead> +<tr class="row-odd"><th class="head"><p>Commit</p></th> +<th class="head"><p>Committed</p></th> +<th class="head"><p>Subject</p></th> +</tr> +</thead> +<tbody> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/54a400fcb6f477ffc34bdbb34078edd8b5f6f16a">54a400fcb6</a></p></td> +<td><p>2024-02-14</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Mark</span> <span class="pre">FAB</span> <span class="pre">provider</span> <span class="pre">as</span> <span class="pre">ready</span> <span class="pre">(#37362)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/ec97a0719773ac15dd66a79dd9888994fb01b101">ec97a07197</a></p></td> +<td><p>2024-02-13</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">standardize</span> <span class="pre">get_app</span> <span class="pre">appbuilder</span> <span class="pre">usage</span> <span class="pre">(#37397)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/28f94f8891ccf0827bb6e9a1538f2ffd98a4ea08">28f94f8891</a></p></td> +<td><p>2024-02-10</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Move</span> <span class="pre">'IMPORT_ERROR'</span> <span class="pre">from</span> <span class="pre">DAG</span> <span class="pre">related</span> <span class="pre">permissions</span> <span class="pre">to</span> <span class="pre">view</span> <span class="pre">related</span> <span class="pre">permissions</span> <span class="pre">(#37292)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/00ed46769eaea24251fc4726a46df1f54f27c4bd">00ed46769e</a></p></td> +<td><p>2024-02-09</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">D401</span> <span class="pre">support</span> <span class="pre">in</span> <span class="pre">fab</span> <span class="pre">provider</span> <span class="pre">(#37283)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/e99cfbbd51515fa947c16912acebbaa7ed816e8a">e99cfbbd51</a></p></td> +<td><p>2024-02-07</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Upgrade</span> <span class="pre">to</span> <span class="pre">FAB</span> <span class="pre">4.3.11</span> <span class="pre">(#37233)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/daa2bceba181193d675dae575a55bc3f39aba192">daa2bceba1</a></p></td> +<td><p>2024-02-07</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Use</span> <span class="pre">'next_url'</span> <span class="pre">instead</span> <span class="pre">of</span> <span class="pre">'next'</span> <span class="pre">(#37225)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/dec2662190dd4480d0c631da733e19d2ec9a479d">dec2662190</a></p></td> +<td><p>2024-01-30</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">feat:</span> <span class="pre">Switch</span> <span class="pre">all</span> <span class="pre">class,</span> <span class="pre">functions,</span> <span class="pre">methods</span> <span class="pre">deprecations</span> <span class="pre">to</span> <span class="pre">decorators</span> <span class="pre">(#36876)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/0fce3b6047dcae037cfd8a5bd0638894c36509ab">0fce3b6047</a></p></td> +<td><p>2024-01-28</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">"airflow</span> <span class="pre">users</span> <span class="pre">reset-password"</span> <span class="pre">command</span> <span class="pre">(#37044)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/ce246c0ed8b5c0c652034734443dc6e863aac66e">ce246c0ed8</a></p></td> +<td><p>2024-01-26</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">fix</span> <span class="pre">for</span> <span class="pre">role</span> <span class="pre">and</span> <span class="pre">permission</span> <span class="pre">count</span> <span class="pre">in</span> <span class="pre">export</span> <span class="pre">(#36589)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/18d2498e44b58f8cfbc24e2b3beaa3b7cc7c187f">18d2498e44</a></p></td> +<td><p>2024-01-11</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Generate</span> <span class="pre">doc</span> <span class="pre">for</span> <span class="pre">fab</span> <span class="pre">CLI</span> <span class="pre">commands</span> <span class="pre">(#36672)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/c439ab87c421aaa6bd5d8074780e4f63606a1ef1">c439ab87c4</a></p></td> +<td><p>2024-01-10</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Standardize</span> <span class="pre">airflow</span> <span class="pre">build</span> <span class="pre">process</span> <span class="pre">and</span> <span class="pre">switch</span> <span class="pre">to</span> <span class="pre">Hatchling</span> <span class="pre">build</span> <span class="pre">backend</span> <span class="pre">(#36537)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/28cad7022310e32b82f3ed3410994e4ddb297691">28cad70223</a></p></td> +<td><p>2024-01-03</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Move</span> <span class="pre">config</span> <span class="pre">related</span> <span class="pre">to</span> <span class="pre">FAB</span> <span class="pre">auth</span> <span class="pre">manager</span> <span class="pre">to</span> <span class="pre">FAB</span> <span class="pre">provider</span> <span class="pre">(#36232)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/2093b6f3b94be9fae5d61042a9c280d9a835687b">2093b6f3b9</a></p></td> +<td><p>2024-01-03</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Fix</span> <span class="pre">security</span> <span class="pre">manager</span> <span class="pre">inheritance</span> <span class="pre">in</span> <span class="pre">fab</span> <span class="pre">provider</span> <span class="pre">(#36538)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/dec78ab3f140f35e507de825327652ec24d03522">dec78ab3f1</a></p></td> +<td><p>2024-01-03</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Remove</span> <span class="pre">MSSQL</span> <span class="pre">support</span> <span class="pre">form</span> <span class="pre">Airflow</span> <span class="pre">core</span> <span class="pre">(#36514)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/e28627f6a52db0a300d81cca69fa1450b4d5c312">e28627f6a5</a></p></td> +<td><p>2024-01-02</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Cli</span> <span class="pre">export</span> <span class="pre">/</span> <span class="pre">import</span> <span class="pre">roles</span> <span class="pre">including</span> <span class="pre">permissions</span> <span class="pre">(#36347)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/6937ae76476b3bc869ef912d000bcc94ad642db1">6937ae7647</a></p></td> +<td><p>2023-12-30</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Speed</span> <span class="pre">up</span> <span class="pre">autocompletion</span> <span class="pre">of</span> <span class="pre">Breeze</span> <span class="pre">by</span> <span class="pre">simplifying</span> <span class="pre">provider</span> <span class="pre">state</span> <span class="pre">(#36499)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/83bdc297cebafada88084e270aa3258d781a96be">83bdc297ce</a></p></td> +<td><p>2023-12-30</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">added</span> <span class="pre">cli</span> <span class="pre">command</span> <span class="pre">to</span> <span class="pre">list</span> <span class="pre">auth</span> <span class="pre">managers</span> <span class="pre">under</span> <span class="pre">'airflow</span> <span class="pre">providers'</span> <span class="pre">(#36445)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/341d5b747db78b9be00d5d5dc491e37d413570da">341d5b747d</a></p></td> +<td><p>2023-12-23</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">feture</span> <span class="pre">of</span> <span class="pre">"not-ready"</span> <span class="pre">provider.</span> <span class="pre">(#36391)</span></code></p></td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="id3"> +<h2>1.0.0<a class="headerlink" href="#id3" title="Permalink to this heading">¶</a></h2> +<p>Latest change: 2023-12-23</p> +<table class="docutils align-default"> +<colgroup> +<col style="width: 51%" /> +<col style="width: 6%" /> +<col style="width: 43%" /> +</colgroup> +<thead> +<tr class="row-odd"><th class="head"><p>Commit</p></th> +<th class="head"><p>Committed</p></th> +<th class="head"><p>Subject</p></th> +</tr> +</thead> +<tbody> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/b15d5578dac73c4c6a3ca94d90ab0dc9e9e74c9c">b15d5578da</a></p></td> +<td><p>2023-12-23</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Re-apply</span> <span class="pre">updated</span> <span class="pre">version</span> <span class="pre">numbers</span> <span class="pre">to</span> <span class="pre">2nd</span> <span class="pre">wave</span> <span class="pre">of</span> <span class="pre">providers</span> <span class="pre">in</span> <span class="pre">December</span> <span class="pre">(#36380)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/2be71495981a157ca0303c7e563916e219b15eb3">2be7149598</a></p></td> +<td><p>2023-12-21</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">fix</span> <span class="pre">inheritance</span> <span class="pre">checking</span> <span class="pre">of</span> <span class="pre">security</span> <span class="pre">manager</span> <span class="pre">in</span> <span class="pre">FabAuthManager</span> <span class="pre">(#36343)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/e9ba37bb58da0e3d6739ec063f7160f50487d3b8">e9ba37bb58</a></p></td> +<td><p>2023-12-17</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Add</span> <span class="pre">code</span> <span class="pre">snippet</span> <span class="pre">formatting</span> <span class="pre">in</span> <span class="pre">docstrings</span> <span class="pre">via</span> <span class="pre">Ruff</span> <span class="pre">(#36262)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/f7f71836175b81484fe6afb147a58e1ca6d00f4d">f7f7183617</a></p></td> +<td><p>2023-12-17</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Update</span> <span class="pre">permission</span> <span class="pre">docs</span> <span class="pre">(#36120)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/4d96a9a3a1bcf099856051e51bc328afbf558da6">4d96a9a3a1</a></p></td> +<td><p>2023-12-13</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Remove</span> <span class="pre">dependency</span> <span class="pre">of</span> <span class="pre">'Connexion'</span> <span class="pre">from</span> <span class="pre">auth</span> <span class="pre">manager</span> <span class="pre">interface</span> <span class="pre">(#36209)</span></code></p></td> +</tr> +<tr class="row-odd"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/357355ac09b4741d621a5408d859b697a07b3ceb">357355ac09</a></p></td> +<td><p>2023-12-11</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Remove</span> <span class="pre">'is_authorized_cluster_activity'</span> <span class="pre">from</span> <span class="pre">auth</span> <span class="pre">manager</span> <span class="pre">(#36175)</span></code></p></td> +</tr> +<tr class="row-even"><td><p><a class="reference external" href="https://github.com/apache/airflow/commit/1eca667e5f0dd3a8e16020152f597b781e1f34d6">1eca667e5f</a></p></td> +<td><p>2023-12-11</p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">Create</span> <span class="pre">FAB</span> <span class="pre">provider</span> <span class="pre">and</span> <span class="pre">move</span> <span class="pre">FAB</span> <span class="pre">auth</span> <span class="pre">manager</span> <span class="pre">in</span> <span class="pre">it</span> <span class="pre">(#35926)</span></code></p></td> +</tr> +</tbody> +</table> +</div> </div> @@ -688,7 +916,12 @@ <nav class="wy-nav-side-toc"> <div class="wy-menu-vertical"> <ul> -<li><a class="reference internal" href="#">Package apache-airflow-providers-fab</a></li> +<li><a class="reference internal" href="#">Package apache-airflow-providers-fab</a><ul> +<li><a class="reference internal" href="#id1">1.0.2</a></li> +<li><a class="reference internal" href="#id2">1.0.1</a></li> +<li><a class="reference internal" href="#id3">1.0.0</a></li> +</ul> +</li> </ul> </div> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/genindex.html b/docs-archive/apache-airflow-providers-fab/1.0.2/genindex.html index e357a1793c..ad1c624aa6 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/genindex.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/genindex.html @@ -1038,6 +1038,8 @@ <li><a href="_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_ldap_username_format">auth_ldap_username_format (airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride property)</a> </li> <li><a href="_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_rate_limit">auth_rate_limit (airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride property)</a> +</li> + <li><a href="_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_remote_user_env_var">auth_remote_user_env_var (airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride property)</a> </li> <li><a href="_api/airflow/providers/fab/auth_manager/security_manager/override/index.html#airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride.auth_role_admin">auth_role_admin (airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride property)</a> </li> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/index.html b/docs-archive/apache-airflow-providers-fab/1.0.2/index.html index ed0ea35665..b1460a725a 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/index.html +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/index.html @@ -624,21 +624,21 @@ </div> <div class="toctree-wrapper compound"> </div> -<div class="section" id="package-apache-airflow-providers-fab"> -<h2>Package apache-airflow-providers-fab<a class="headerlink" href="#package-apache-airflow-providers-fab" title="Permalink to this heading">¶</a></h2> +<div class="section" id="apache-airflow-providers-fab-package"> +<h2>apache-airflow-providers-fab package<a class="headerlink" href="#apache-airflow-providers-fab-package" title="Permalink to this heading">¶</a></h2> <p><a class="reference external" href="https://flask-appbuilder.readthedocs.io/">Flask App Builder</a></p> -<p>Release: 1.0.0</p> +<p>Release: 1.0.2</p> </div> <div class="section" id="provider-package"> <h2>Provider package<a class="headerlink" href="#provider-package" title="Permalink to this heading">¶</a></h2> -<p>This is a provider package for <code class="docutils literal notranslate"><span class="pre">fab</span></code> provider. All classes for this provider package -are in <code class="docutils literal notranslate"><span class="pre">airflow.providers.fab</span></code> python package.</p> +<p>This package is for the <code class="docutils literal notranslate"><span class="pre">fab</span></code> provider. +All classes for this package are included in the <code class="docutils literal notranslate"><span class="pre">airflow.providers.fab</span></code> python package.</p> </div> <div class="section" id="installation"> <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading">¶</a></h2> -<p>You can install this package on top of an existing Airflow 2 installation (see <code class="docutils literal notranslate"><span class="pre">Requirements</span></code> below) -for the minimum Airflow version supported) via -<code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">apache-airflow-providers-fab</span></code></p> +<p>You can install this package on top of an existing Airflow 2 installation via +<code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">apache-airflow-providers-fab</span></code>. +For the minimum Airflow version supported, see <code class="docutils literal notranslate"><span class="pre">Requirements</span></code> below.</p> </div> <div class="section" id="requirements"> <h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this heading">¶</a></h2> @@ -661,7 +661,7 @@ for the minimum Airflow version supported) via <td><p><code class="docutils literal notranslate"><span class="pre">>=2.2,<2.3</span></code></p></td> </tr> <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">flask-appbuilder</span></code></p></td> -<td><p><code class="docutils literal notranslate"><span class="pre">==4.3.10</span></code></p></td> +<td><p><code class="docutils literal notranslate"><span class="pre">==4.4.1</span></code></p></td> </tr> <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">flask-login</span></code></p></td> <td><p><code class="docutils literal notranslate"><span class="pre">>=0.6.2</span></code></p></td> @@ -747,7 +747,7 @@ for the minimum Airflow version supported) via <div class="wy-menu-vertical"> <ul> <li><a class="reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">apache-airflow-providers-fab</span></code></a><ul> -<li><a class="reference internal" href="#package-apache-airflow-providers-fab">Package apache-airflow-providers-fab</a></li> +<li><a class="reference internal" href="#apache-airflow-providers-fab-package">apache-airflow-providers-fab package</a></li> <li><a class="reference internal" href="#provider-package">Provider package</a></li> <li><a class="reference internal" href="#installation">Installation</a></li> <li><a class="reference internal" href="#requirements">Requirements</a></li> diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/objects.inv b/docs-archive/apache-airflow-providers-fab/1.0.2/objects.inv index dae378a49e..f40c9d8835 100644 Binary files a/docs-archive/apache-airflow-providers-fab/1.0.2/objects.inv and b/docs-archive/apache-airflow-providers-fab/1.0.2/objects.inv differ diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/searchindex.js b/docs-archive/apache-airflow-providers-fab/1.0.2/searchindex.js index 45708d7096..83d12fac2a 100644 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/searchindex.js +++ b/docs-archive/apache-airflow-providers-fab/1.0.2/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["_api/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth/index", "_api/airflow/providers/fab/auth_manager/api/auth/backend/index", "_api/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth/index", "_api/airflow/providers/fab/auth_manager/api/auth/index", "_api/airflow/providers/fab/auth_manager/api/index", "_api/airflow/providers/fab/auth_manager/api_endpoints/index", "_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_p [...] \ No newline at end of file +Search.setIndex({"docnames": ["_api/airflow/providers/fab/auth_manager/api/auth/backend/basic_auth/index", "_api/airflow/providers/fab/auth_manager/api/auth/backend/index", "_api/airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth/index", "_api/airflow/providers/fab/auth_manager/api/auth/index", "_api/airflow/providers/fab/auth_manager/api/index", "_api/airflow/providers/fab/auth_manager/api_endpoints/index", "_api/airflow/providers/fab/auth_manager/api_endpoints/role_and_p [...] \ No newline at end of file diff --git a/docs-archive/apache-airflow-providers-fab/1.0.2/security/security-model.html b/docs-archive/apache-airflow-providers-fab/1.0.2/security/security-model.html deleted file mode 100644 index 9a36716bcb..0000000000 --- a/docs-archive/apache-airflow-providers-fab/1.0.2/security/security-model.html +++ /dev/null @@ -1 +0,0 @@ -<html><head><meta http-equiv="refresh" content="0; url=../security.html"/></head></html> \ No newline at end of file diff --git a/landing-pages/site/content/en/docs/_index.md b/landing-pages/site/content/en/docs/_index.md index c5e245e975..1286b7ecda 100644 --- a/landing-pages/site/content/en/docs/_index.md +++ b/landing-pages/site/content/en/docs/_index.md @@ -95,6 +95,8 @@ Providers packages include integrations with third party projects. They are vers <li><a href="/docs/apache-airflow-providers-exasol/stable/index.html"><code>Exasol</code></a></li> + <li><a href="/docs/apache-airflow-providers-fab/stable/index.html"><code>FAB (Flask-AppBuilder)</code></a></li> + <li><a href="/docs/apache-airflow-providers-facebook/stable/index.html"><code>Facebook</code></a></li> <li><a href="/docs/apache-airflow-providers-ftp/stable/index.html"><code>File Transfer Protocol (FTP)</code></a></li>
